Аналіз JSON-редакторів на відповідність ключовим вимогам

Функціональні сценарії

  • Внесення змін до JSON-схем UI-форм задач бізнес-процесів

Приклади коду для редагування

{
  "type": "form",
  "display": "form",
  "title": "...",
  "name": "...",
  "path": "...",
  "components": [
  ]
}

Ключові вимоги до редактора

  • Автодоповнення

  • Синтаксичний аналіз

  • Підтримка валідації вибраної schema

  • Підтримка вибраної schema(автодоповнення)

Розглянуті рішення

Аналіз на відповідність вимогам

Критерій / Функціональність monaco-editor

Автодоповнення

Так

Синтаксичний аналіз

Так

Підтримка валідації вибраної schema

Так

Підтримка вибраної schema(автодоповнення)

Так

Підтримка коментарів

Так

Можливість згортання та розгортання блока з кодом

Так

Рішення за результатами аналізу

Рекомендовано використовувати бібліотеку @monaco-editor/react, яка повністю покриває вимоги до JSON редактора

Підтримка темування та стилізації

Бібліотека @monaco-editor/react надає доступні варіанти теми "vs-dark" | «light». Також ми можемо визначати власні теми за допомогою monaco.editor.defineTheme Приклад

Інтерфейс веб-редактора

Основний інтерфейс редактора

json

JSON документа не відповідає заданій schema

json validation

Синтаксична помилка в JSON документі

json validation error

Порівняння версій JSON документів

json diff