matestack-ui-core
previously contained logic formatestack-ui-vuejs
matestack-ui-core
is now meant to be combined with any reactivity framework or none at allmatestack-ui-core
2.x you now have to install matestack-ui-vuejs
(Ruby Gem & NPM Package) additionally:Gemfile
matestack-ui-core
JavaScript packagematestack-ui-core
does not ship a JavaScript package anymorematestack-ui-vuejs
for the VueJs driven reactivity if requiredmatestack-ui-vuejs
:package.json
regeneratorRuntime
(especially when using Vuex)config/webpack/environment.js
import { whatever } from 'vue'
instead of import { whatever } from 'vue/dist/vue.esm'
config/webpack/environment.js
Matestack::Ui::App
is now called Matestack::Ui::Layout
Matestack::Ui::App
was always meant to be a layout wrapping pages, but was supercharged with some vuejs logic before splitting the core
and vuejs
reposMatestack::Ui::App
is only a layout, that's why it should be named like that: Matestack::Ui::Layout
matestack_app
method is renamed to matestack_layout
matestack_app
method used on controller level is renamed to matestack_layout
app/controllers/demo_controller.rb
Matestack::Ui::Layout
Matestack::Ui::Page
wrapping DOM structuresMatestack::Ui::App
added some wrapping DOM structure around the whole layout and around it's yield
Matestack::Ui::Layout
now purely renders the layout and yields a page without anything in betweenmatestack-ui-vuejs
(see section below!)matestack/some/app/layout.rb
matestack/some/app/pages/some_page.rb
Matestack::Ui::Layout
adjustments when using matestack-ui-vuejs
Matestack::Ui::Layout
classes are no longer automatically wrapped by a component tag meant to mount the matestack-ui-core-app component on it.matestack_vue_js_app
component, which is more explicit and gives more flexibilitypage_switch
component has to wrap the yield
in order to support dynamic page transitionsmatestack/some/vue_js/app/layout.rb
<matestack-component-tempate>
will be rendered coming from these two new componentsMatestackUiCore
is now MatestackUiVueJs
MatestackUiVueJs
javascript/packs/application.js
some/component/file.js
javascript/packs/application.js
template: MatestackUiVueJs.componentHelpers.inlineTemplate
some/component/file.js
import componentHelpers from 'some/relative/path/to/helpers'
template: componentHelpers.inlineTemplate
vc.
(short for vue component) in order to prefix all properties references or method calls within your vue.js component response
some/component/file.js
this.getRefs()
instead of this.$refs
matestack_ui_vuejs_ref()
when applying refs to your componen template:this.getElement()
instead of this.$el
in order to get the root element defined in your response
methodthis.getTemplateElement()
in order to get the template element (matestack-component-template
tag) wrapping the root element defined in your response
methodbeforeDestroy
was renamed to beforeUnmount
within vue3this.$set
and Vue.set
are removed in vue3 as they are not longer required for proper reactivity binding