releaf-core 1.1.21 → 2.1.1

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 (495) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/releaf_core_manifest.js +3 -0
  3. data/app/assets/images/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  4. data/app/assets/images/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  5. data/app/assets/images/ckeditor/plugins/flash/images/placeholder.png +0 -0
  6. data/app/assets/images/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  7. data/app/assets/images/ckeditor/plugins/icons.png +0 -0
  8. data/app/assets/images/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  9. data/app/assets/images/ckeditor/plugins/image/images/noimage.png +0 -0
  10. data/app/assets/images/ckeditor/plugins/link/images/anchor.png +0 -0
  11. data/app/assets/images/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  12. data/app/assets/images/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  13. data/app/assets/images/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  14. data/app/assets/images/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  15. data/app/assets/images/ckeditor/plugins/magicline/images/icon.png +0 -0
  16. data/app/assets/images/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  17. data/app/assets/images/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  18. data/app/assets/images/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  19. data/app/assets/images/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  20. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  21. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  22. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  23. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  24. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  25. data/app/assets/images/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  26. data/app/assets/images/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  27. data/app/assets/images/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  28. data/app/assets/images/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  29. data/app/assets/images/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  30. data/app/assets/images/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  31. data/app/assets/images/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  32. data/app/assets/images/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  33. data/app/assets/images/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  34. data/app/assets/images/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  35. data/app/assets/images/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  36. data/app/assets/images/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  37. data/app/assets/images/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  38. data/app/assets/images/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  39. data/app/assets/images/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  40. data/app/assets/images/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  41. data/app/assets/images/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  42. data/app/assets/images/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  43. data/app/assets/images/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  44. data/app/assets/images/ckeditor/plugins/smiley/images/envelope.png +0 -0
  45. data/app/assets/images/ckeditor/plugins/smiley/images/heart.gif +0 -0
  46. data/app/assets/images/ckeditor/plugins/smiley/images/heart.png +0 -0
  47. data/app/assets/images/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  48. data/app/assets/images/ckeditor/plugins/smiley/images/kiss.png +0 -0
  49. data/app/assets/images/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  50. data/app/assets/images/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  51. data/app/assets/images/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  52. data/app/assets/images/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  53. data/app/assets/images/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  54. data/app/assets/images/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  55. data/app/assets/images/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  56. data/app/assets/images/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  57. data/app/assets/images/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  58. data/app/assets/images/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  59. data/app/assets/images/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  60. data/app/assets/images/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  61. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  62. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  63. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  64. data/app/assets/images/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  65. data/app/assets/images/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  66. data/app/assets/images/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  67. data/app/assets/images/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  68. data/app/assets/images/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  69. data/app/assets/images/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  70. data/app/assets/images/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  71. data/app/assets/images/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  72. data/app/assets/images/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  73. data/app/assets/images/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  74. data/app/assets/images/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  75. data/app/assets/images/ckeditor/plugins/widget/images/handle.png +0 -0
  76. data/app/assets/images/ckeditor/skins/moono-lisa/icons.png +0 -0
  77. data/app/assets/images/ckeditor/skins/moono-lisa/icons_hidpi.png +0 -0
  78. data/app/assets/images/ckeditor/skins/moono-lisa/images/arrow.png +0 -0
  79. data/app/assets/images/ckeditor/skins/moono-lisa/images/close.png +0 -0
  80. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/close.png +0 -0
  81. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png +0 -0
  82. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/lock.png +0 -0
  83. data/app/assets/images/ckeditor/skins/moono-lisa/images/hidpi/refresh.png +0 -0
  84. data/app/assets/images/ckeditor/skins/moono-lisa/images/lock-open.png +0 -0
  85. data/app/assets/images/ckeditor/skins/moono-lisa/images/lock.png +0 -0
  86. data/app/assets/images/ckeditor/skins/moono-lisa/images/refresh.png +0 -0
  87. data/app/assets/images/ckeditor/skins/moono-lisa/images/spinner.gif +0 -0
  88. data/app/assets/javascripts/ckeditor-jquery.js +3 -0
  89. data/app/assets/javascripts/ckeditor/CHANGES.md +1637 -0
  90. data/app/assets/javascripts/ckeditor/LICENSE.md +1420 -0
  91. data/app/assets/javascripts/ckeditor/README.md +39 -0
  92. data/app/assets/javascripts/ckeditor/basepath.js.erb +6 -0
  93. data/app/assets/javascripts/ckeditor/build-config.js +190 -0
  94. data/app/assets/javascripts/ckeditor/ckeditor.js +1331 -0
  95. data/app/assets/javascripts/ckeditor/config.js +10 -0
  96. data/app/assets/javascripts/ckeditor/jquery.js +10 -0
  97. data/app/assets/javascripts/ckeditor/lang/af.js +5 -0
  98. data/app/assets/javascripts/ckeditor/lang/ar.js +5 -0
  99. data/app/assets/javascripts/ckeditor/lang/az.js +5 -0
  100. data/app/assets/javascripts/ckeditor/lang/bg.js +5 -0
  101. data/app/assets/javascripts/ckeditor/lang/bn.js +5 -0
  102. data/app/assets/javascripts/ckeditor/lang/bs.js +5 -0
  103. data/app/assets/javascripts/ckeditor/lang/ca.js +5 -0
  104. data/app/assets/javascripts/ckeditor/lang/cs.js +5 -0
  105. data/app/assets/javascripts/ckeditor/lang/cy.js +5 -0
  106. data/app/assets/javascripts/ckeditor/lang/da.js +5 -0
  107. data/app/assets/javascripts/ckeditor/lang/de-ch.js +5 -0
  108. data/app/assets/javascripts/ckeditor/lang/de.js +5 -0
  109. data/app/assets/javascripts/ckeditor/lang/el.js +5 -0
  110. data/app/assets/javascripts/ckeditor/lang/en-au.js +5 -0
  111. data/app/assets/javascripts/ckeditor/lang/en-ca.js +5 -0
  112. data/app/assets/javascripts/ckeditor/lang/en-gb.js +5 -0
  113. data/app/assets/javascripts/ckeditor/lang/en.js +5 -0
  114. data/app/assets/javascripts/ckeditor/lang/eo.js +5 -0
  115. data/app/assets/javascripts/ckeditor/lang/es-mx.js +5 -0
  116. data/app/assets/javascripts/ckeditor/lang/es.js +5 -0
  117. data/app/assets/javascripts/ckeditor/lang/et.js +5 -0
  118. data/app/assets/javascripts/ckeditor/lang/eu.js +5 -0
  119. data/app/assets/javascripts/ckeditor/lang/fa.js +5 -0
  120. data/app/assets/javascripts/ckeditor/lang/fi.js +5 -0
  121. data/app/assets/javascripts/ckeditor/lang/fo.js +5 -0
  122. data/app/assets/javascripts/ckeditor/lang/fr-ca.js +5 -0
  123. data/app/assets/javascripts/ckeditor/lang/fr.js +5 -0
  124. data/app/assets/javascripts/ckeditor/lang/gl.js +5 -0
  125. data/app/assets/javascripts/ckeditor/lang/gu.js +5 -0
  126. data/app/assets/javascripts/ckeditor/lang/he.js +5 -0
  127. data/app/assets/javascripts/ckeditor/lang/hi.js +5 -0
  128. data/app/assets/javascripts/ckeditor/lang/hr.js +5 -0
  129. data/app/assets/javascripts/ckeditor/lang/hu.js +5 -0
  130. data/app/assets/javascripts/ckeditor/lang/id.js +5 -0
  131. data/app/assets/javascripts/ckeditor/lang/is.js +5 -0
  132. data/app/assets/javascripts/ckeditor/lang/it.js +5 -0
  133. data/app/assets/javascripts/ckeditor/lang/ja.js +5 -0
  134. data/app/assets/javascripts/ckeditor/lang/ka.js +5 -0
  135. data/app/assets/javascripts/ckeditor/lang/km.js +5 -0
  136. data/app/assets/javascripts/ckeditor/lang/ko.js +5 -0
  137. data/app/assets/javascripts/ckeditor/lang/ku.js +5 -0
  138. data/app/assets/javascripts/ckeditor/lang/lt.js +5 -0
  139. data/app/assets/javascripts/ckeditor/lang/lv.js +5 -0
  140. data/app/assets/javascripts/ckeditor/lang/mk.js +5 -0
  141. data/app/assets/javascripts/ckeditor/lang/mn.js +5 -0
  142. data/app/assets/javascripts/ckeditor/lang/ms.js +5 -0
  143. data/app/assets/javascripts/ckeditor/lang/nb.js +5 -0
  144. data/app/assets/javascripts/ckeditor/lang/nl.js +5 -0
  145. data/app/assets/javascripts/ckeditor/lang/no.js +5 -0
  146. data/app/assets/javascripts/ckeditor/lang/oc.js +5 -0
  147. data/app/assets/javascripts/ckeditor/lang/pl.js +5 -0
  148. data/app/assets/javascripts/ckeditor/lang/pt-br.js +5 -0
  149. data/app/assets/javascripts/ckeditor/lang/pt.js +5 -0
  150. data/app/assets/javascripts/ckeditor/lang/ro.js +5 -0
  151. data/app/assets/javascripts/ckeditor/lang/ru.js +5 -0
  152. data/app/assets/javascripts/ckeditor/lang/si.js +5 -0
  153. data/app/assets/javascripts/ckeditor/lang/sk.js +5 -0
  154. data/app/assets/javascripts/ckeditor/lang/sl.js +5 -0
  155. data/app/assets/javascripts/ckeditor/lang/sq.js +5 -0
  156. data/app/assets/javascripts/ckeditor/lang/sr-latn.js +5 -0
  157. data/app/assets/javascripts/ckeditor/lang/sr.js +5 -0
  158. data/app/assets/javascripts/ckeditor/lang/sv.js +5 -0
  159. data/app/assets/javascripts/ckeditor/lang/th.js +5 -0
  160. data/app/assets/javascripts/ckeditor/lang/tr.js +5 -0
  161. data/app/assets/javascripts/ckeditor/lang/tt.js +5 -0
  162. data/app/assets/javascripts/ckeditor/lang/ug.js +5 -0
  163. data/app/assets/javascripts/ckeditor/lang/uk.js +5 -0
  164. data/app/assets/javascripts/ckeditor/lang/vi.js +5 -0
  165. data/app/assets/javascripts/ckeditor/lang/zh-cn.js +5 -0
  166. data/app/assets/javascripts/ckeditor/lang/zh.js +5 -0
  167. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  168. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +11 -0
  169. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +11 -0
  170. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +11 -0
  171. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +11 -0
  172. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +13 -0
  173. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +12 -0
  174. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
  175. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
  176. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +12 -0
  177. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +13 -0
  178. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +13 -0
  179. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +11 -0
  180. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +11 -0
  181. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +11 -0
  182. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +13 -0
  183. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +13 -0
  184. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +13 -0
  185. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
  186. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +12 -0
  187. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
  188. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +11 -0
  189. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +11 -0
  190. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +11 -0
  191. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +13 -0
  192. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
  193. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +11 -0
  194. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
  195. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +11 -0
  196. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
  197. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +12 -0
  198. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
  199. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +13 -0
  200. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  201. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +11 -0
  202. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +10 -0
  203. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +11 -0
  204. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +11 -0
  205. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +12 -0
  206. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +11 -0
  207. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +11 -0
  208. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +12 -0
  209. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +12 -0
  210. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +11 -0
  211. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +12 -0
  212. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
  213. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +13 -0
  214. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
  215. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +12 -0
  216. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
  217. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
  218. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +11 -0
  219. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +11 -0
  220. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +12 -0
  221. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +11 -0
  222. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +11 -0
  223. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +11 -0
  224. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +11 -0
  225. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
  226. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +11 -0
  227. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +12 -0
  228. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
  229. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
  230. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
  231. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +9 -0
  232. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +8 -0
  233. data/app/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  234. data/app/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +14 -0
  235. data/app/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  236. data/app/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -0
  237. data/app/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +25 -0
  238. data/app/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +24 -0
  239. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +8 -0
  240. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +9 -0
  241. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
  242. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +7 -0
  243. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +9 -0
  244. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +21 -0
  245. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
  246. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +11 -0
  247. data/app/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
  248. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +44 -0
  249. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +8 -0
  250. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +30 -0
  251. data/app/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
  252. data/app/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +55 -0
  253. data/app/assets/javascripts/ckeditor/plugins/preview/preview.html +13 -0
  254. data/app/assets/javascripts/ckeditor/plugins/scayt/CHANGELOG.md +20 -0
  255. data/app/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +28 -0
  256. data/app/assets/javascripts/ckeditor/plugins/scayt/README.md +25 -0
  257. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +32 -0
  258. data/app/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +11 -0
  259. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/af.js +13 -0
  260. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  261. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/az.js +10 -0
  262. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  263. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  264. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  265. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  266. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/da.js +11 -0
  267. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +13 -0
  268. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  269. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  270. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +13 -0
  271. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +13 -0
  272. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +13 -0
  273. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  274. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  275. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +13 -0
  276. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  277. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  278. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eu.js +13 -0
  279. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  280. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  281. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  282. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +12 -0
  283. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  284. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  285. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  286. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  287. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  288. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  289. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  290. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
  291. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ko.js +10 -0
  292. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  293. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lt.js +13 -0
  294. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  295. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  296. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  297. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  298. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/oc.js +12 -0
  299. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  300. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  301. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  302. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ro.js +13 -0
  303. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  304. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  305. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  306. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  307. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  308. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  309. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  310. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  311. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tt.js +13 -0
  312. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  313. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  314. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  315. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  316. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh.js +9 -0
  317. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  318. data/app/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +21 -0
  319. data/app/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +18 -0
  320. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +10 -0
  321. data/app/assets/javascripts/ckeditor/plugins/templates/templates/default.js +7 -0
  322. data/app/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +28 -0
  323. data/app/assets/javascripts/ckeditor/plugins/wsc/README.md +25 -0
  324. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  325. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  326. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +91 -0
  327. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  328. data/app/assets/javascripts/ckeditor/styles.js +137 -0
  329. data/app/assets/javascripts/releaf/include/remote_validator.js +1 -1
  330. data/app/assets/javascripts/releaf/include/store_settings.js +2 -2
  331. data/app/assets/javascripts/releaf/include/url_builder.js +130 -130
  332. data/app/assets/stylesheets/ckeditor/contents.css +208 -0
  333. data/app/assets/stylesheets/ckeditor/plugins/colordialog/dialogs/colordialog.css +20 -0
  334. data/app/assets/stylesheets/ckeditor/plugins/copyformatting/styles/copyformatting.css +45 -0
  335. data/app/assets/stylesheets/ckeditor/plugins/scayt/dialogs/dialog.css +23 -0
  336. data/app/assets/stylesheets/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  337. data/app/assets/stylesheets/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +25 -0
  338. data/app/assets/stylesheets/ckeditor/plugins/tableselection/styles/tableselection.css +36 -0
  339. data/app/assets/stylesheets/ckeditor/plugins/templates/dialogs/templates.css +84 -0
  340. data/app/assets/stylesheets/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  341. data/app/assets/stylesheets/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css +43 -0
  342. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog.css +5 -0
  343. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog_ie.css +5 -0
  344. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog_ie8.css +5 -0
  345. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/dialog_iequirks.css +5 -0
  346. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor.css +5 -0
  347. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_gecko.css +5 -0
  348. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_ie.css +5 -0
  349. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_ie8.css +5 -0
  350. data/app/assets/stylesheets/ckeditor/skins/moono-lisa/editor_iequirks.css +5 -0
  351. data/app/builders/releaf/builders.rb +4 -1
  352. data/app/builders/releaf/builders/base.rb +1 -1
  353. data/app/builders/releaf/builders/form_builder/associations.rb +1 -1
  354. data/app/builders/releaf/builders/page/layout_builder.rb +1 -1
  355. data/app/builders/releaf/builders/pagination_builder.rb +1 -1
  356. data/app/builders/releaf/builders/table_builder.rb +0 -1
  357. data/app/controllers/releaf/action_controller.rb +2 -2
  358. data/app/controllers/releaf/root_controller.rb +9 -7
  359. data/app/helpers/releaf/application_helper.rb +2 -2
  360. data/app/lib/releaf/action_controller/features.rb +1 -6
  361. data/app/lib/releaf/build_errors_hash.rb +12 -12
  362. data/app/lib/releaf/responders.rb +0 -1
  363. data/app/lib/releaf/search.rb +5 -18
  364. data/app/models/releaf/settings.rb +1 -1
  365. data/app/views/releaf/action/create_releaf_richtext_attachment.haml +2 -1
  366. data/app/views/releaf/error_pages/access_denied.html.haml +1 -1
  367. data/lib/generators/dummy/install_generator.rb +2 -1
  368. data/lib/generators/dummy/templates/assets/config/manifest.js +3 -0
  369. data/lib/generators/dummy/templates/controllers/application_controller.rb +1 -1
  370. data/lib/generators/dummy/templates/migrations/create_authors.rb +1 -1
  371. data/lib/generators/dummy/templates/migrations/create_banner_groups.rb +1 -1
  372. data/lib/generators/dummy/templates/migrations/create_banner_pages.rb +2 -2
  373. data/lib/generators/dummy/templates/migrations/create_banners.rb +2 -2
  374. data/lib/generators/dummy/templates/migrations/create_book_sequels.rb +1 -1
  375. data/lib/generators/dummy/templates/migrations/create_books.rb +1 -1
  376. data/lib/generators/dummy/templates/migrations/create_bundles.rb +1 -1
  377. data/lib/generators/dummy/templates/migrations/create_chapters.rb +1 -1
  378. data/lib/generators/dummy/templates/migrations/create_home_pages.rb +1 -1
  379. data/lib/generators/dummy/templates/migrations/create_node_extra_fields.rb +1 -1
  380. data/lib/generators/dummy/templates/migrations/create_other_nodes.rb +1 -1
  381. data/lib/generators/dummy/templates/migrations/create_publishers.rb +1 -1
  382. data/lib/generators/dummy/templates/migrations/create_text_pages.rb +1 -1
  383. data/lib/generators/dummy/templates/models/author.rb +1 -1
  384. data/lib/generators/dummy/templates/models/banner.rb +1 -1
  385. data/lib/generators/dummy/templates/models/banner_group.rb +1 -1
  386. data/lib/generators/dummy/templates/models/book.rb +1 -1
  387. data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +1 -1
  388. data/lib/generators/releaf/templates/migrations/create_releaf_permissions.rb +1 -1
  389. data/lib/generators/releaf/templates/migrations/create_releaf_richtext_attachments.rb +1 -1
  390. data/lib/generators/releaf/templates/migrations/create_releaf_roles.rb +1 -1
  391. data/lib/generators/releaf/templates/migrations/create_releaf_settings.rb +1 -1
  392. data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +1 -1
  393. data/lib/generators/releaf/templates/migrations/create_releaf_users.rb +1 -1
  394. data/lib/releaf-core.rb +1 -2
  395. data/lib/releaf/engine.rb +2 -3
  396. data/lib/releaf/rails_ext/globalize-accessors.rb +64 -0
  397. data/lib/releaf/rails_ext/validation_error_codes.rb +0 -36
  398. metadata +420 -222
  399. data/app/lib/releaf/responders/feature_disabled_responder.rb +0 -9
  400. data/app/views/releaf/error_pages/feature_disabled.html.haml +0 -1
  401. data/spec/builders/releaf/builders/association_reflector_spec.rb +0 -138
  402. data/spec/builders/releaf/builders/base_spec.rb +0 -272
  403. data/spec/builders/releaf/builders/collection_spec.rb +0 -18
  404. data/spec/builders/releaf/builders/confirm_destroy_dialog_builder_spec.rb +0 -71
  405. data/spec/builders/releaf/builders/confirm_dialog_builder_spec.rb +0 -107
  406. data/spec/builders/releaf/builders/edit_builder_spec.rb +0 -322
  407. data/spec/builders/releaf/builders/form_builder/associations_spec.rb +0 -129
  408. data/spec/builders/releaf/builders/form_builder/date_fields_spec.rb +0 -86
  409. data/spec/builders/releaf/builders/form_builder/i18n_fields_spec.rb +0 -48
  410. data/spec/builders/releaf/builders/form_builder/label_spec.rb +0 -106
  411. data/spec/builders/releaf/builders/form_builder/number_fields_spec.rb +0 -37
  412. data/spec/builders/releaf/builders/form_builder_spec.rb +0 -228
  413. data/spec/builders/releaf/builders/index_builder_spec.rb +0 -364
  414. data/spec/builders/releaf/builders/page/header_builder_spec.rb +0 -65
  415. data/spec/builders/releaf/builders/page/layout_builder_spec.rb +0 -237
  416. data/spec/builders/releaf/builders/page/menu_builder_spec.rb +0 -345
  417. data/spec/builders/releaf/builders/pagination_builder_spec.rb +0 -330
  418. data/spec/builders/releaf/builders/resource_dialog_spec.rb +0 -21
  419. data/spec/builders/releaf/builders/resource_view_spec.rb +0 -158
  420. data/spec/builders/releaf/builders/show_builder_spec.rb +0 -7
  421. data/spec/builders/releaf/builders/table_builder_spec.rb +0 -637
  422. data/spec/builders/releaf/builders/template_spec.rb +0 -12
  423. data/spec/builders/releaf/builders/toolbox_builder_spec.rb +0 -67
  424. data/spec/builders/releaf/builders/toolbox_spec.rb +0 -48
  425. data/spec/builders/releaf/builders/utilities/date_fields_spec.rb +0 -125
  426. data/spec/builders/releaf/builders/utilities/resolve_attribute_field_method_name_spec.rb +0 -318
  427. data/spec/builders/releaf/builders/view_spec.rb +0 -281
  428. data/spec/builders/releaf/builders_spec.rb +0 -134
  429. data/spec/builders/releaf/settings/form_builder_spec.rb +0 -48
  430. data/spec/builders/releaf/settings/table_builder_spec.rb +0 -23
  431. data/spec/controllers/concerns/releaf/richtext_attachments_spec.rb +0 -51
  432. data/spec/controllers/releaf/action_controller_spec.rb +0 -423
  433. data/spec/controllers/releaf/root_controller_spec.rb +0 -45
  434. data/spec/controllers/releaf/settings_controller_spec.rb +0 -52
  435. data/spec/error_hash_builder_spec.rb +0 -83
  436. data/spec/ext/array_reorder_spec.rb +0 -12
  437. data/spec/features/ajaxbox_spec.rb +0 -111
  438. data/spec/features/authorization_spec.rb +0 -50
  439. data/spec/features/breadcrumbs_spec.rb +0 -16
  440. data/spec/features/dragonfly_integration_spec.rb +0 -24
  441. data/spec/features/edit_actions_spec.rb +0 -186
  442. data/spec/features/errors_spec.rb +0 -47
  443. data/spec/features/index_actions_spec.rb +0 -85
  444. data/spec/features/index_table_spec.rb +0 -35
  445. data/spec/features/menu_spec.rb +0 -71
  446. data/spec/features/richtext_attachments_spec.rb +0 -64
  447. data/spec/features/richtext_custom_config_spec.rb +0 -28
  448. data/spec/features/richtext_embed_spec.rb +0 -29
  449. data/spec/features/richtext_spec.rb +0 -31
  450. data/spec/features/search_spec.rb +0 -825
  451. data/spec/features/settings_spec.rb +0 -70
  452. data/spec/features/title_spec.rb +0 -13
  453. data/spec/fixtures/common_fields.yml +0 -17
  454. data/spec/fixtures/cs.png +0 -0
  455. data/spec/fixtures/time.formats.xlsx +0 -0
  456. data/spec/fixtures/unicorn.jpg +0 -0
  457. data/spec/helpers/application_helper_spec.rb +0 -73
  458. data/spec/helpers/button_helper_spec.rb +0 -146
  459. data/spec/lib/releaf/action_controller/features_spec.rb +0 -171
  460. data/spec/lib/releaf/action_controller/search_spec.rb +0 -84
  461. data/spec/lib/releaf/application_spec.rb +0 -43
  462. data/spec/lib/releaf/assets_resolver_spec.rb +0 -130
  463. data/spec/lib/releaf/build_errors_hash_spec.rb +0 -141
  464. data/spec/lib/releaf/configuration_spec.rb +0 -205
  465. data/spec/lib/releaf/controller_definition_spec.rb +0 -78
  466. data/spec/lib/releaf/controller_group_definition_spec.rb +0 -33
  467. data/spec/lib/releaf/default_searchable_fields_spec.rb +0 -161
  468. data/spec/lib/releaf/instance_cache_spec.rb +0 -98
  469. data/spec/lib/releaf/resource_base_spec.rb +0 -212
  470. data/spec/lib/releaf/resource_fields_spec.rb +0 -12
  471. data/spec/lib/releaf/resource_params_spec.rb +0 -115
  472. data/spec/lib/releaf/resource_table_fields_spec.rb +0 -20
  473. data/spec/lib/releaf/resource_utilities_spec.rb +0 -87
  474. data/spec/lib/releaf/responders/access_denied_responder_spec.rb +0 -12
  475. data/spec/lib/releaf/responders/after_save_responder_spec.rb +0 -88
  476. data/spec/lib/releaf/responders/confirm_destroy_responder_spec.rb +0 -26
  477. data/spec/lib/releaf/responders/destroy_responder_spec.rb +0 -30
  478. data/spec/lib/releaf/responders/error_responder_spec.rb +0 -26
  479. data/spec/lib/releaf/responders/feature_disabled_responder_spec.rb +0 -12
  480. data/spec/lib/releaf/responders/page_not_found_responder_spec.rb +0 -12
  481. data/spec/lib/releaf/responders_spec.rb +0 -60
  482. data/spec/lib/releaf/root/configuration_spec.rb +0 -9
  483. data/spec/lib/releaf/root/default_controller_resolver_spec.rb +0 -44
  484. data/spec/lib/releaf/root_spec.rb +0 -13
  485. data/spec/lib/releaf/service_spec.rb +0 -20
  486. data/spec/lib/releaf/settings/normalize_value_spec.rb +0 -103
  487. data/spec/lib/releaf/settings/register_spec.rb +0 -135
  488. data/spec/lib/releaf/settings_manager_spec.rb +0 -22
  489. data/spec/lib/validation_error_codes_spec.rb +0 -56
  490. data/spec/misc/factories_spec.rb +0 -31
  491. data/spec/models/settings_spec.rb +0 -100
  492. data/spec/routing/route_mapper_spec.rb +0 -185
  493. data/spec/rspec_helpers/test_helpers_spec.rb +0 -20
  494. data/spec/rspec_helpers/test_spec.rb +0 -14
  495. data/spec/services/array/reorder_spec.rb +0 -121
@@ -1,12 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::Builders::Template, type: :module do
4
- class TemplateClassIncluder
5
- include Releaf::Builders::Template
6
- end
7
-
8
- it "it assigns template argument to instance 'template' accessor on initialization" do
9
- subject = TemplateClassIncluder.new("x")
10
- expect(subject.template).to eq("x")
11
- end
12
- end
@@ -1,67 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::Builders::ToolboxBuilder, type: :class do
4
- class ToolboxBuilderTestHelper < ActionView::Base
5
- include Releaf::ButtonHelper
6
- include Releaf::ApplicationHelper
7
- end
8
-
9
- subject { described_class.new(template) }
10
- let(:template){ ToolboxBuilderTestHelper.new }
11
-
12
- it "includes Releaf::Builders::Base" do
13
- expect(described_class.ancestors).to include(Releaf::Builders::Base)
14
- end
15
-
16
- it "includes Releaf::Builders::Template" do
17
- expect(described_class.ancestors).to include(Releaf::Builders::Template)
18
- end
19
-
20
- it "includes Releaf::Builders::Resource" do
21
- expect(described_class.ancestors).to include(Releaf::Builders::Resource)
22
- end
23
-
24
- describe "#output" do
25
- it "returns safely joined items" do
26
- allow(subject).to receive(:items).and_return([ '<', ActiveSupport::SafeBuffer.new(">")])
27
- expect(subject.output).to eq("<li>&lt;</li><li>></li>")
28
- end
29
- end
30
-
31
- describe "#items" do
32
- before{ allow(subject).to receive(:destroy_confirmation_link).and_return("x") }
33
-
34
- context "when no destroy feature is available" do
35
- it "returns array with destroy button html" do
36
- allow(subject).to receive(:feature_available?).with(:destroy).and_return(true)
37
- expect(subject.items).to eq(["x"])
38
- end
39
- end
40
-
41
- context "when destroy feature is not available" do
42
- it "returns empty array" do
43
- allow(subject).to receive(:feature_available?).with(:destroy).and_return(false)
44
- expect(subject.items).to eq([])
45
- end
46
- end
47
- end
48
-
49
- describe "#destroy_confirmation_link" do
50
- it "returns destroy confirmation link" do
51
- allow(subject).to receive(:t).with("Delete").and_return("dlt")
52
- allow(subject).to receive(:destroy_confirmation_url).and_return("www.xxx")
53
- content = '<a class="button ajaxbox danger" title="dlt" href="www.xxx" data-modal="true">dlt</a>'
54
- expect(subject.destroy_confirmation_link).to eq(content)
55
- end
56
- end
57
-
58
- describe "#destroy_confirmation_url" do
59
- it "returns resource destroy confirmation url with index_path param" do
60
- subject.resource = Book.new(id: 99)
61
- allow(subject.template).to receive(:url_for).with(action: :confirm_destroy, id: 99, index_path: "y").and_return("x")
62
- allow(subject.template).to receive(:controller).and_return(Releaf::ActionController.new)
63
- allow(subject.controller).to receive(:index_path).and_return("y")
64
- expect(subject.destroy_confirmation_url).to eq("x")
65
- end
66
- end
67
- end
@@ -1,48 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::Builders::Toolbox, type: :class do
4
- class ToolboxTestTemplate < ActionView::Base
5
- end
6
-
7
- class UnitTestToolboxBuilder
8
- include Releaf::Builders::Base
9
- include Releaf::Builders::Template
10
- include Releaf::Builders::Toolbox
11
- end
12
-
13
- subject { UnitTestToolboxBuilder.new(template) }
14
- let(:template){ ToolboxTestTemplate.new }
15
- let(:resource){ Releaf::Permissions::User.new }
16
-
17
- describe "#toolbox" do
18
- context "when the passed object is a new record" do
19
- it "returns empty string" do
20
- expect(subject.toolbox(resource)).to eq("")
21
- end
22
- end
23
-
24
- context "when the passed object is an existing record" do
25
- it "returns toolbox HTML with trigger and without items" do
26
- resource.id = 212
27
- allow(resource).to receive(:new_record?).and_return(false)
28
- allow(subject).to receive(:t).with("Tools").and_return("tls")
29
- allow(subject).to receive(:icon).with("ellipsis-v").and_return("<kebab_icon />".html_safe)
30
- allow(subject).to receive(:icon).with("caret-up").and_return("<caret_icon />".html_safe)
31
- allow(subject).to receive(:action_name).and_return("edit")
32
- allow(subject).to receive(:url_for).with({action: :toolbox, id: 212, context: "edit", some_param: 89}).and_return("/toolbox_action")
33
-
34
- expect(subject.toolbox(resource, some_param: 89)).to match_html(%Q[
35
- <div class="toolbox" data-url="/toolbox_action">
36
- <button class="button trigger only-icon" type="button" title="tls">
37
- <kebab_icon />
38
- </button>
39
- <menu class="toolbox-items" type="toolbar">
40
- <caret_icon />
41
- <ul></ul>
42
- </menu>
43
- </div>
44
- ])
45
- end
46
- end
47
- end
48
- end
@@ -1,125 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::Builders::Utilities::DateFields do
4
- describe ".jquery_date_format" do
5
- it "returns Ruby date formaters converted to jQuery date formaters" do
6
- expect(described_class.jquery_date_format("% %3N %L %M %-d")).to eq("% l l mm d")
7
-
8
- allow(described_class).to receive(:ruby_date_format_regexp).and_return(Regexp.new("%3N"))
9
- expect(described_class.jquery_date_format("% %3N %L %M %-d")).to eq("% l %L %M %-d")
10
- end
11
- end
12
-
13
- describe ".ruby_date_format_regexp" do
14
- it "returns Regexp for matching Ruby date formaters" do
15
- expect(described_class.ruby_date_format_regexp).to be_instance_of Regexp
16
- end
17
-
18
- it "caches compiled regexp" do
19
- described_class.class_variable_set(:@@jquery_date_replacement_regexp, nil)
20
- expect(Regexp).to receive(:new).and_call_original.once
21
- described_class.ruby_date_format_regexp
22
- described_class.ruby_date_format_regexp
23
- end
24
- end
25
-
26
- describe ".format_date_or_time_value" do
27
- context "when given value type is :time" do
28
- it "format normalized value to default format with `strftime`" do
29
- value = Date.parse("15 Jan 2015")
30
- time = Time.parse("15 Jan 2015 12:10:04")
31
- allow(described_class).to receive(:date_or_time_default_format).with(:time).and_return("%H:%M")
32
- allow(described_class).to receive(:normalize_date_or_time_value).with(value, :time).and_return(time)
33
-
34
- expect(described_class.format_date_or_time_value(value, :time)).to eq("12:10")
35
- end
36
- end
37
-
38
- context "when empty value given" do
39
- it "returns given value" do
40
- expect(described_class.format_date_or_time_value(nil, :time)).to eq(nil)
41
- end
42
- end
43
-
44
- context "when given value type is other than :time" do
45
- it "format normalized value to default format with `I18n.l`" do
46
- value = Date.parse("15 Jan 2015")
47
- time = Time.parse("15 Jan 2015 12:10:04")
48
-
49
- allow(described_class).to receive(:date_or_time_default_format).with(:date).and_return("_format_")
50
- allow(described_class).to receive(:normalize_date_or_time_value).with(value, :date).and_return(time)
51
- allow(I18n).to receive(:l).with(time, format: "_format_").and_return("x")
52
- expect(described_class.format_date_or_time_value(value, :date)).to eq("x")
53
-
54
-
55
- allow(described_class).to receive(:date_or_time_default_format).with(:datetime).and_return("_format_")
56
- allow(described_class).to receive(:normalize_date_or_time_value).with(value, :datetime).and_return(time)
57
- allow(I18n).to receive(:l).with(time, format: "_format_").and_return("y")
58
- expect(described_class.format_date_or_time_value(value, :datetime)).to eq("y")
59
- end
60
- end
61
- end
62
-
63
- describe ".time_format_for_jquery" do
64
- it "returns jquery time format" do
65
- allow(described_class).to receive(:date_or_time_default_format).with(:time).and_return("xx")
66
- allow(described_class).to receive(:jquery_date_format).with("xx").and_return("x")
67
- expect(described_class.time_format_for_jquery).to eq("x")
68
- end
69
- end
70
-
71
- describe ".date_format_for_jquery" do
72
- it "returns jquery time format" do
73
- allow(described_class).to receive(:date_or_time_default_format).with(:date).and_return("yy")
74
- allow(I18n).to receive(:t).with("default", scope: "date.formats", default: "yy").and_return("a")
75
- allow(described_class).to receive(:jquery_date_format).with("a").and_return("l")
76
- expect(described_class.date_format_for_jquery).to eq("l")
77
- end
78
- end
79
-
80
- describe ".normalize_date_or_time_value" do
81
- context "when :time type given" do
82
- it "casts value to time" do
83
- value = Date.parse("15 Jan 2015")
84
- expect(described_class.normalize_date_or_time_value(value, :time)).to be_instance_of Time
85
- expect(described_class.normalize_date_or_time_value(value, :time)).to eq(value.to_time)
86
- end
87
- end
88
-
89
- context "when :datetime type given" do
90
- it "casts value to datetime" do
91
- value = Time.parse("15 Jan 2015 12:10:04")
92
- expect(described_class.normalize_date_or_time_value(value, :datetime)).to be_instance_of DateTime
93
- expect(described_class.normalize_date_or_time_value(value, :datetime)).to eq(value.to_datetime)
94
- end
95
- end
96
-
97
- context "when :time type given" do
98
- it "casts value to date" do
99
- value = DateTime.parse("15 Jan 2015 12:10:04")
100
- expect(described_class.normalize_date_or_time_value(value, :date)).to be_instance_of Date
101
- expect(described_class.normalize_date_or_time_value(value, :date)).to eq(value.to_date)
102
- end
103
- end
104
- end
105
-
106
- describe "#date_or_time_default_format" do
107
- context "when date format requested requested" do
108
- it "returns `%Y-%m-%d`" do
109
- expect(described_class.date_or_time_default_format(:date)).to eq("%Y-%m-%d")
110
- end
111
- end
112
-
113
- context "when datetime format requested requested" do
114
- it "returns `%Y-%m-%d %H:%M`" do
115
- expect(described_class.date_or_time_default_format(:datetime)).to eq("%Y-%m-%d %H:%M")
116
- end
117
- end
118
-
119
- context "when time format requested requested" do
120
- it "returns `%H:%M`" do
121
- expect(described_class.date_or_time_default_format(:time)).to eq("%H:%M")
122
- end
123
- end
124
- end
125
- end
@@ -1,318 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe Releaf::Builders::Utilities::ResolveAttributeFieldMethodName do
4
- let(:object){ Book.new }
5
- subject{ described_class.new(object: object, attribute_name: "title") }
6
-
7
- describe "#call" do
8
- before do
9
- allow(subject).to receive(:field_type).and_return("color_picker")
10
- end
11
-
12
- it "returns resolved field name method" do
13
- expect(subject.call).to eq("releaf_color_picker_field")
14
- end
15
-
16
-
17
- context "when localized attribute" do
18
- it "adds i18n part to returned field name method" do
19
- allow(subject).to receive(:localized_attribute?).and_return(true)
20
- expect(subject.call).to eq("releaf_color_picker_i18n_field")
21
- end
22
- end
23
- end
24
-
25
- describe "#field_type" do
26
- before do
27
- allow(subject).to receive(:column_type).and_return("doubleinteger")
28
- end
29
-
30
- it "returns first positive resolver name" do
31
- allow(subject).to receive(:column_field_type_resolvers).and_return([:text, :item, :richtext])
32
- expect(subject).to receive(:text?).and_return(false)
33
- expect(subject).to receive(:item?).and_return(true)
34
- expect(subject).to_not receive(:richtext?)
35
-
36
- expect(subject.field_type).to eq(:item)
37
- end
38
-
39
- context "when no resolvers exists" do
40
- it "returns column type" do
41
- allow(subject).to receive(:column_field_type_resolvers).and_return([])
42
- expect(subject.field_type).to eq("doubleinteger")
43
- end
44
- end
45
- end
46
-
47
- describe "#column_type" do
48
- let(:column){ Book.columns_hash["id"] }
49
-
50
- before do
51
- subject.attribute_name = "birth_date"
52
- allow(subject).to receive(:columns_class).and_return(Author)
53
- allow(column).to receive(:type).and_return("doubleinteger")
54
- end
55
-
56
- it "returns column type from columns class" do
57
- allow(Author.columns_hash).to receive(:[]).with("birth_date").and_return(column)
58
- expect(subject.column_type).to eq("doubleinteger")
59
- end
60
-
61
- context "when attribute does not exists within columns hash" do
62
- it "returns `string` as default type" do
63
- allow(Author.columns_hash).to receive(:[]).with("birth_date").and_return(nil)
64
- expect(subject.column_type).to eq(:string)
65
- end
66
- end
67
-
68
- it "caches resolved column type" do
69
- expect(Author.columns_hash).to receive(:[]).with("birth_date").and_return(column).twice
70
- subject.column_type
71
- subject.column_type
72
- subject.column_type
73
- end
74
- end
75
-
76
- describe "#columns_class" do
77
- context "when non localized attribute" do
78
- it "returns object class" do
79
- allow(subject).to receive(:localized_attribute?).and_return(false)
80
- expect(subject.columns_class).to eq(Book)
81
- end
82
- end
83
-
84
- context "when localized attribute" do
85
- it "returns object translations class" do
86
- allow(subject).to receive(:localized_attribute?).and_return(true)
87
- expect(subject.columns_class).to eq(Book::Translation)
88
- end
89
- end
90
- end
91
-
92
- describe "#column_field_type_resolvers" do
93
- it "returns column type resolvers" do
94
- allow(subject).to receive(:column_type).and_return(:text)
95
- expect(subject.column_field_type_resolvers).to eq([:link, :richtext, :textarea])
96
-
97
- allow(subject).to receive(:column_type).and_return(:float)
98
- expect(subject.column_field_type_resolvers).to eq([])
99
- end
100
- end
101
-
102
- describe "#localized_attribute?" do
103
- context "when object translates" do
104
- context "when given attribute translatable" do
105
- it "returns true" do
106
- subject.attribute_name = :description
107
- expect(subject.localized_attribute?).to be true
108
- end
109
- end
110
-
111
- context "when attribute does not translatable" do
112
- it "returns false" do
113
- subject.attribute_name = :title
114
- expect(subject.localized_attribute?).to be false
115
- end
116
- end
117
- end
118
-
119
- context "when object does not translates" do
120
- it "returns false" do
121
- subject.object = Releaf::Permissions::User.new
122
- subject.attribute_name = :password
123
- expect(subject.localized_attribute?).to be false
124
- end
125
- end
126
- end
127
-
128
- describe "#file?" do
129
- context "when attribute name ends with `_uid` and object respond to matching file method" do
130
- it "returns true" do
131
- subject.attribute_name = "cover_image_uid"
132
- expect(subject.file?).to be true
133
- end
134
- end
135
-
136
- context "when attribute name hasn't *_uid and object respond to matching file method" do
137
- it "returns false" do
138
- subject.attribute_name = "genre"
139
- expect(subject.file?).to be false
140
- end
141
- end
142
-
143
- context "when attribute name ends with `_uid` and object does not respond to matching file method" do
144
- it "returns false" do
145
- subject.attribute_name = "cover_asdasdd_uid"
146
- expect(subject.file?).to be false
147
- end
148
- end
149
- end
150
-
151
- describe "#image?" do
152
- context "when attribute name matches image regexp and attribute is file" do
153
- it "returns true" do
154
- allow(subject).to receive(:file?).and_return(true)
155
- %w(thumbnail image photo picture avatar logo banner icon).each do|prefix|
156
- subject.attribute_name = "#{prefix}_uid"
157
- expect(subject.image?).to be true
158
- end
159
- end
160
- end
161
-
162
- context "when attribute name matches image regexp and attribute is not file" do
163
- it "returns false" do
164
- allow(subject).to receive(:file?).and_return(false)
165
- %w(thumbnail image photo picture avatar logo banner icon).each do|prefix|
166
- subject.attribute_name = "#{prefix}_uid"
167
- expect(subject.image?).to be false
168
- end
169
- end
170
- end
171
-
172
- context "when attribute name does not match image regexp and attribute is file" do
173
- it "returns false" do
174
- allow(subject).to receive(:file?).and_return(true)
175
- %w(thumcbnail idsfmage pdhoto pictdure avdatar lodgo bdanner idcon).each do|prefix|
176
- subject.attribute_name = "#{prefix}_uid"
177
- expect(subject.image?).to be false
178
- end
179
- end
180
- end
181
- end
182
-
183
- describe "#password?" do
184
- context "when attribute matches password regexp" do
185
- it "returns true" do
186
- %w(some_password password_test password pin).each do|attribute_name|
187
- subject.attribute_name = attribute_name
188
- expect(subject.password?).to be true
189
- end
190
- end
191
- end
192
-
193
- context "when attribute does not match password regexp" do
194
- it "returns false" do
195
- %w(some_pasword pasword not_pin pins).each do|attribute_name|
196
- subject.attribute_name = attribute_name
197
- expect(subject.password?).to be false
198
- end
199
- end
200
- end
201
- end
202
-
203
- describe "#email?" do
204
- context "when attribute matches email regexp" do
205
- it "returns true" do
206
- %w(email some_email).each do|attribute_name|
207
- subject.attribute_name = attribute_name
208
- expect(subject.email?).to be true
209
- end
210
- end
211
- end
212
-
213
- context "when attribute does not match email regexp" do
214
- it "returns false" do
215
- %w(email_some mail).each do|attribute_name|
216
- subject.attribute_name = attribute_name
217
- expect(subject.email?).to be false
218
- end
219
- end
220
- end
221
- end
222
-
223
- describe "#link?" do
224
- context "when attribute matches link regexp" do
225
- it "returns true" do
226
- %w(some_url some_link link url).each do|attribute_name|
227
- subject.attribute_name = attribute_name
228
- expect(subject.link?).to be true
229
- end
230
- end
231
- end
232
-
233
- context "when attribute does not match link regexp" do
234
- it "returns false" do
235
- %w(urla linka).each do|attribute_name|
236
- subject.attribute_name = attribute_name
237
- expect(subject.link?).to be false
238
- end
239
- end
240
- end
241
- end
242
-
243
- describe "#richtext?" do
244
- context "when attribute matches richtext regexp" do
245
- it "returns true" do
246
- %w(some_html html).each do|attribute_name|
247
- subject.attribute_name = attribute_name
248
- expect(subject.richtext?).to be true
249
- end
250
- end
251
- end
252
-
253
- context "when attribute does not match richtext regexp" do
254
- it "returns false" do
255
- %w(htmla ad_htmla).each do|attribute_name|
256
- subject.attribute_name = attribute_name
257
- expect(subject.richtext?).to be false
258
- end
259
- end
260
- end
261
- end
262
-
263
- describe "#textarea?" do
264
- context "when column type is `text`" do
265
- it "returns true" do
266
- allow(subject).to receive(:column_type).and_return(:text)
267
- expect(subject.textarea?).to be true
268
- end
269
- end
270
-
271
- context "when column type is not `text`" do
272
- it "returns false" do
273
- allow(subject).to receive(:column_type).and_return(:asdasd)
274
- expect(subject.textarea?).to be false
275
- end
276
- end
277
- end
278
-
279
- describe "#text?" do
280
- context "when column type is `string`" do
281
- it "returns true" do
282
- allow(subject).to receive(:column_type).and_return(:string)
283
- expect(subject.text?).to be true
284
- end
285
- end
286
-
287
- context "when column type is not `string`" do
288
- it "returns false" do
289
- allow(subject).to receive(:column_type).and_return(:asdasd)
290
- expect(subject.text?).to be false
291
- end
292
- end
293
- end
294
-
295
- describe "#item?" do
296
- context "when attribute name ends with `_id` and object has matching association" do
297
- it "returns true" do
298
- subject.attribute_name = "author_id"
299
- expect(subject.item?).to be true
300
- end
301
- end
302
-
303
- context "when attribute name ends with `_id` and object hasn't matching association" do
304
- it "returns false" do
305
- subject.attribute_name = "author_id"
306
- allow(Book).to receive(:reflect_on_association).with(:author).and_return(nil)
307
- expect(subject.item?).to be false
308
- end
309
- end
310
-
311
- context "when attribute does not end with `_id`" do
312
- it "returns false" do
313
- subject.attribute_name = "cover_asdasdd_uid"
314
- expect(subject.item?).to be false
315
- end
316
- end
317
- end
318
- end