Skip to content

Commit

Permalink
refactor: Rename and flatten vuex options
Browse files Browse the repository at this point in the history
- vuex.mutations.setLocale has been renamed to vuex.syncLocale
- vuex.mutations.setMessages has been renamed to vuex.syncMessages
- vuex.mutations.dynamicRouteParams has been renamed to vuex.syncRouteParams

BREAKING CHANGE: Store module's options have been flattened and renamed
  • Loading branch information
paulgv committed Jul 20, 2019
1 parent 2fec446 commit 8897ac6
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 26 deletions.
15 changes: 6 additions & 9 deletions docs/options-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,17 +94,14 @@ Here are all the options available when configuring the module and their default
// Module namespace
moduleName: 'i18n',

// Mutations config
mutations: {
// If enabled, current app's locale is synced with nuxt-i18n store module
setLocale: false,
// If enabled, current app's locale is synced with nuxt-i18n store module
syncLocale: false,

// If enabled, current translation messages are synced with nuxt-i18n store module
setMessages: false,
// If enabled, current translation messages are synced with nuxt-i18n store module
syncMessages: false,

// Mutation to commit to set route parameters translations
setRouteParams: true
}
// Mutation to commit to set route parameters translations
syncRouteParams: true
},

// By default, custom routes are extracted from page files using acorn parsing,
Expand Down
8 changes: 3 additions & 5 deletions src/helpers/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,9 @@ exports.DEFAULT_OPTIONS = {
baseUrl: '',
vuex: {
moduleName: 'i18n',
mutations: {
setLocale: false,
setMessages: false,
setRouteParams: true
}
syncLocale: false,
syncMessages: false,
syncRouteParams: true
},
parsePages: true,
pages: {},
Expand Down
4 changes: 2 additions & 2 deletions src/helpers/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,10 @@ exports.getLocaleDomain = () => {
*/
exports.syncVuex = async (locale = null, messages = null) => {
if (vuex && store) {
if (locale !== null && vuex.mutations.setLocale) {
if (locale !== null && vuex.syncLocale) {
await store.dispatch(vuex.moduleName + '/setLocale', locale)
}
if (messages !== null && vuex.mutations.setMessages) {
if (messages !== null && vuex.syncMessages) {
await store.dispatch(vuex.moduleName + '/setMessages', messages)
}
}
Expand Down
20 changes: 10 additions & 10 deletions src/plugins/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,20 @@ export default async (context) => {
store.registerModule(vuex.moduleName, {
namespaced: true,
state: () => ({
<% if (options.vuex.mutations.setLocale) { %>locale: '',<% } %>
<% if (options.vuex.mutations.setMessages) { %>messages: {},<% } %>
<% if (options.vuex.mutations.setRouteParams) { %>routeParams: {}<% } %>
<% if (options.vuex.syncLocale) { %>locale: '',<% } %>
<% if (options.vuex.syncMessages) { %>messages: {},<% } %>
<% if (options.vuex.syncRouteParams) { %>routeParams: {}<% } %>
}),
actions: {
<% if (options.vuex.mutations.setLocale) { %>
<% if (options.vuex.syncLocale) { %>
setLocale ({ commit }, locale) {
commit('setLocale', locale)
},
<% } if (options.vuex.mutations.setMessages) { %>
<% } if (options.vuex.syncMessages) { %>
setMessages ({ commit }, messages) {
commit('setMessages', messages)
},
<% } if (options.vuex.mutations.setRouteParams) { %>
<% } if (options.vuex.syncRouteParams) { %>
setRouteParams ({ commit }, params) {
if (process.env.NODE_ENV === 'development') {
validateRouteParams(params)
Expand All @@ -53,22 +53,22 @@ export default async (context) => {
<% } %>
},
mutations: {
<% if (options.vuex.mutations.setLocale) { %>
<% if (options.vuex.syncLocale) { %>
setLocale (state, locale) {
state.locale = locale
},
<% } if (options.vuex.mutations.setMessages) { %>
<% } if (options.vuex.syncMessages) { %>
setMessages (state, messages) {
state.messages = messages
},
<% } if (options.vuex.mutations.setRouteParams) { %>
<% } if (options.vuex.syncRouteParams) { %>
setRouteParams (state, params) {
state.routeParams = params
}
<% } %>
},
getters: {
<% if (options.vuex.mutations.setRouteParams) { %>
<% if (options.vuex.syncRouteParams) { %>
localeRouteParams: ({ routeParams }) => locale => routeParams[locale] || {}
<% } %>
}
Expand Down

0 comments on commit 8897ac6

Please sign in to comment.