Skip to content

Instantly share code, notes, and snippets.

@stravid
Last active May 26, 2020 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stravid/d22547dec0e2c889ce7fda94c1bd56b9 to your computer and use it in GitHub Desktop.
Save stravid/d22547dec0e2c889ce7fda94c1bd56b9 to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
const Soll = Machine({
id: 'Soll Stand',
initial: 'Leer',
states: {
Leer: {
on: {
anfrageErhalten: 'Anfrage',
angebotAngefragt: 'AngefordertesAngebot'
},
},
Anfrage: {
on: {
abschließen: 'AbgeschlosseneAnfrage',
weiterverfolgen: 'AngefordertesAngebot',
}
},
AbgeschlosseneAnfrage: {
on: {
rueckgaengigMachen: 'Anfrage',
}
},
AngefordertesAngebot: {
on: {
stellen: 'GestelltesAngebot',
abbrechen: 'AbgebrochenesAngebot',
rueckgaengigMachen: 'Anfrage',
}
},
AbgebrochenesAngebot: {
on: {
rueckgaengigMachen: 'AngefordertesAngebot',
}
},
GestelltesAngebot: {
on: {
ablehnen: 'AbgelehntesAngebot',
erteilen : 'ErteilterAuftrag',
rueckgaengigMachen: 'AngefordertesAngebot',
}
},
AbgelehntesAngebot: {
on: {
rueckgaengigMachen: 'GestelltesAngebot',
}
},
ErteilterAuftrag: {
on: {
annehmen: 'AngenommenerAuftrag',
stornieren: 'StornierterAuftrag',
rueckgaengigMachen: 'GestelltesAngebot',
}
},
AngenommenerAuftrag: {
type: 'parallel',
states: {
Verrechnung: {
initial: 'Unverrechnet',
states: {
Unverrechnet: {
on: {
verrechnen: 'Verrechnet',
}
},
Verrechnet: {
on: {
rueckgaengigMachen: 'Unverrechnet',
}
},
}
},
Fertigstellung: {
initial: 'Unfertig',
states: {
Unfertig: {
on: {
abschließen: 'Fertig',
}
},
Fertig: {
on: {
rueckgaengigMachen: 'Unfertig',
}
},
}
}
},
on: {
stornieren: 'StornierterAuftrag',
rueckgaengigMachen: 'GestelltesAngebot',
}
},
StornierterAuftrag: {
on: {
rueckgaengigMachen: [
{ target: 'GestelltesAngebot', cond: 'warNochNichtAngenommen' },
{ target: 'AngenommenerAuftrag' },
]
}
},
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment