Last active
February 12, 2021 11:44
-
-
Save lynxtaa/378b24031ad15e35bfded95186012a0d to your computer and use it in GitHub Desktop.
Generated by XState Viz: https://xstate.js.org/viz
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Available variables: | |
// - Machine | |
// - interpret | |
// - assign | |
// - send | |
// - sendParent | |
// - spawn | |
// - raise | |
// - actions | |
// - XState (all XState exports) | |
const fetchMachine = Machine({ | |
id: 'route', | |
initial: 'Общий_ввод_карточки', | |
states: { | |
Общий_ввод_карточки: { | |
initial: 'Ввод_карточки_Петров', | |
states: { | |
Ввод_карточки_Петров: {}, | |
Ввод_карточки_Иванов: {}, | |
}, | |
on: { | |
FORWARD: 'Юрист', | |
REPLACE: [ | |
{ | |
target: '.Ввод_карточки_Петров', | |
cond: (ctx, event) => event.node === 'Ввод_карточки_Петров', | |
}, | |
{ | |
target: '.Ввод_карточки_Иванов', | |
cond: (ctx, event) => event.node === 'Ввод_карточки_Иванов', | |
}, | |
], | |
}, | |
}, | |
Юрист: { | |
initial: 'Нераспределенные_для_юристов', | |
states: { | |
Нераспределенные_для_юристов: {}, | |
Юрист_Ахматова: {}, | |
Юрист_Маяковский: {}, | |
}, | |
on: { | |
FORWARD: 'subRoute1', | |
BACK: 'Общий_ввод_карточки', | |
REPLACE: [ | |
{ | |
target: '.Нераспределенные_для_юристов', | |
cond: (ctx, event) => event.node === 'Нераспределенные_для_юристов', | |
}, | |
{ | |
target: '.Юрист_Ахматова', | |
cond: (ctx, event) => event.node === 'Юрист_Ахматова', | |
}, | |
{ | |
target: '.Юрист_Маяковский', | |
cond: (ctx, event) => event.node === 'Юрист_Маяковский', | |
}, | |
], | |
}, | |
}, | |
subRoute1: { | |
type: 'parallel', | |
states: { | |
branch1: { | |
initial: 'Загрузчик', | |
states: { | |
Загрузчик: { | |
on: { | |
FORWARD1: 'end', | |
}, | |
}, | |
end: { type: 'final' }, | |
}, | |
}, | |
branch2: { | |
initial: 'Набивка', | |
states: { | |
Набивка: { | |
initial: 'Нераспределенные_для_набивки', | |
states: { | |
Нераспределенные_для_набивки: {}, | |
Набивка_Иванов: {}, | |
Набивка_Петров: {}, | |
}, | |
on: { | |
FORWARD: '#route.subRoute1.branch2.Сверка', | |
REPLACE: [ | |
{ | |
target: '.Нераспределенные_для_набивки', | |
cond: (ctx, event) => event.node === 'Нераспределенные_для_набивки', | |
}, | |
{ | |
target: '.Набивка_Иванов', | |
cond: (ctx, event) => event.node === 'Набивка_Иванов', | |
}, | |
{ | |
target: '.Набивка_Петров', | |
cond: (ctx, event) => event.node === 'Набивка_Петров', | |
}, | |
], | |
}, | |
}, | |
Сверка: { | |
initial: 'Нераспределенные_для_сверки', | |
states: { | |
Нераспределенные_для_сверки: {}, | |
Сверка_Иванов: {}, | |
Сверка_Петров: {}, | |
}, | |
on: { | |
FORWARD: 'end', | |
BACK: 'Набивка', | |
REPLACE: [ | |
{ | |
target: '.Нераспределенные_для_сверки', | |
cond: (ctx, event) => event.node === 'Нераспределенные_для_сверки', | |
}, | |
{ | |
target: '.Сверка_Иванов', | |
cond: (ctx, event) => event.node === 'Сверка_Иванов', | |
}, | |
{ | |
target: '.Сверка_Петров', | |
cond: (ctx, event) => event.node === 'Сверка_Петров', | |
}, | |
], | |
}, | |
}, | |
end: { type: 'final' }, | |
}, | |
}, | |
}, | |
onDone: 'Контроль', | |
}, | |
Контроль: { | |
initial: 'Нераспределенные_для_контроля', | |
states: { | |
Нераспределенные_для_контроля: {}, | |
Контроль_Иванов: {}, | |
}, | |
on: { | |
FORWARD: 'Сток', | |
BACK: { target: ['subRoute1.branch1.Загрузчик', 'subRoute1.branch2.Сверка'] }, | |
REPLACE: [ | |
{ | |
target: '.Нераспределенные_для_контроля', | |
cond: (ctx, event) => event.node === 'Нераспределенные_для_контроля', | |
}, | |
{ | |
target: '.Контроль_Иванов', | |
cond: (ctx, event) => event.node === 'Контроль_Иванов', | |
}, | |
], | |
}, | |
}, | |
Сток: { type: 'final' }, | |
}, | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment