Skip to content

Commit

Permalink
feat: 馃幐 Add .toView() action
Browse files Browse the repository at this point in the history
.toView() action allow to use programmatic navigation. It is a sintax
sugar of .setView()

Issues: 16
  • Loading branch information
zircleUI committed Oct 17, 2018
1 parent 949af8c commit ac14b35
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/store/modules/navigation.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,18 @@ const navigation = {
store.state.backwardNavigation = value
}
},
toView (options) {
if (typeof options === 'string') {
store.actions.setView(options)
} else {
if (!options.to) store.actions.setLog('Programmatic navigation: "to" is required ', 'error')
if (!options.fromSpot) store.actions.setLog('Programmatic navigation: "fromSpot" is required ', 'error')
if (options.fromSpot && typeof options.fromSpot !== 'object') store.actions.setLog('Programmatic navigation: "fromSpot" should be an object ', 'error')
if (options.params && typeof options.params !== 'object') store.actions.setLog('Programmatic navigation: "params" should be an object ', 'error')
if (options.to && options.fromSpot && !options.params) store.actions.setView(options.to, {position: {X: options.fromSpot.position.Xabs, Y: options.fromSpot.position.Yabs, scale: options.fromSpot.position.scale, Xi: options.fromSpot.position.Xi, Yi: options.fromSpot.position.Yi, scalei: options.fromSpot.position.scalei}})
if (options.to && options.fromSpot && options.params) store.actions.setView({name: options.to, params: options.params}, {position: {X: options.fromSpot.position.Xabs, Y: options.fromSpot.position.Yabs, scale: options.fromSpot.position.scale, Xi: options.fromSpot.position.Xi, Yi: options.fromSpot.position.Yi, scalei: options.fromSpot.position.scalei}})
}
},
setView (data, options) {
if (store.state.history.length < 6) {
let view = parseView(data)
Expand Down

0 comments on commit ac14b35

Please sign in to comment.