Перейти к основному содержимому

Каждый атрибут здесь задаёте вы во время работы: метку, тип и значение, сохранённые вместе в одной самоописывающей записи. Ничего не задано заранее, и ничто из введённого никогда не выполняется. Запись хранится в этом браузере; тот же редактор работает в файлах-записях на рабочем столе.

Ваша запись

  1. Задайте значение первому атрибуту и добавьте ещё: выберите тип рядом с «Добавить» — текст, число, дату, выбор, список или оценку — и нажмите кнопку.
  2. Смените тип атрибута: значение, которое не преобразуется точно, сохраняется рядом с новым, пока вы его не восстановите или не отбросите.
  3. Переименуйте метку и посмотрите на сохранённый JSON: атрибут сохраняет свой id, значение и место.
  4. Меняйте порядок стрелками или Alt+Shift+↑/↓, удалите строку и верните её из «Недавно удалённых», отмените и повторите.
  5. Перезагрузите страницу: запись восстановится в точности. Включите сначала офлайн-режим, и несохранённые правки вернутся как восстанавливаемый черновик.
  6. Отредактируйте здесь, дождитесь «Сохранено», затем отредактируйте второго редактора ниже, не перезагружая его: его сохранение отклоняется как конфликт, а «Объединить» сливает оба по атрибутам.

Открываем запись…

Второй редактор

Та же запись, открытая во втором редакторе — другая вкладка, другой человек или ассистент. Каждое сохранение называет версию, с которой оно начато; сохранение на основе старой версии ничего не меняет и ждёт вашего решения.

Открываем запись…

Что сохраняется

Запись в том виде, в каком её сейчас хранит хранилище, после последнего принятого сохранения любого из редакторов: канонический JSON, ключи отсортированы, определения рядом со значениями, id никогда не меняются. База данных рабочего стола хранит тот же документ.

Импорт и кодек

Вставьте запись или выберите пример. Кодек решает, что допускается: неизвестные ключи, ключи прототипа и значения неверного типа отклоняются с указанием причины; тип, неизвестный этому приложению, сохраняется только для чтения.

Думаете, этот паттерн можно сделать лучше? Расскажите как.

Оставить отзыв