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.
- checksums.yaml +4 -4
- data/README.md +19 -21
- data/app/concepts/matestack/ui/core/abbr/abbr.haml +5 -0
- data/app/concepts/matestack/ui/core/abbr/abbr.rb +12 -0
- data/app/concepts/{absolute/view → matestack/ui/core/absolute}/absolute.haml +0 -0
- data/app/concepts/{absolute/cell → matestack/ui/core/absolute}/absolute.rb +2 -2
- data/app/concepts/matestack/ui/core/action/action.haml +3 -0
- data/app/concepts/{action/js → matestack/ui/core/action}/action.js +3 -3
- data/app/concepts/{action/cell → matestack/ui/core/action}/action.rb +2 -2
- data/app/concepts/{component/view → matestack/ui/core/actionview}/dynamic.haml +0 -0
- data/app/concepts/matestack/ui/core/actionview/dynamic.rb +28 -0
- data/app/concepts/{component/view → matestack/ui/core/actionview}/static.haml +0 -0
- data/app/concepts/matestack/ui/core/actionview/static.rb +28 -0
- data/app/concepts/matestack/ui/core/address/address.haml +5 -0
- data/app/concepts/matestack/ui/core/address/address.rb +5 -0
- data/app/concepts/{app/view → matestack/ui/core/app}/app.haml +1 -1
- data/app/concepts/{app/js → matestack/ui/core/app}/app.js +1 -1
- data/app/concepts/matestack/ui/core/app/app.rb +74 -0
- data/app/concepts/{app/js → matestack/ui/core/app}/store.js +1 -2
- data/app/concepts/matestack/ui/core/area/area.haml +1 -0
- data/app/concepts/matestack/ui/core/area/area.rb +18 -0
- data/app/concepts/matestack/ui/core/article/article.haml +5 -0
- data/app/concepts/matestack/ui/core/article/article.rb +5 -0
- data/app/concepts/matestack/ui/core/aside/aside.haml +3 -0
- data/app/concepts/matestack/ui/core/aside/aside.rb +5 -0
- data/app/concepts/matestack/ui/core/async/async.haml +2 -0
- data/app/concepts/{async/js → matestack/ui/core/async}/async.js +25 -6
- data/app/concepts/matestack/ui/core/async/async.rb +12 -0
- data/app/concepts/matestack/ui/core/b/b.haml +5 -0
- data/app/concepts/matestack/ui/core/b/b.rb +5 -0
- data/app/concepts/matestack/ui/core/blockquote/blockquote.haml +5 -0
- data/app/concepts/matestack/ui/core/blockquote/blockquote.rb +11 -0
- data/app/concepts/{br/view → matestack/ui/core/br}/br.haml +2 -2
- data/app/concepts/matestack/ui/core/br/br.rb +5 -0
- data/app/concepts/matestack/ui/core/button/button.haml +5 -0
- data/app/concepts/matestack/ui/core/button/button.rb +11 -0
- data/app/concepts/matestack/ui/core/caption/caption.haml +5 -0
- data/app/concepts/matestack/ui/core/caption/caption.rb +5 -0
- data/app/concepts/matestack/ui/core/cite/cite.haml +5 -0
- data/app/concepts/matestack/ui/core/cite/cite.rb +5 -0
- data/app/concepts/matestack/ui/core/code/code.haml +5 -0
- data/app/concepts/matestack/ui/core/code/code.rb +5 -0
- data/app/concepts/matestack/ui/core/collection/content/content.js +98 -0
- data/app/concepts/matestack/ui/core/collection/content/content.rb +18 -0
- data/app/concepts/matestack/ui/core/collection/content/next/next.haml +3 -0
- data/app/concepts/matestack/ui/core/collection/content/next/next.rb +5 -0
- data/app/concepts/matestack/ui/core/collection/content/page/link/link.haml +3 -0
- data/app/concepts/matestack/ui/core/collection/content/page/link/link.rb +5 -0
- data/app/concepts/matestack/ui/core/collection/content/previous/previous.haml +3 -0
- data/app/concepts/matestack/ui/core/collection/content/previous/previous.rb +5 -0
- data/app/concepts/matestack/ui/core/collection/filter/filter.js +48 -0
- data/app/concepts/matestack/ui/core/collection/filter/filter.rb +17 -0
- data/app/concepts/matestack/ui/core/collection/filter/input/input.haml +2 -0
- data/app/concepts/matestack/ui/core/collection/filter/input/input.rb +25 -0
- data/app/concepts/matestack/ui/core/collection/filter/reset/reset.haml +3 -0
- data/app/concepts/matestack/ui/core/collection/filter/reset/reset.rb +5 -0
- data/app/concepts/matestack/ui/core/collection/filter/submit/submit.haml +3 -0
- data/app/concepts/matestack/ui/core/collection/filter/submit/submit.rb +5 -0
- data/app/concepts/matestack/ui/core/collection/helper.rb +113 -0
- data/app/concepts/matestack/ui/core/collection/order/order.js +56 -0
- data/app/concepts/matestack/ui/core/collection/order/order.rb +17 -0
- data/app/concepts/matestack/ui/core/collection/order/toggle/indicator/indicator.rb +13 -0
- data/app/concepts/matestack/ui/core/collection/order/toggle/toggle.haml +3 -0
- data/app/concepts/matestack/ui/core/collection/order/toggle/toggle.rb +5 -0
- data/app/concepts/matestack/ui/core/component/anonym-dynamic-component.js +10 -0
- data/app/concepts/{component/view → matestack/ui/core/component}/children.haml +0 -0
- data/app/concepts/{component/js → matestack/ui/core/component}/component.js +3 -4
- data/app/concepts/matestack/ui/core/component/dynamic.haml +6 -0
- data/app/concepts/{component/cell → matestack/ui/core/component}/dynamic.rb +86 -43
- data/app/concepts/{component/view → matestack/ui/core/component}/dynamic_without_rerender.haml +0 -0
- data/app/concepts/{component/view → matestack/ui/core/component}/response.haml +0 -0
- data/app/concepts/{component/view → matestack/ui/core/component}/response_dynamic.haml +0 -0
- data/app/concepts/{component/view → matestack/ui/core/component}/response_dynamic_without_rerender.haml +0 -0
- data/app/concepts/matestack/ui/core/component/static.haml +1 -0
- data/app/concepts/{component/cell → matestack/ui/core/component}/static.rb +3 -3
- data/app/concepts/matestack/ui/core/dd/dd.haml +5 -0
- data/app/concepts/matestack/ui/core/dd/dd.rb +5 -0
- data/app/concepts/matestack/ui/core/details/details.haml +3 -0
- data/app/concepts/matestack/ui/core/details/details.rb +5 -0
- data/app/concepts/{div/view → matestack/ui/core/div}/div.haml +0 -0
- data/app/concepts/matestack/ui/core/div/div.rb +5 -0
- data/app/concepts/matestack/ui/core/dl/dl.haml +5 -0
- data/app/concepts/matestack/ui/core/dl/dl.rb +5 -0
- data/app/concepts/matestack/ui/core/dt/dt.haml +5 -0
- data/app/concepts/matestack/ui/core/dt/dt.rb +5 -0
- data/app/concepts/matestack/ui/core/em/em.haml +5 -0
- data/app/concepts/matestack/ui/core/em/em.rb +5 -0
- data/app/concepts/matestack/ui/core/fieldset/fieldset.haml +5 -0
- data/app/concepts/matestack/ui/core/fieldset/fieldset.rb +9 -0
- data/app/concepts/matestack/ui/core/figure/figure.haml +3 -0
- data/app/concepts/matestack/ui/core/figure/figure.rb +5 -0
- data/app/concepts/{footer/view → matestack/ui/core/footer}/footer.haml +0 -0
- data/app/concepts/matestack/ui/core/footer/footer.rb +5 -0
- data/app/concepts/{form/view → matestack/ui/core/form}/form.haml +0 -0
- data/app/concepts/{form/js → matestack/ui/core/form}/form.js +22 -4
- data/app/concepts/{form/cell → matestack/ui/core/form}/form.rb +2 -2
- data/app/concepts/{form/view → matestack/ui/core/form/inline}/inline.haml +0 -0
- data/app/concepts/matestack/ui/core/form/inline/inline.rb +9 -0
- data/app/concepts/{form/view → matestack/ui/core/form/input}/input.haml +4 -6
- data/app/concepts/{form/cell → matestack/ui/core/form/input}/input.rb +2 -2
- data/app/concepts/{form/view → matestack/ui/core/form/select}/select.haml +10 -6
- data/app/concepts/{form/cell → matestack/ui/core/form/select}/select.rb +2 -2
- data/app/concepts/{form/view → matestack/ui/core/form/submit}/submit.haml +0 -0
- data/app/concepts/matestack/ui/core/form/submit/submit.rb +9 -0
- data/app/concepts/{header/view → matestack/ui/core/header}/header.haml +0 -0
- data/app/concepts/matestack/ui/core/header/header.rb +5 -0
- data/app/concepts/{heading/view → matestack/ui/core/heading}/heading.haml +0 -0
- data/app/concepts/matestack/ui/core/heading/heading.rb +5 -0
- data/app/concepts/matestack/ui/core/hr/hr.haml +1 -0
- data/app/concepts/matestack/ui/core/hr/hr.rb +5 -0
- data/app/concepts/{html/view → matestack/ui/core/html}/html.haml +0 -0
- data/app/concepts/matestack/ui/core/html/html.js +10 -0
- data/app/concepts/{html/cell → matestack/ui/core/html}/html.rb +2 -2
- data/app/concepts/matestack/ui/core/icon/icon.haml +5 -0
- data/app/concepts/matestack/ui/core/icon/icon.rb +5 -0
- data/app/concepts/matestack/ui/core/img/img.haml +1 -0
- data/app/concepts/matestack/ui/core/img/img.rb +15 -0
- data/app/concepts/{input/view → matestack/ui/core/input}/input.haml +0 -0
- data/app/concepts/matestack/ui/core/input/input.rb +5 -0
- data/app/concepts/matestack/ui/core/ins/ins.haml +5 -0
- data/app/concepts/matestack/ui/core/ins/ins.rb +10 -0
- data/app/concepts/{partial/view/partial.haml → matestack/ui/core/isolate/isolate.haml} +0 -0
- data/app/concepts/matestack/ui/core/isolate/isolate.rb +11 -0
- data/app/concepts/matestack/ui/core/js/core.js +29 -0
- data/app/concepts/{core → matestack/ui/core}/js/event-hub.js +0 -0
- data/app/concepts/matestack/ui/core/js/helpers/query-params-helper.js +56 -0
- data/app/concepts/matestack/ui/core/kbd/kbd.haml +5 -0
- data/app/concepts/matestack/ui/core/kbd/kbd.rb +4 -0
- data/app/concepts/matestack/ui/core/label/label.haml +5 -0
- data/app/concepts/matestack/ui/core/label/label.rb +10 -0
- data/app/concepts/matestack/ui/core/legend/legend.haml +5 -0
- data/app/concepts/matestack/ui/core/legend/legend.rb +5 -0
- data/app/concepts/matestack/ui/core/li/li.haml +5 -0
- data/app/concepts/matestack/ui/core/li/li.rb +5 -0
- data/app/concepts/matestack/ui/core/link/link.haml +5 -0
- data/app/concepts/{link/cell → matestack/ui/core/link}/link.rb +7 -4
- data/app/concepts/{main/view → matestack/ui/core/main}/main.haml +0 -0
- data/app/concepts/matestack/ui/core/main/main.rb +5 -0
- data/app/concepts/matestack/ui/core/map/map.haml +3 -0
- data/app/concepts/matestack/ui/core/map/map.rb +11 -0
- data/app/concepts/matestack/ui/core/mark/mark.haml +5 -0
- data/app/concepts/matestack/ui/core/mark/mark.rb +4 -0
- data/app/concepts/matestack/ui/core/meter/meter.haml +4 -0
- data/app/concepts/matestack/ui/core/meter/meter.rb +14 -0
- data/app/concepts/{nav/view → matestack/ui/core/nav}/nav.haml +0 -0
- data/app/concepts/matestack/ui/core/nav/nav.rb +5 -0
- data/app/concepts/matestack/ui/core/noscript/noscript.haml +5 -0
- data/app/concepts/matestack/ui/core/noscript/noscript.rb +5 -0
- data/app/concepts/matestack/ui/core/object/object.haml +1 -0
- data/app/concepts/matestack/ui/core/object/object.rb +15 -0
- data/app/concepts/matestack/ui/core/ol/ol.haml +3 -0
- data/app/concepts/matestack/ui/core/ol/ol.rb +5 -0
- data/app/concepts/matestack/ui/core/onclick/onclick.haml +2 -0
- data/app/concepts/{onclick/js → matestack/ui/core/onclick}/onclick.js +3 -3
- data/app/concepts/matestack/ui/core/onclick/onclick.rb +5 -0
- data/app/concepts/matestack/ui/core/output/output.haml +5 -0
- data/app/concepts/matestack/ui/core/output/output.rb +11 -0
- data/app/concepts/{page/view → matestack/ui/core/page}/content.haml +0 -0
- data/app/concepts/{page/js → matestack/ui/core/page}/content.js +2 -2
- data/app/concepts/matestack/ui/core/page/content.rb +5 -0
- data/app/concepts/{page/view → matestack/ui/core/page}/page.haml +0 -0
- data/app/concepts/matestack/ui/core/page/page.rb +189 -0
- data/app/concepts/matestack/ui/core/paragraph/paragraph.haml +5 -0
- data/app/concepts/matestack/ui/core/paragraph/paragraph.rb +5 -0
- data/app/concepts/matestack/ui/core/param/param.haml +1 -0
- data/app/concepts/matestack/ui/core/param/param.rb +10 -0
- data/app/concepts/{slot/view/slot.haml → matestack/ui/core/partial/partial.haml} +0 -0
- data/app/concepts/matestack/ui/core/partial/partial.rb +5 -0
- data/app/concepts/matestack/ui/core/pg/pg.haml +5 -0
- data/app/concepts/matestack/ui/core/pg/pg.rb +5 -0
- data/app/concepts/matestack/ui/core/plain/plain.rb +9 -0
- data/app/concepts/matestack/ui/core/pre/pre.haml +5 -0
- data/app/concepts/matestack/ui/core/pre/pre.rb +5 -0
- data/app/concepts/matestack/ui/core/progress/progress.haml +3 -0
- data/app/concepts/matestack/ui/core/progress/progress.rb +14 -0
- data/app/concepts/matestack/ui/core/q/q.haml +5 -0
- data/app/concepts/matestack/ui/core/q/q.rb +11 -0
- data/app/concepts/matestack/ui/core/rp/rp.haml +5 -0
- data/app/concepts/matestack/ui/core/rp/rp.rb +5 -0
- data/app/concepts/matestack/ui/core/rt/rt.haml +5 -0
- data/app/concepts/matestack/ui/core/rt/rt.rb +5 -0
- data/app/concepts/matestack/ui/core/ruby/ruby.haml +5 -0
- data/app/concepts/matestack/ui/core/ruby/ruby.rb +5 -0
- data/app/concepts/matestack/ui/core/s/s.haml +5 -0
- data/app/concepts/matestack/ui/core/s/s.rb +6 -0
- data/app/concepts/{section/view → matestack/ui/core/section}/section.haml +0 -0
- data/app/concepts/matestack/ui/core/section/section.rb +5 -0
- data/app/concepts/matestack/ui/core/slot/slot.haml +2 -0
- data/app/concepts/matestack/ui/core/slot/slot.rb +5 -0
- data/app/concepts/matestack/ui/core/small/small.haml +5 -0
- data/app/concepts/matestack/ui/core/small/small.rb +5 -0
- data/app/concepts/matestack/ui/core/span/span.haml +5 -0
- data/app/concepts/matestack/ui/core/span/span.rb +5 -0
- data/app/concepts/matestack/ui/core/strong/strong.haml +5 -0
- data/app/concepts/matestack/ui/core/strong/strong.rb +5 -0
- data/app/concepts/matestack/ui/core/sub/sub.haml +5 -0
- data/app/concepts/matestack/ui/core/sub/sub.rb +5 -0
- data/app/concepts/matestack/ui/core/summary/summary.haml +5 -0
- data/app/concepts/matestack/ui/core/summary/summary.rb +5 -0
- data/app/concepts/matestack/ui/core/sup/sup.haml +5 -0
- data/app/concepts/matestack/ui/core/sup/sup.rb +5 -0
- data/app/concepts/matestack/ui/core/table/table.haml +3 -0
- data/app/concepts/matestack/ui/core/table/table.rb +5 -0
- data/app/concepts/matestack/ui/core/tbody/tbody.haml +3 -0
- data/app/concepts/matestack/ui/core/tbody/tbody.rb +5 -0
- data/app/concepts/matestack/ui/core/td/td.haml +5 -0
- data/app/concepts/matestack/ui/core/td/td.rb +5 -0
- data/app/concepts/matestack/ui/core/tfoot/tfoot.haml +3 -0
- data/app/concepts/matestack/ui/core/tfoot/tfoot.rb +5 -0
- data/app/concepts/matestack/ui/core/th/th.haml +5 -0
- data/app/concepts/matestack/ui/core/th/th.rb +5 -0
- data/app/concepts/matestack/ui/core/thead/thead.haml +3 -0
- data/app/concepts/matestack/ui/core/thead/thead.rb +5 -0
- data/app/concepts/matestack/ui/core/time/time.haml +3 -0
- data/app/concepts/matestack/ui/core/time/time.rb +11 -0
- data/app/concepts/matestack/ui/core/tr/tr.haml +3 -0
- data/app/concepts/matestack/ui/core/tr/tr.rb +5 -0
- data/app/concepts/matestack/ui/core/transition/transition.haml +5 -0
- data/app/concepts/{transition/js → matestack/ui/core/transition}/transition.js +2 -2
- data/app/concepts/{transition/cell → matestack/ui/core/transition}/transition.rb +2 -2
- data/app/concepts/{ul/view → matestack/ui/core/ul}/ul.haml +0 -0
- data/app/concepts/matestack/ui/core/ul/ul.rb +5 -0
- data/app/concepts/matestack/ui/core/var/var.haml +5 -0
- data/app/concepts/matestack/ui/core/var/var.rb +4 -0
- data/app/concepts/matestack/ui/core/video/video.haml +3 -0
- data/app/concepts/matestack/ui/core/video/video.rb +23 -0
- data/app/concepts/matestack/ui/core/youtube/youtube.haml +1 -0
- data/app/concepts/matestack/ui/core/youtube/youtube.rb +26 -0
- data/app/lib/matestack/ui/app.rb +1 -0
- data/app/{concepts/app/utils → lib/matestack/ui/core}/app_node.rb +1 -1
- data/app/{concepts/component/utils → lib/matestack/ui/core}/component_node.rb +7 -3
- data/app/lib/matestack/ui/core/page_node.rb +96 -0
- data/app/{concepts/shared/utils → lib/matestack/ui/core}/to_cell.rb +29 -26
- data/app/lib/matestack/ui/dynamic_actionview_component.rb +1 -0
- data/app/lib/matestack/ui/dynamic_component.rb +1 -0
- data/app/lib/matestack/ui/page.rb +1 -0
- data/app/lib/matestack/ui/static_actionview_component.rb +1 -0
- data/app/lib/matestack/ui/static_component.rb +1 -0
- data/config/routes.rb +0 -1
- data/lib/generators/matestack/app/USAGE +21 -0
- data/lib/generators/matestack/app/app_generator.rb +25 -0
- data/lib/generators/matestack/app/templates/app/controllers/%file_name%_controller.rb.tt +5 -0
- data/lib/generators/matestack/app/templates/app/matestack/apps/%file_name%.rb.tt +28 -0
- data/lib/generators/matestack/component/USAGE +20 -0
- data/lib/generators/matestack/component/component_generator.rb +29 -0
- data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.haml.tt +5 -0
- data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.js.tt +17 -0
- data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.rb.tt +11 -0
- data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.scss.tt +1 -0
- data/lib/generators/matestack/core/component/USAGE +16 -0
- data/lib/generators/matestack/core/component/component_generator.rb +23 -0
- data/lib/generators/matestack/core/component/templates/app/concepts/matestack/ui/core/%file_name%/%file_name%.haml.tt +5 -0
- data/lib/generators/matestack/core/component/templates/app/concepts/matestack/ui/core/%file_name%/%file_name%.rb.tt +4 -0
- data/lib/generators/matestack/core/component/templates/docs/components/%file_name%.md.tt +44 -0
- data/lib/generators/matestack/core/component/templates/spec/usage/components/%file_name%_spec.rb +31 -0
- data/lib/generators/matestack/page/USAGE +28 -0
- data/lib/generators/matestack/page/page_generator.rb +54 -0
- data/lib/generators/matestack/page/templates/app/matestack/pages/%app_name%/%namespace%/%file_name%.rb.tt +28 -0
- data/lib/matestack/ui/core/version.rb +1 -1
- data/vendor/assets/javascripts/matestack-ui-core.js +4362 -3127
- data/vendor/assets/javascripts/matestack-ui-core.js.map +1 -1
- metadata +260 -122
- data/app/assets/config/basemate_ui_core_manifest.js +0 -2
- data/app/assets/javascripts/basemate/ui/core/application.js +0 -15
- data/app/assets/stylesheets/basemate/ui/core/application.css +0 -15
- data/app/concepts/action/view/action.haml +0 -3
- data/app/concepts/app/cell/app.rb +0 -76
- data/app/concepts/async/cell/async.rb +0 -10
- data/app/concepts/async/view/async.haml +0 -2
- data/app/concepts/br/cell/br.rb +0 -5
- data/app/concepts/button/cell/button.rb +0 -5
- data/app/concepts/button/view/button.haml +0 -7
- data/app/concepts/component/js/anonym-dynamic-component.js +0 -10
- data/app/concepts/core/js/core.js +0 -27
- data/app/concepts/div/cell/div.rb +0 -6
- data/app/concepts/footer/cell/footer.rb +0 -5
- data/app/concepts/form/cell/inline.rb +0 -9
- data/app/concepts/form/cell/submit.rb +0 -9
- data/app/concepts/header/cell/header.rb +0 -5
- data/app/concepts/heading/cell/heading.rb +0 -5
- data/app/concepts/html/js/html.js +0 -10
- data/app/concepts/icon/cell/icon.rb +0 -5
- data/app/concepts/icon/view/icon.haml +0 -6
- data/app/concepts/img/cell/img.rb +0 -5
- data/app/concepts/img/view/img.haml +0 -1
- data/app/concepts/input/cell/input.rb +0 -5
- data/app/concepts/label/cell/label.rb +0 -5
- data/app/concepts/label/view/label.haml +0 -7
- data/app/concepts/li/cell/li.rb +0 -5
- data/app/concepts/li/view/li.haml +0 -6
- data/app/concepts/link/view/link.haml +0 -6
- data/app/concepts/main/cell/main.rb +0 -5
- data/app/concepts/nav/cell/nav.rb +0 -5
- data/app/concepts/ol/cell/ol.rb +0 -5
- data/app/concepts/ol/view/ol.haml +0 -3
- data/app/concepts/onclick/cell/onclick.rb +0 -6
- data/app/concepts/onclick/view/onclick.haml +0 -2
- data/app/concepts/page/cell/content.rb +0 -5
- data/app/concepts/page/cell/page.rb +0 -128
- data/app/concepts/page/utils/page_node.rb +0 -66
- data/app/concepts/partial/cell/partial.rb +0 -5
- data/app/concepts/pg/cell/pg.rb +0 -5
- data/app/concepts/pg/view/pg.haml +0 -8
- data/app/concepts/plain/cell/plain.rb +0 -10
- data/app/concepts/progress/cell/progress.rb +0 -5
- data/app/concepts/progress/view/progress.haml +0 -3
- data/app/concepts/section/cell/section.rb +0 -5
- data/app/concepts/slot/cell/slot.rb +0 -10
- data/app/concepts/span/cell/span.rb +0 -5
- data/app/concepts/span/view/span.haml +0 -3
- data/app/concepts/table/cell/table.rb +0 -5
- data/app/concepts/table/view/table.haml +0 -3
- data/app/concepts/td/cell/td.rb +0 -5
- data/app/concepts/td/view/td.haml +0 -8
- data/app/concepts/th/cell/th.rb +0 -5
- data/app/concepts/th/view/th.haml +0 -8
- data/app/concepts/tr/cell/tr.rb +0 -5
- data/app/concepts/tr/view/tr.haml +0 -3
- data/app/concepts/transition/view/transition.haml +0 -7
- data/app/concepts/ul/cell/ul.rb +0 -5
- data/app/concepts/view/cell/view.rb +0 -7
- data/app/concepts/view/js/view.js +0 -42
- data/app/concepts/view/view/view.haml +0 -2
- data/app/controllers/basemate/ui/core/application_controller.rb +0 -9
- 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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5c58a7c3107da2943a7443d50e8cf07ba1f379bc58b71a3f97d00700ad87773b
|
|
4
|
+
data.tar.gz: d76f2c74cd96afad0b6e4071c751c46122a294690e03f6006ec395e84af24637
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e02c8a827ab68d86343df60902c2c245b9eff1374d3c2f77adbb050472270ad4858c0d9b0b0473dd06315c2f33f089e9237870d7cfe4f977c6e1d65145b4b4fa
|
|
7
|
+
data.tar.gz: 895b45ac12b0f494e5f40c3b5214884d28fb23657602d3b5c4f6637f6353817fda117898743f280dcfd7376aa508b4ae507cd28da6624e2a78fb77b9034d0542
|
data/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
[](https://circleci.com/gh/basemate/matestack-ui-core/tree/master)
|
|
2
|
+
[](https://gitter.im/basemate/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
3
|
+
[](https://badge.fury.io/rb/matestack-ui-core)
|
|
2
4
|
|
|
3
5
|

|
|
4
6
|
|
|
5
|
-
#
|
|
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 <
|
|
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 <
|
|
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 <
|
|
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 <
|
|
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 <
|
|
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 <
|
|
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 <
|
|
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](
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
|
File without changes
|
|
@@ -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 '
|
|
5
|
+
import matestackEventHub from 'js/event-hub'
|
|
6
6
|
|
|
7
|
-
import componentMixin from '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
|
|
47
|
+
let component = Vue.component('matestack-ui-core-action', componentDef)
|
|
48
48
|
|
|
49
49
|
export default componentDef
|
|
File without changes
|
|
@@ -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
|
|
File without changes
|
|
@@ -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,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
|
|
@@ -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
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import Vue from 'vue/dist/vue.esm'
|
|
2
|
-
|
|
3
|
-
import
|
|
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["
|
|
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
|
|
74
|
+
let component = Vue.component('matestack-ui-core-async', componentDef)
|
|
56
75
|
|
|
57
76
|
export default componentDef
|