matestack-ui-core 0.6.0 → 0.7.3

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 (325) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -21
  3. data/app/concepts/matestack/ui/core/abbr/abbr.haml +5 -0
  4. data/app/concepts/matestack/ui/core/abbr/abbr.rb +12 -0
  5. data/app/concepts/{absolute/view → matestack/ui/core/absolute}/absolute.haml +0 -0
  6. data/app/concepts/{absolute/cell → matestack/ui/core/absolute}/absolute.rb +2 -2
  7. data/app/concepts/matestack/ui/core/action/action.haml +3 -0
  8. data/app/concepts/{action/js → matestack/ui/core/action}/action.js +3 -3
  9. data/app/concepts/{action/cell → matestack/ui/core/action}/action.rb +2 -2
  10. data/app/concepts/{component/view → matestack/ui/core/actionview}/dynamic.haml +0 -0
  11. data/app/concepts/matestack/ui/core/actionview/dynamic.rb +28 -0
  12. data/app/concepts/{component/view → matestack/ui/core/actionview}/static.haml +0 -0
  13. data/app/concepts/matestack/ui/core/actionview/static.rb +28 -0
  14. data/app/concepts/matestack/ui/core/address/address.haml +5 -0
  15. data/app/concepts/matestack/ui/core/address/address.rb +5 -0
  16. data/app/concepts/{app/view → matestack/ui/core/app}/app.haml +1 -1
  17. data/app/concepts/{app/js → matestack/ui/core/app}/app.js +1 -1
  18. data/app/concepts/matestack/ui/core/app/app.rb +74 -0
  19. data/app/concepts/{app/js → matestack/ui/core/app}/store.js +1 -2
  20. data/app/concepts/matestack/ui/core/area/area.haml +1 -0
  21. data/app/concepts/matestack/ui/core/area/area.rb +18 -0
  22. data/app/concepts/matestack/ui/core/article/article.haml +5 -0
  23. data/app/concepts/matestack/ui/core/article/article.rb +5 -0
  24. data/app/concepts/matestack/ui/core/aside/aside.haml +3 -0
  25. data/app/concepts/matestack/ui/core/aside/aside.rb +5 -0
  26. data/app/concepts/matestack/ui/core/async/async.haml +2 -0
  27. data/app/concepts/{async/js → matestack/ui/core/async}/async.js +25 -6
  28. data/app/concepts/matestack/ui/core/async/async.rb +12 -0
  29. data/app/concepts/matestack/ui/core/b/b.haml +5 -0
  30. data/app/concepts/matestack/ui/core/b/b.rb +5 -0
  31. data/app/concepts/matestack/ui/core/blockquote/blockquote.haml +5 -0
  32. data/app/concepts/matestack/ui/core/blockquote/blockquote.rb +11 -0
  33. data/app/concepts/{br/view → matestack/ui/core/br}/br.haml +2 -2
  34. data/app/concepts/matestack/ui/core/br/br.rb +5 -0
  35. data/app/concepts/matestack/ui/core/button/button.haml +5 -0
  36. data/app/concepts/matestack/ui/core/button/button.rb +11 -0
  37. data/app/concepts/matestack/ui/core/caption/caption.haml +5 -0
  38. data/app/concepts/matestack/ui/core/caption/caption.rb +5 -0
  39. data/app/concepts/matestack/ui/core/cite/cite.haml +5 -0
  40. data/app/concepts/matestack/ui/core/cite/cite.rb +5 -0
  41. data/app/concepts/matestack/ui/core/code/code.haml +5 -0
  42. data/app/concepts/matestack/ui/core/code/code.rb +5 -0
  43. data/app/concepts/matestack/ui/core/collection/content/content.js +98 -0
  44. data/app/concepts/matestack/ui/core/collection/content/content.rb +18 -0
  45. data/app/concepts/matestack/ui/core/collection/content/next/next.haml +3 -0
  46. data/app/concepts/matestack/ui/core/collection/content/next/next.rb +5 -0
  47. data/app/concepts/matestack/ui/core/collection/content/page/link/link.haml +3 -0
  48. data/app/concepts/matestack/ui/core/collection/content/page/link/link.rb +5 -0
  49. data/app/concepts/matestack/ui/core/collection/content/previous/previous.haml +3 -0
  50. data/app/concepts/matestack/ui/core/collection/content/previous/previous.rb +5 -0
  51. data/app/concepts/matestack/ui/core/collection/filter/filter.js +48 -0
  52. data/app/concepts/matestack/ui/core/collection/filter/filter.rb +17 -0
  53. data/app/concepts/matestack/ui/core/collection/filter/input/input.haml +2 -0
  54. data/app/concepts/matestack/ui/core/collection/filter/input/input.rb +25 -0
  55. data/app/concepts/matestack/ui/core/collection/filter/reset/reset.haml +3 -0
  56. data/app/concepts/matestack/ui/core/collection/filter/reset/reset.rb +5 -0
  57. data/app/concepts/matestack/ui/core/collection/filter/submit/submit.haml +3 -0
  58. data/app/concepts/matestack/ui/core/collection/filter/submit/submit.rb +5 -0
  59. data/app/concepts/matestack/ui/core/collection/helper.rb +113 -0
  60. data/app/concepts/matestack/ui/core/collection/order/order.js +56 -0
  61. data/app/concepts/matestack/ui/core/collection/order/order.rb +17 -0
  62. data/app/concepts/matestack/ui/core/collection/order/toggle/indicator/indicator.rb +13 -0
  63. data/app/concepts/matestack/ui/core/collection/order/toggle/toggle.haml +3 -0
  64. data/app/concepts/matestack/ui/core/collection/order/toggle/toggle.rb +5 -0
  65. data/app/concepts/matestack/ui/core/component/anonym-dynamic-component.js +10 -0
  66. data/app/concepts/{component/view → matestack/ui/core/component}/children.haml +0 -0
  67. data/app/concepts/{component/js → matestack/ui/core/component}/component.js +3 -4
  68. data/app/concepts/matestack/ui/core/component/dynamic.haml +6 -0
  69. data/app/concepts/{component/cell → matestack/ui/core/component}/dynamic.rb +86 -43
  70. data/app/concepts/{component/view → matestack/ui/core/component}/dynamic_without_rerender.haml +0 -0
  71. data/app/concepts/{component/view → matestack/ui/core/component}/response.haml +0 -0
  72. data/app/concepts/{component/view → matestack/ui/core/component}/response_dynamic.haml +0 -0
  73. data/app/concepts/{component/view → matestack/ui/core/component}/response_dynamic_without_rerender.haml +0 -0
  74. data/app/concepts/matestack/ui/core/component/static.haml +1 -0
  75. data/app/concepts/{component/cell → matestack/ui/core/component}/static.rb +3 -3
  76. data/app/concepts/matestack/ui/core/dd/dd.haml +5 -0
  77. data/app/concepts/matestack/ui/core/dd/dd.rb +5 -0
  78. data/app/concepts/matestack/ui/core/details/details.haml +3 -0
  79. data/app/concepts/matestack/ui/core/details/details.rb +5 -0
  80. data/app/concepts/{div/view → matestack/ui/core/div}/div.haml +0 -0
  81. data/app/concepts/matestack/ui/core/div/div.rb +5 -0
  82. data/app/concepts/matestack/ui/core/dl/dl.haml +5 -0
  83. data/app/concepts/matestack/ui/core/dl/dl.rb +5 -0
  84. data/app/concepts/matestack/ui/core/dt/dt.haml +5 -0
  85. data/app/concepts/matestack/ui/core/dt/dt.rb +5 -0
  86. data/app/concepts/matestack/ui/core/em/em.haml +5 -0
  87. data/app/concepts/matestack/ui/core/em/em.rb +5 -0
  88. data/app/concepts/matestack/ui/core/fieldset/fieldset.haml +5 -0
  89. data/app/concepts/matestack/ui/core/fieldset/fieldset.rb +9 -0
  90. data/app/concepts/matestack/ui/core/figure/figure.haml +3 -0
  91. data/app/concepts/matestack/ui/core/figure/figure.rb +5 -0
  92. data/app/concepts/{footer/view → matestack/ui/core/footer}/footer.haml +0 -0
  93. data/app/concepts/matestack/ui/core/footer/footer.rb +5 -0
  94. data/app/concepts/{form/view → matestack/ui/core/form}/form.haml +0 -0
  95. data/app/concepts/{form/js → matestack/ui/core/form}/form.js +22 -4
  96. data/app/concepts/{form/cell → matestack/ui/core/form}/form.rb +2 -2
  97. data/app/concepts/{form/view → matestack/ui/core/form/inline}/inline.haml +0 -0
  98. data/app/concepts/matestack/ui/core/form/inline/inline.rb +9 -0
  99. data/app/concepts/{form/view → matestack/ui/core/form/input}/input.haml +4 -6
  100. data/app/concepts/{form/cell → matestack/ui/core/form/input}/input.rb +2 -2
  101. data/app/concepts/{form/view → matestack/ui/core/form/select}/select.haml +10 -6
  102. data/app/concepts/{form/cell → matestack/ui/core/form/select}/select.rb +2 -2
  103. data/app/concepts/{form/view → matestack/ui/core/form/submit}/submit.haml +0 -0
  104. data/app/concepts/matestack/ui/core/form/submit/submit.rb +9 -0
  105. data/app/concepts/{header/view → matestack/ui/core/header}/header.haml +0 -0
  106. data/app/concepts/matestack/ui/core/header/header.rb +5 -0
  107. data/app/concepts/{heading/view → matestack/ui/core/heading}/heading.haml +0 -0
  108. data/app/concepts/matestack/ui/core/heading/heading.rb +5 -0
  109. data/app/concepts/matestack/ui/core/hr/hr.haml +1 -0
  110. data/app/concepts/matestack/ui/core/hr/hr.rb +5 -0
  111. data/app/concepts/{html/view → matestack/ui/core/html}/html.haml +0 -0
  112. data/app/concepts/matestack/ui/core/html/html.js +10 -0
  113. data/app/concepts/{html/cell → matestack/ui/core/html}/html.rb +2 -2
  114. data/app/concepts/matestack/ui/core/icon/icon.haml +5 -0
  115. data/app/concepts/matestack/ui/core/icon/icon.rb +5 -0
  116. data/app/concepts/matestack/ui/core/img/img.haml +1 -0
  117. data/app/concepts/matestack/ui/core/img/img.rb +15 -0
  118. data/app/concepts/{input/view → matestack/ui/core/input}/input.haml +0 -0
  119. data/app/concepts/matestack/ui/core/input/input.rb +5 -0
  120. data/app/concepts/matestack/ui/core/ins/ins.haml +5 -0
  121. data/app/concepts/matestack/ui/core/ins/ins.rb +10 -0
  122. data/app/concepts/{partial/view/partial.haml → matestack/ui/core/isolate/isolate.haml} +0 -0
  123. data/app/concepts/matestack/ui/core/isolate/isolate.rb +11 -0
  124. data/app/concepts/matestack/ui/core/js/core.js +29 -0
  125. data/app/concepts/{core → matestack/ui/core}/js/event-hub.js +0 -0
  126. data/app/concepts/matestack/ui/core/js/helpers/query-params-helper.js +56 -0
  127. data/app/concepts/matestack/ui/core/kbd/kbd.haml +5 -0
  128. data/app/concepts/matestack/ui/core/kbd/kbd.rb +4 -0
  129. data/app/concepts/matestack/ui/core/label/label.haml +5 -0
  130. data/app/concepts/matestack/ui/core/label/label.rb +10 -0
  131. data/app/concepts/matestack/ui/core/legend/legend.haml +5 -0
  132. data/app/concepts/matestack/ui/core/legend/legend.rb +5 -0
  133. data/app/concepts/matestack/ui/core/li/li.haml +5 -0
  134. data/app/concepts/matestack/ui/core/li/li.rb +5 -0
  135. data/app/concepts/matestack/ui/core/link/link.haml +5 -0
  136. data/app/concepts/{link/cell → matestack/ui/core/link}/link.rb +7 -4
  137. data/app/concepts/{main/view → matestack/ui/core/main}/main.haml +0 -0
  138. data/app/concepts/matestack/ui/core/main/main.rb +5 -0
  139. data/app/concepts/matestack/ui/core/map/map.haml +3 -0
  140. data/app/concepts/matestack/ui/core/map/map.rb +11 -0
  141. data/app/concepts/matestack/ui/core/mark/mark.haml +5 -0
  142. data/app/concepts/matestack/ui/core/mark/mark.rb +4 -0
  143. data/app/concepts/matestack/ui/core/meter/meter.haml +4 -0
  144. data/app/concepts/matestack/ui/core/meter/meter.rb +14 -0
  145. data/app/concepts/{nav/view → matestack/ui/core/nav}/nav.haml +0 -0
  146. data/app/concepts/matestack/ui/core/nav/nav.rb +5 -0
  147. data/app/concepts/matestack/ui/core/noscript/noscript.haml +5 -0
  148. data/app/concepts/matestack/ui/core/noscript/noscript.rb +5 -0
  149. data/app/concepts/matestack/ui/core/object/object.haml +1 -0
  150. data/app/concepts/matestack/ui/core/object/object.rb +15 -0
  151. data/app/concepts/matestack/ui/core/ol/ol.haml +3 -0
  152. data/app/concepts/matestack/ui/core/ol/ol.rb +5 -0
  153. data/app/concepts/matestack/ui/core/onclick/onclick.haml +2 -0
  154. data/app/concepts/{onclick/js → matestack/ui/core/onclick}/onclick.js +3 -3
  155. data/app/concepts/matestack/ui/core/onclick/onclick.rb +5 -0
  156. data/app/concepts/matestack/ui/core/output/output.haml +5 -0
  157. data/app/concepts/matestack/ui/core/output/output.rb +11 -0
  158. data/app/concepts/{page/view → matestack/ui/core/page}/content.haml +0 -0
  159. data/app/concepts/{page/js → matestack/ui/core/page}/content.js +2 -2
  160. data/app/concepts/matestack/ui/core/page/content.rb +5 -0
  161. data/app/concepts/{page/view → matestack/ui/core/page}/page.haml +0 -0
  162. data/app/concepts/matestack/ui/core/page/page.rb +189 -0
  163. data/app/concepts/matestack/ui/core/paragraph/paragraph.haml +5 -0
  164. data/app/concepts/matestack/ui/core/paragraph/paragraph.rb +5 -0
  165. data/app/concepts/matestack/ui/core/param/param.haml +1 -0
  166. data/app/concepts/matestack/ui/core/param/param.rb +10 -0
  167. data/app/concepts/{slot/view/slot.haml → matestack/ui/core/partial/partial.haml} +0 -0
  168. data/app/concepts/matestack/ui/core/partial/partial.rb +5 -0
  169. data/app/concepts/matestack/ui/core/pg/pg.haml +5 -0
  170. data/app/concepts/matestack/ui/core/pg/pg.rb +5 -0
  171. data/app/concepts/matestack/ui/core/plain/plain.rb +9 -0
  172. data/app/concepts/matestack/ui/core/pre/pre.haml +5 -0
  173. data/app/concepts/matestack/ui/core/pre/pre.rb +5 -0
  174. data/app/concepts/matestack/ui/core/progress/progress.haml +3 -0
  175. data/app/concepts/matestack/ui/core/progress/progress.rb +14 -0
  176. data/app/concepts/matestack/ui/core/q/q.haml +5 -0
  177. data/app/concepts/matestack/ui/core/q/q.rb +11 -0
  178. data/app/concepts/matestack/ui/core/rp/rp.haml +5 -0
  179. data/app/concepts/matestack/ui/core/rp/rp.rb +5 -0
  180. data/app/concepts/matestack/ui/core/rt/rt.haml +5 -0
  181. data/app/concepts/matestack/ui/core/rt/rt.rb +5 -0
  182. data/app/concepts/matestack/ui/core/ruby/ruby.haml +5 -0
  183. data/app/concepts/matestack/ui/core/ruby/ruby.rb +5 -0
  184. data/app/concepts/matestack/ui/core/s/s.haml +5 -0
  185. data/app/concepts/matestack/ui/core/s/s.rb +6 -0
  186. data/app/concepts/{section/view → matestack/ui/core/section}/section.haml +0 -0
  187. data/app/concepts/matestack/ui/core/section/section.rb +5 -0
  188. data/app/concepts/matestack/ui/core/slot/slot.haml +2 -0
  189. data/app/concepts/matestack/ui/core/slot/slot.rb +5 -0
  190. data/app/concepts/matestack/ui/core/small/small.haml +5 -0
  191. data/app/concepts/matestack/ui/core/small/small.rb +5 -0
  192. data/app/concepts/matestack/ui/core/span/span.haml +5 -0
  193. data/app/concepts/matestack/ui/core/span/span.rb +5 -0
  194. data/app/concepts/matestack/ui/core/strong/strong.haml +5 -0
  195. data/app/concepts/matestack/ui/core/strong/strong.rb +5 -0
  196. data/app/concepts/matestack/ui/core/sub/sub.haml +5 -0
  197. data/app/concepts/matestack/ui/core/sub/sub.rb +5 -0
  198. data/app/concepts/matestack/ui/core/summary/summary.haml +5 -0
  199. data/app/concepts/matestack/ui/core/summary/summary.rb +5 -0
  200. data/app/concepts/matestack/ui/core/sup/sup.haml +5 -0
  201. data/app/concepts/matestack/ui/core/sup/sup.rb +5 -0
  202. data/app/concepts/matestack/ui/core/table/table.haml +3 -0
  203. data/app/concepts/matestack/ui/core/table/table.rb +5 -0
  204. data/app/concepts/matestack/ui/core/tbody/tbody.haml +3 -0
  205. data/app/concepts/matestack/ui/core/tbody/tbody.rb +5 -0
  206. data/app/concepts/matestack/ui/core/td/td.haml +5 -0
  207. data/app/concepts/matestack/ui/core/td/td.rb +5 -0
  208. data/app/concepts/matestack/ui/core/tfoot/tfoot.haml +3 -0
  209. data/app/concepts/matestack/ui/core/tfoot/tfoot.rb +5 -0
  210. data/app/concepts/matestack/ui/core/th/th.haml +5 -0
  211. data/app/concepts/matestack/ui/core/th/th.rb +5 -0
  212. data/app/concepts/matestack/ui/core/thead/thead.haml +3 -0
  213. data/app/concepts/matestack/ui/core/thead/thead.rb +5 -0
  214. data/app/concepts/matestack/ui/core/time/time.haml +3 -0
  215. data/app/concepts/matestack/ui/core/time/time.rb +11 -0
  216. data/app/concepts/matestack/ui/core/tr/tr.haml +3 -0
  217. data/app/concepts/matestack/ui/core/tr/tr.rb +5 -0
  218. data/app/concepts/matestack/ui/core/transition/transition.haml +5 -0
  219. data/app/concepts/{transition/js → matestack/ui/core/transition}/transition.js +2 -2
  220. data/app/concepts/{transition/cell → matestack/ui/core/transition}/transition.rb +2 -2
  221. data/app/concepts/{ul/view → matestack/ui/core/ul}/ul.haml +0 -0
  222. data/app/concepts/matestack/ui/core/ul/ul.rb +5 -0
  223. data/app/concepts/matestack/ui/core/var/var.haml +5 -0
  224. data/app/concepts/matestack/ui/core/var/var.rb +4 -0
  225. data/app/concepts/matestack/ui/core/video/video.haml +3 -0
  226. data/app/concepts/matestack/ui/core/video/video.rb +23 -0
  227. data/app/concepts/matestack/ui/core/youtube/youtube.haml +1 -0
  228. data/app/concepts/matestack/ui/core/youtube/youtube.rb +26 -0
  229. data/app/lib/matestack/ui/app.rb +1 -0
  230. data/app/{concepts/app/utils → lib/matestack/ui/core}/app_node.rb +1 -1
  231. data/app/{concepts/component/utils → lib/matestack/ui/core}/component_node.rb +7 -3
  232. data/app/lib/matestack/ui/core/page_node.rb +96 -0
  233. data/app/{concepts/shared/utils → lib/matestack/ui/core}/to_cell.rb +29 -26
  234. data/app/lib/matestack/ui/dynamic_actionview_component.rb +1 -0
  235. data/app/lib/matestack/ui/dynamic_component.rb +1 -0
  236. data/app/lib/matestack/ui/page.rb +1 -0
  237. data/app/lib/matestack/ui/static_actionview_component.rb +1 -0
  238. data/app/lib/matestack/ui/static_component.rb +1 -0
  239. data/config/routes.rb +0 -1
  240. data/lib/generators/matestack/app/USAGE +21 -0
  241. data/lib/generators/matestack/app/app_generator.rb +25 -0
  242. data/lib/generators/matestack/app/templates/app/controllers/%file_name%_controller.rb.tt +5 -0
  243. data/lib/generators/matestack/app/templates/app/matestack/apps/%file_name%.rb.tt +28 -0
  244. data/lib/generators/matestack/component/USAGE +20 -0
  245. data/lib/generators/matestack/component/component_generator.rb +29 -0
  246. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.haml.tt +5 -0
  247. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.js.tt +17 -0
  248. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.rb.tt +11 -0
  249. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.scss.tt +1 -0
  250. data/lib/generators/matestack/core/component/USAGE +16 -0
  251. data/lib/generators/matestack/core/component/component_generator.rb +23 -0
  252. data/lib/generators/matestack/core/component/templates/app/concepts/matestack/ui/core/%file_name%/%file_name%.haml.tt +5 -0
  253. data/lib/generators/matestack/core/component/templates/app/concepts/matestack/ui/core/%file_name%/%file_name%.rb.tt +4 -0
  254. data/lib/generators/matestack/core/component/templates/docs/components/%file_name%.md.tt +44 -0
  255. data/lib/generators/matestack/core/component/templates/spec/usage/components/%file_name%_spec.rb +31 -0
  256. data/lib/generators/matestack/page/USAGE +28 -0
  257. data/lib/generators/matestack/page/page_generator.rb +54 -0
  258. data/lib/generators/matestack/page/templates/app/matestack/pages/%app_name%/%namespace%/%file_name%.rb.tt +28 -0
  259. data/lib/matestack/ui/core/version.rb +1 -1
  260. data/vendor/assets/javascripts/matestack-ui-core.js +4362 -3127
  261. data/vendor/assets/javascripts/matestack-ui-core.js.map +1 -1
  262. metadata +260 -122
  263. data/app/assets/config/basemate_ui_core_manifest.js +0 -2
  264. data/app/assets/javascripts/basemate/ui/core/application.js +0 -15
  265. data/app/assets/stylesheets/basemate/ui/core/application.css +0 -15
  266. data/app/concepts/action/view/action.haml +0 -3
  267. data/app/concepts/app/cell/app.rb +0 -76
  268. data/app/concepts/async/cell/async.rb +0 -10
  269. data/app/concepts/async/view/async.haml +0 -2
  270. data/app/concepts/br/cell/br.rb +0 -5
  271. data/app/concepts/button/cell/button.rb +0 -5
  272. data/app/concepts/button/view/button.haml +0 -7
  273. data/app/concepts/component/js/anonym-dynamic-component.js +0 -10
  274. data/app/concepts/core/js/core.js +0 -27
  275. data/app/concepts/div/cell/div.rb +0 -6
  276. data/app/concepts/footer/cell/footer.rb +0 -5
  277. data/app/concepts/form/cell/inline.rb +0 -9
  278. data/app/concepts/form/cell/submit.rb +0 -9
  279. data/app/concepts/header/cell/header.rb +0 -5
  280. data/app/concepts/heading/cell/heading.rb +0 -5
  281. data/app/concepts/html/js/html.js +0 -10
  282. data/app/concepts/icon/cell/icon.rb +0 -5
  283. data/app/concepts/icon/view/icon.haml +0 -6
  284. data/app/concepts/img/cell/img.rb +0 -5
  285. data/app/concepts/img/view/img.haml +0 -1
  286. data/app/concepts/input/cell/input.rb +0 -5
  287. data/app/concepts/label/cell/label.rb +0 -5
  288. data/app/concepts/label/view/label.haml +0 -7
  289. data/app/concepts/li/cell/li.rb +0 -5
  290. data/app/concepts/li/view/li.haml +0 -6
  291. data/app/concepts/link/view/link.haml +0 -6
  292. data/app/concepts/main/cell/main.rb +0 -5
  293. data/app/concepts/nav/cell/nav.rb +0 -5
  294. data/app/concepts/ol/cell/ol.rb +0 -5
  295. data/app/concepts/ol/view/ol.haml +0 -3
  296. data/app/concepts/onclick/cell/onclick.rb +0 -6
  297. data/app/concepts/onclick/view/onclick.haml +0 -2
  298. data/app/concepts/page/cell/content.rb +0 -5
  299. data/app/concepts/page/cell/page.rb +0 -128
  300. data/app/concepts/page/utils/page_node.rb +0 -66
  301. data/app/concepts/partial/cell/partial.rb +0 -5
  302. data/app/concepts/pg/cell/pg.rb +0 -5
  303. data/app/concepts/pg/view/pg.haml +0 -8
  304. data/app/concepts/plain/cell/plain.rb +0 -10
  305. data/app/concepts/progress/cell/progress.rb +0 -5
  306. data/app/concepts/progress/view/progress.haml +0 -3
  307. data/app/concepts/section/cell/section.rb +0 -5
  308. data/app/concepts/slot/cell/slot.rb +0 -10
  309. data/app/concepts/span/cell/span.rb +0 -5
  310. data/app/concepts/span/view/span.haml +0 -3
  311. data/app/concepts/table/cell/table.rb +0 -5
  312. data/app/concepts/table/view/table.haml +0 -3
  313. data/app/concepts/td/cell/td.rb +0 -5
  314. data/app/concepts/td/view/td.haml +0 -8
  315. data/app/concepts/th/cell/th.rb +0 -5
  316. data/app/concepts/th/view/th.haml +0 -8
  317. data/app/concepts/tr/cell/tr.rb +0 -5
  318. data/app/concepts/tr/view/tr.haml +0 -3
  319. data/app/concepts/transition/view/transition.haml +0 -7
  320. data/app/concepts/ul/cell/ul.rb +0 -5
  321. data/app/concepts/view/cell/view.rb +0 -7
  322. data/app/concepts/view/js/view.js +0 -42
  323. data/app/concepts/view/view/view.haml +0 -2
  324. data/app/controllers/basemate/ui/core/application_controller.rb +0 -9
  325. data/app/controllers/basemate/ui/core/docs_controller.rb +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e54bd9269c669fa0d87f2052258961731162454a99417077e2102e5d391aee2
4
- data.tar.gz: dbfb0a72d64c215d714c0340667e5f61c19fc0908875b5e1150be97c0c364f61
3
+ metadata.gz: 5c58a7c3107da2943a7443d50e8cf07ba1f379bc58b71a3f97d00700ad87773b
4
+ data.tar.gz: d76f2c74cd96afad0b6e4071c751c46122a294690e03f6006ec395e84af24637
5
5
  SHA512:
6
- metadata.gz: b15dcdaa3f71f73c99adf5971ded4c558968c8e93f555e7b8593bf40a074ff7e72fbbff295ac939556aff71c29a1f439588445e01e74fc8af3406726139fb674
7
- data.tar.gz: 767db8f8b1757b356178db83bba45da3427ba2195425670be4a0cc4912382ed2df6d9a19464d7d2d8dcfb805a000c2dca9962761de3966f525580839b06de77f
6
+ metadata.gz: e02c8a827ab68d86343df60902c2c245b9eff1374d3c2f77adbb050472270ad4858c0d9b0b0473dd06315c2f33f089e9237870d7cfe4f977c6e1d65145b4b4fa
7
+ data.tar.gz: 895b45ac12b0f494e5f40c3b5214884d28fb23657602d3b5c4f6637f6353817fda117898743f280dcfd7376aa508b4ae507cd28da6624e2a78fb77b9034d0542
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  [![CircleCI](https://circleci.com/gh/basemate/matestack-ui-core/tree/master.svg?style=shield)](https://circleci.com/gh/basemate/matestack-ui-core/tree/master)
2
+ [![Gitter](https://badges.gitter.im/basemate/community.svg)](https://gitter.im/basemate/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
3
+ [![Gem Version](https://badge.fury.io/rb/matestack-ui-core.svg)](https://badge.fury.io/rb/matestack-ui-core)
2
4
 
3
5
  ![matestack logo](./logo.png)
4
6
 
5
- # Matestack: Escape the frontend hustle
7
+ # matestack: Escape the frontend hustle
6
8
 
7
9
  ## Create maintainable, dynamic and beautiful UIs easily
8
10
 
@@ -17,11 +19,15 @@ matestack can progressively replace the classic Rails-View-Layer. You are able t
17
19
  it alongside your classic views and incrementally turn your Rails-App into a
18
20
  dynamic Web-App.
19
21
 
22
+ ### Installation:
23
+
24
+ Click here to see how you can add Matestack UI to your existing Rails application: [Installation Guide](https://www.matestack.org/docs/install)
25
+
20
26
  ### Features:
21
27
 
22
28
  #### Define your UI in a Ruby Class
23
29
  ```ruby
24
- class Pages::MyPage < Page::Cell::Page
30
+ class Pages::MyPage < Matestack::Ui::Page
25
31
 
26
32
  def prepare
27
33
  @technologies = ["Rails", "Vue.js", "Trailblazer", "Rspec", "Capybara"]
@@ -42,7 +48,7 @@ end
42
48
  #### Create a Single Page Application without JavaScript
43
49
 
44
50
  ```ruby
45
- class Apps::MyApp < App::Cell::App
51
+ class Apps::MyApp < Matestack::Ui::App
46
52
 
47
53
  def response
48
54
  components{
@@ -51,10 +57,10 @@ class Apps::MyApp < App::Cell::App
51
57
  end
52
58
  nav do
53
59
  transition path: :my_first_page_path do
54
- button "Page 1"
60
+ button text: "Page 1"
55
61
  end
56
62
  transition path: :my_second_page_path do
57
- button "Page 2"
63
+ button text: "Page 2"
58
64
  end
59
65
  end
60
66
  main do
@@ -70,7 +76,7 @@ end
70
76
  ```
71
77
 
72
78
  ```ruby
73
- class Pages::MyApp::MyFirstPage < Page::Cell::Page
79
+ class Pages::MyApp::MyFirstPage < Matestack::Ui::Page
74
80
 
75
81
  def response
76
82
  components{
@@ -83,7 +89,7 @@ class Pages::MyApp::MyFirstPage < Page::Cell::Page
83
89
  end
84
90
  ```
85
91
  ```ruby
86
- class Pages::MyApp::MySecondPage < Page::Cell::Page
92
+ class Pages::MyApp::MySecondPage < Matestack::Ui::Page
87
93
 
88
94
  def response
89
95
  components{
@@ -97,7 +103,7 @@ end
97
103
  ```
98
104
  #### Handle User Interaction dynamically without JavaScript
99
105
  ```ruby
100
- class Pages::MyPage < Page::Cell::Page
106
+ class Pages::MyPage < Matestack::Ui::Page
101
107
 
102
108
  def response
103
109
  components {
@@ -127,7 +133,7 @@ end
127
133
  ```
128
134
  #### Handle User Input dynamically without JavaScript
129
135
  ```ruby
130
- class Pages::MyApp::MyFirstPage < Page::Cell::Page
136
+ class Pages::MyApp::MyFirstPage < Matestack::Ui::Page
131
137
 
132
138
  def prepare
133
139
  @my_model = MyModel.new
@@ -167,7 +173,7 @@ end
167
173
  ```
168
174
  #### Websocket Integration without JavaScript
169
175
  ```ruby
170
- class Pages::MyPage < Page::Cell::Page
176
+ class Pages::MyPage < Matestack::Ui::Page
171
177
 
172
178
  def prepare
173
179
  @comments = Comment.last(5)
@@ -199,7 +205,7 @@ ActionCable.server.broadcast("matestack_ui_core", {
199
205
 
200
206
  ### Documentation
201
207
 
202
- Documentation can be found [here](./docs)
208
+ Documentation can be found [here](https://www.matestack.org/docs/install)
203
209
 
204
210
  ### Changelog
205
211
 
@@ -207,19 +213,11 @@ Changelog can be found [here](./CHANGELOG.md)
207
213
 
208
214
  ### Roadmap
209
215
 
210
- Scheduled for 0.7.0:
211
- - Webpacker/Yarn Integration
212
- - Advanced Websockets Integration
213
- - 1:n Relations in Form components
214
- - More Form Components (Multi Select Components)
215
- - Component Based Caching
216
- - Rails View Integration
217
- - Dockerized Core Development
218
-
216
+ We're currently finalizing the roadmap towards to a stable 1.0 release, supposed to happen towards the end of the year! For details make sure to check the [release management project](https://github.com/basemate/matestack-ui-core/projects/2) and get in touch via our [chat](https://gitter.im/basemate/community) for feedback!
219
217
 
220
218
  ### Community
221
219
 
222
- TODO: Gitter
220
+ As a low-barrier feedback channel for our early users, we have set up a Gitter chat that can be found [here](https://gitter.im/basemate/community). You are very welcome to ask questions and send us feedback there!
223
221
 
224
222
  ### Contribution
225
223
 
@@ -0,0 +1,5 @@
1
+ %abbr{@tag_attributes}
2
+ - if options[:text].blank? && block_given?
3
+ = yield
4
+ - else
5
+ = options[:text]
@@ -0,0 +1,12 @@
1
+ module Matestack::Ui::Core::Abbr
2
+ class Abbr < Matestack::Ui::Core::Component::Static
3
+ REQUIRED_KEYS = [:title]
4
+
5
+ def setup
6
+ @tag_attributes.merge!({
7
+ "title": options[:title]
8
+ })
9
+ end
10
+
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
- module Absolute::Cell
2
- class Absolute < Component::Cell::Static
1
+ module Matestack::Ui::Core::Absolute
2
+ class Absolute < Matestack::Ui::Core::Component::Static
3
3
 
4
4
  def setup
5
5
  style = "position: absolute;"
@@ -0,0 +1,3 @@
1
+ %a{@tag_attributes, "@click.prevent": "perform", "href": action_path}
2
+ - if block_given?
3
+ = yield
@@ -2,9 +2,9 @@ import Vue from 'vue/dist/vue.esm'
2
2
  import Vuex from 'vuex'
3
3
  import axios from 'axios'
4
4
 
5
- import matestackEventHub from 'core/js/event-hub'
5
+ import matestackEventHub from 'js/event-hub'
6
6
 
7
- import componentMixin from 'component/js/component'
7
+ import componentMixin from 'component/component'
8
8
 
9
9
  const componentDef = {
10
10
  mixins: [componentMixin],
@@ -44,6 +44,6 @@ const componentDef = {
44
44
  }
45
45
  }
46
46
 
47
- let component = Vue.component('action-cell', componentDef)
47
+ let component = Vue.component('matestack-ui-core-action', componentDef)
48
48
 
49
49
  export default componentDef
@@ -1,5 +1,5 @@
1
- module Action::Cell
2
- class Action < Component::Cell::Dynamic
1
+ module Matestack::Ui::Core::Action
2
+ class Action < Matestack::Ui::Core::Component::Dynamic
3
3
 
4
4
  def setup
5
5
  @component_config[:action_path] = action_path
@@ -0,0 +1,28 @@
1
+ module Matestack::Ui::Core::Actionview
2
+ class Dynamic < Matestack::Ui::Core::Component::Dynamic
3
+
4
+ include ActionView::Helpers::ActiveModelHelper
5
+ include ActionView::Helpers::ActiveModelInstanceTag
6
+ include ActionView::Helpers::AssetTagHelper
7
+ include ActionView::Helpers::AssetUrlHelper
8
+ include ActionView::Helpers::AtomFeedHelper
9
+ include ActionView::Helpers::CacheHelper
10
+ include ActionView::Helpers::CaptureHelper
11
+ include ActionView::Helpers::CspHelper
12
+ include ActionView::Helpers::CsrfHelper
13
+ include ActionView::Helpers::DateHelper
14
+ include ActionView::Helpers::DebugHelper
15
+ include ActionView::Helpers::FormHelper
16
+ include ActionView::Helpers::FormOptionsHelper
17
+ include ActionView::Helpers::FormTagHelper
18
+ include ActionView::Helpers::JavaScriptHelper
19
+ include ActionView::Helpers::NumberHelper
20
+ include ActionView::Helpers::OutputSafetyHelper
21
+ include ActionView::Helpers::SanitizeHelper
22
+ include ActionView::Helpers::TagHelper
23
+ include ActionView::Helpers::TextHelper
24
+ include ActionView::Helpers::TranslationHelper
25
+ include ActionView::Helpers::UrlHelper
26
+
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ module Matestack::Ui::Core::Actionview
2
+ class Static < Matestack::Ui::Core::Component::Static
3
+
4
+ include ActionView::Helpers::ActiveModelHelper
5
+ include ActionView::Helpers::ActiveModelInstanceTag
6
+ include ActionView::Helpers::AssetTagHelper
7
+ include ActionView::Helpers::AssetUrlHelper
8
+ include ActionView::Helpers::AtomFeedHelper
9
+ include ActionView::Helpers::CacheHelper
10
+ include ActionView::Helpers::CaptureHelper
11
+ include ActionView::Helpers::CspHelper
12
+ include ActionView::Helpers::CsrfHelper
13
+ include ActionView::Helpers::DateHelper
14
+ include ActionView::Helpers::DebugHelper
15
+ include ActionView::Helpers::FormHelper
16
+ include ActionView::Helpers::FormOptionsHelper
17
+ include ActionView::Helpers::FormTagHelper
18
+ include ActionView::Helpers::JavaScriptHelper
19
+ include ActionView::Helpers::NumberHelper
20
+ include ActionView::Helpers::OutputSafetyHelper
21
+ include ActionView::Helpers::SanitizeHelper
22
+ include ActionView::Helpers::TagHelper
23
+ include ActionView::Helpers::TextHelper
24
+ include ActionView::Helpers::TranslationHelper
25
+ include ActionView::Helpers::UrlHelper
26
+
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+ %address{@tag_attributes}
2
+ - if options[:text].nil? && block_given?
3
+ = yield
4
+ - else
5
+ = options[:text]
@@ -0,0 +1,5 @@
1
+ module Matestack::Ui::Core::Address
2
+ class Address < Matestack::Ui::Core::Component::Static
3
+
4
+ end
5
+ end
@@ -1,4 +1,4 @@
1
- %component{"is": "app-cell", "inline-template": true}
1
+ %component{"is": "matestack-ui-core-app", "inline-template": true}
2
2
  %div{"class": "matestack_app"}
3
3
  - @cells.each do |key, cell|
4
4
  = cell.call(:show)
@@ -22,6 +22,6 @@ const componentDef = {
22
22
  }
23
23
  }
24
24
 
25
- let component = Vue.component('app-cell', componentDef)
25
+ let component = Vue.component('matestack-ui-core-app', componentDef)
26
26
 
27
27
  export default componentDef
@@ -0,0 +1,74 @@
1
+ module Matestack::Ui::Core::App
2
+ class App < Trailblazer::Cell
3
+
4
+ include ::Cell::Haml
5
+ include Matestack::Ui::Core::ApplicationHelper
6
+ include Matestack::Ui::Core::ToCell
7
+
8
+ view_paths << "#{Matestack::Ui::Core::Engine.root}/app/concepts"
9
+
10
+ extend ViewName::Flat
11
+
12
+ def self.prefixes
13
+ _prefixes = super
14
+ modified_prefixes = _prefixes.map do |prefix|
15
+ prefix_parts = prefix.split("/")
16
+
17
+ if prefix_parts.last.include?(self.name.split("::")[-1].downcase)
18
+ prefix_parts[0..-2].join("/")
19
+ else
20
+ prefix
21
+ end
22
+
23
+ end
24
+
25
+ return modified_prefixes
26
+ end
27
+
28
+ def self.views_dir
29
+ return ""
30
+ end
31
+
32
+ def initialize(model=nil, options={})
33
+ super
34
+ @nodes = {}
35
+ @cells = {}
36
+ @page_block = nil
37
+ @page_id = ""
38
+ setup
39
+ end
40
+
41
+ def setup
42
+ true
43
+ end
44
+
45
+ def prepare
46
+ true
47
+ end
48
+
49
+ def show(page_id, page_nodes, &block)
50
+ @page_id = page_id
51
+ @page_nodes = page_nodes
52
+ prepare
53
+ response
54
+ render(view: :app, &block)
55
+ end
56
+
57
+ def page_nodes
58
+ @page_nodes
59
+ end
60
+
61
+ def components(&block)
62
+ @nodes = Matestack::Ui::Core::AppNode.build(self, &block)
63
+
64
+ @nodes.each do |key, node|
65
+ @cells[key] = to_cell(key, node["component_name"], node["config"], node["argument"], node["components"], nil, node["cached_params"])
66
+ end
67
+ end
68
+
69
+ def partial(&block)
70
+ Matestack::Ui::Core::AppNode.build(self, &block)
71
+ end
72
+
73
+ end
74
+ end
@@ -1,8 +1,7 @@
1
1
  import Vue from 'vue/dist/vue.esm'
2
2
  import Vuex from 'vuex'
3
3
  import axios from 'axios'
4
-
5
- import matestackEventHub from 'core/js/event-hub'
4
+ import matestackEventHub from 'js/event-hub'
6
5
 
7
6
  Vue.use(Vuex)
8
7
 
@@ -0,0 +1 @@
1
+ %area{@tag_attributes}
@@ -0,0 +1,18 @@
1
+ module Matestack::Ui::Core::Area
2
+ class Area < Matestack::Ui::Core::Component::Static
3
+ def setup
4
+ @tag_attributes.merge!({
5
+ alt: options[:alt],
6
+ coords: options[:coords].join(','),
7
+ download: options[:download],
8
+ href: options[:href],
9
+ hreflang: options[:hreflang],
10
+ media: options[:media],
11
+ rel: options[:rel],
12
+ shape: options[:shape],
13
+ target: options[:target],
14
+ type: options[:type]
15
+ })
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,5 @@
1
+ %article{@tag_attributes}
2
+ - if options[:text].nil? && block_given?
3
+ = yield
4
+ - else
5
+ = options[:text]
@@ -0,0 +1,5 @@
1
+ module Matestack::Ui::Core::Article
2
+ class Article < Matestack::Ui::Core::Component::Static
3
+
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ %aside{@tag_attributes}
2
+ - if block_given?
3
+ = yield
@@ -0,0 +1,5 @@
1
+ module Matestack::Ui::Core::Aside
2
+ class Aside < Matestack::Ui::Core::Component::Static
3
+
4
+ end
5
+ end
@@ -0,0 +1,2 @@
1
+ %div{@tag_attributes}
2
+ = yield
@@ -1,8 +1,6 @@
1
1
  import Vue from 'vue/dist/vue.esm'
2
-
3
- import matestackEventHub from 'core/js/event-hub'
4
-
5
- import componentMixin from 'component/js/component'
2
+ import matestackEventHub from 'js/event-hub'
3
+ import componentMixin from 'component/component'
6
4
 
7
5
  const componentDef = {
8
6
  mixins: [componentMixin],
@@ -18,8 +16,16 @@ const componentDef = {
18
16
  methods: {
19
17
  show: function(event_data){
20
18
  const self = this
19
+ if (this.showing === true){
20
+ return
21
+ }
21
22
  this.showing = true
22
23
  this.event.data = event_data
24
+ if(this.componentConfig["defer"] != undefined){
25
+ if(!isNaN(this.componentConfig["defer"])){
26
+ this.startDefer()
27
+ }
28
+ }
23
29
  if(this.componentConfig["hide_after"] != undefined){
24
30
  self.hide_after_timeout = setTimeout(function () {
25
31
  self.hide()
@@ -29,6 +35,12 @@ const componentDef = {
29
35
  hide: function(){
30
36
  this.showing = false
31
37
  this.event.data = {}
38
+ },
39
+ startDefer: function(){
40
+ const self = this
41
+ setTimeout(function () {
42
+ self.rerender()
43
+ }, parseInt(this.componentConfig["defer"]));
32
44
  }
33
45
  },
34
46
  created: function () {
@@ -39,7 +51,14 @@ const componentDef = {
39
51
  if(this.componentConfig["show_on"] != undefined){
40
52
  this.showing = false
41
53
  }
42
- if(this.componentConfig["hide_on"] != undefined){
54
+ if(this.componentConfig["defer"] != undefined){
55
+ if(!isNaN(this.componentConfig["defer"])){
56
+ if (this.componentConfig["show_on"] == undefined){
57
+ this.startDefer()
58
+ }
59
+ }
60
+ }
61
+ if(this.componentConfig["init_show"] == true){
43
62
  this.showing = true
44
63
  }
45
64
  },
@@ -52,6 +71,6 @@ const componentDef = {
52
71
  },
53
72
  }
54
73
 
55
- let component = Vue.component('async-cell', componentDef)
74
+ let component = Vue.component('matestack-ui-core-async', componentDef)
56
75
 
57
76
  export default componentDef