Skip to content

Instantly share code, notes, and snippets.

@simonmcmanus
Last active July 22, 2020 14:27
Show Gist options
  • Save simonmcmanus/edac52ef3919e42900327ca2892298c7 to your computer and use it in GitHub Desktop.
Save simonmcmanus/edac52ef3919e42900327ca2892298c7 to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
const modelMachine = Machine({
id: 'model',
initial: 'summary',
context: {
size: 100,
},
states: {
loading: {
on: {
LOADED: {
target: 'summary'
},
},
},
summary: {
meta: {
buttonText: 'make big',
},
on: {
CHANGE_VARIATION: {
action: ['REMOVE_ITEM', "ADD_ITEM"]
},
ADD_ITEM: {
action: ['ADD_ITEM']
},
REMOVE_ITEM: {
action: ['REMOVE_ITEM']
},
TOGGLE_SIZE: {
target: 'full',
actions: ['MAXIMISE']
}
}
},
full: {
meta: {
buttonText: 'make small',
},
on: {
EXPORT: {
actions: ['EXPORT']
},
TOGGLE_SIZE: {
target: 'summary',
actions: ['MINIMISE']
}
}
},
}
}, {
actions: {
EXPORT: () => {
},
ADD_ITEM: () => {
},
REMOVE_ITEM: () => {
},
MINIMISE: (context, event) => {
context.size = 10
},
MAXIMISE: (context, event) => {
context.size = 600
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment