Skip to content

Instantly share code, notes, and snippets.

@uniconstructor
Last active January 20, 2020 21:54
Show Gist options
  • Save uniconstructor/29473a148b6b87cd534bb1de1ff4572f to your computer and use it in GitHub Desktop.
Save uniconstructor/29473a148b6b87cd534bb1de1ff4572f to your computer and use it in GitHub Desktop.

Revisions

  1. uniconstructor revised this gist Jan 20, 2020. 1 changed file with 115 additions and 48 deletions.
    163 changes: 115 additions & 48 deletions machine.js
    Original file line number Diff line number Diff line change
    @@ -1,79 +1,146 @@
    const fetchMachine = Machine({
    "id": "NewPublicationWorkflow",
    "context": {},
    "initial": "Start",
    "states": {
    "Start": {
    "on": {
    "START_CONFIRMED": "Setup"
    'id': 'NewPublicationWorkflow',
    'meta': {
    'name': 'Создание новой публикации автором',
    'description': [
    'Процесс подготовки статьи, выполняемый автором перед отправкой на проверку редактору.'
    ]
    },
    'context': {},
    'initial': 'Start',
    'states': {
    'Start': {
    'on': {
    'START_CONFIRMED': 'Setup'
    },
    'meta': {
    'name': 'Создание новой публикации',
    'description': [
    'Перед отправкой статьи нужно указать для нее стандартный набор обязательных ',
    'параметров (например тематику, язык публикации и список авторов).',
    '\n\n',
    '## Особенности работы\n',
    ' - Ввод данных разделен на шаги.\n',
    ' - Все данные сохраняются в черновике при каждом изменении любого поля формы.\n',
    ' - Вы можете прервать процесс на любом шаге и вернутся к нему позже.\n',
    ' - Можно одновременно работать с несколькими черновиками.\n',
    ' - Все введенные данные будут доступны для просмотра на последнем шаге перед отправкой.\n',
    ' - Изменить черновик публикации после отправки будет нельзя.\n'
    ]
    }
    },
    "Setup": {
    "type": "compound",
    "initial": "Journal",
    "states": {
    "Journal": {
    "on": {
    "": [
    'Setup': {
    'type': 'compound',
    'initial': 'Journal',
    'states': {
    'Journal': {
    'on': {
    '': [
    {
    "target": "Language"
    'target': 'Language'
    }
    ]
    },
    'meta': {
    'name': 'Выбор журнала для публикации'
    }
    },
    "Language": {
    "on": {
    "LANGUAGE_SET": "Checklist"
    'Language': {
    'on': {
    'LANGUAGE_SET': 'Checklist'
    },
    'meta': {
    'name': 'Выбор языка публикации'
    }
    },
    "Checklist": {
    "on": {
    "CHECKLIST_PASSED": "Finish"
    'Checklist': {
    'on': {
    'CHECKLIST_PASSED': 'Finish'
    },
    'meta': {
    'name': 'Проверка статьи перед загрузкой',
    'description': [
    'Перед тем как перейти к загрузке файла статьи убедитесь что она соответствует ',
    'общим требованиям. Нужно отметитьь все пункты списка чтобы перейти к следующему шагу.'
    ]
    }
    },
    "Finish": {
    "type": "final"
    'Finish': {
    'type': 'final',
    'meta': {
    'name': 'Подготовка публикации завершена'
    }
    }
    },
    "onDone": "Article"
    'onDone': 'Article',
    'meta': {
    'name': 'Настройка параметров публикации'
    }
    },
    "Article": {
    "type": "compound",
    "initial": "Upload",
    "states": {
    "Upload": {
    "on": {
    "ARTICLE_UPLOADED": "Meta"
    'Article': {
    'type': 'compound',
    'initial': 'Upload',
    'states': {
    'Upload': {
    'on': {
    'ARTICLE_UPLOADED': 'Meta'
    },
    'meta': {
    'name': 'Загрузка файла статьи'
    }
    },
    "Meta": {
    "on": {
    "ARTICLE_META_SET": "MetaTranslation"
    'Meta': {
    'on': {
    'ARTICLE_META_SET': 'MetaTranslation'
    },
    'meta': {
    'name': 'Ввод метаданных статьи'
    }
    },
    "MetaTranslation": {
    "on": {
    "ARTICLE_META_TRANSLATED": "Authors"
    'MetaTranslation': {
    'on': {
    'ARTICLE_META_TRANSLATED': 'Authors'
    },
    'meta': {
    'name': 'Перевод метаданных статьи'
    }
    },
    "Authors": {
    "on": {
    "ARTICLE_AUTHORS_SET": "Finish"
    'Authors': {
    'on': {
    'ARTICLE_AUTHORS_SET': 'Finish'
    },
    'meta': {
    'name': 'Ввод информации об авторах'
    }
    },
    "Finish": {
    "type": "final"
    'Finish': {
    'type': 'final',
    'meta': {
    'name': 'Ввод данных статьи завершен'
    }
    }
    },
    "onDone": "Review"
    'onDone': 'Review',
    'meta': {
    'name': 'Ввод данных статьи'
    }
    },
    "Review": {
    "on": {
    "REVIEW_COMPLETED": "Finish"
    'Review': {
    'on': {
    'REVIEW_COMPLETED': 'Finish'
    },
    'meta': {
    'name': 'Итоговая проверка черновика публикации перед отправкой'
    }
    },
    "Finish": {
    "type": "final"
    'Finish': {
    'type': 'final',
    'meta': {
    'name': 'Публикация отправлена на рассмотрение',
    'description': [
    'Ваша статья отправлена на проверку в издательство. Мы сообщим вам о результате. '
    ]
    }
    }
    }
    }
  2. uniconstructor revised this gist Jan 18, 2020. 1 changed file with 11 additions and 11 deletions.
    22 changes: 11 additions & 11 deletions machine.js
    Original file line number Diff line number Diff line change
    @@ -5,22 +5,22 @@ const fetchMachine = Machine({
    "states": {
    "Start": {
    "on": {
    "START_CONFIRMED": "JournalSelection"
    }
    },
    "JournalSelection": {
    "on": {
    "": [
    {
    "target": "Setup"
    }
    ]
    "START_CONFIRMED": "Setup"
    }
    },
    "Setup": {
    "type": "compound",
    "initial": "Language",
    "initial": "Journal",
    "states": {
    "Journal": {
    "on": {
    "": [
    {
    "target": "Language"
    }
    ]
    }
    },
    "Language": {
    "on": {
    "LANGUAGE_SET": "Checklist"
  3. uniconstructor revised this gist Jan 12, 2020. No changes.
  4. uniconstructor renamed this gist Jan 12, 2020. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gistfile1.json → machine.js
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    {
    const fetchMachine = Machine({
    "id": "NewPublicationWorkflow",
    "context": {},
    "initial": "Start",
    @@ -77,3 +77,4 @@
    }
    }
    }
    );
  5. uniconstructor renamed this gist Jan 12, 2020. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  6. uniconstructor created this gist Jan 12, 2020.
    79 changes: 79 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,79 @@
    {
    "id": "NewPublicationWorkflow",
    "context": {},
    "initial": "Start",
    "states": {
    "Start": {
    "on": {
    "START_CONFIRMED": "JournalSelection"
    }
    },
    "JournalSelection": {
    "on": {
    "": [
    {
    "target": "Setup"
    }
    ]
    }
    },
    "Setup": {
    "type": "compound",
    "initial": "Language",
    "states": {
    "Language": {
    "on": {
    "LANGUAGE_SET": "Checklist"
    }
    },
    "Checklist": {
    "on": {
    "CHECKLIST_PASSED": "Finish"
    }
    },
    "Finish": {
    "type": "final"
    }
    },
    "onDone": "Article"
    },
    "Article": {
    "type": "compound",
    "initial": "Upload",
    "states": {
    "Upload": {
    "on": {
    "ARTICLE_UPLOADED": "Meta"
    }
    },
    "Meta": {
    "on": {
    "ARTICLE_META_SET": "MetaTranslation"
    }
    },
    "MetaTranslation": {
    "on": {
    "ARTICLE_META_TRANSLATED": "Authors"
    }
    },
    "Authors": {
    "on": {
    "ARTICLE_AUTHORS_SET": "Finish"
    }
    },
    "Finish": {
    "type": "final"
    }
    },
    "onDone": "Review"
    },
    "Review": {
    "on": {
    "REVIEW_COMPLETED": "Finish"
    }
    },
    "Finish": {
    "type": "final"
    }
    }
    }