Несколько Firepads

Я управляю веб-сайтом рецензий, где у нас есть команда субредакторов, которые работают над рецензиями до публикации. В настоящее время мы используем Google Docs для этого шага, но я перерабатываю бэкэнд и хочу сделать это с помощью Firepad.

Если я правильно понимаю Firepad, база данных Firebase будет хранить копию обзора до тех пор, пока я не буду готов скопировать ее в базу данных сайта (используя firepad.getHtml() Я подозреваю). Тем не менее, я сразу же столкнулся с проблемой, которая заключается в том, что я не могу создать несколько Firepads. Документация гласит: "Вы можете легко хранить несколько Firepad в вашей базе данных Firebase Realtime, назначая каждому уникальный URL-адрес (например, https://<YOUR FIREBASE>/firepads/<unique id>). - но если я попытаюсь изменить databaseURL, консоль выдаст фатальную ошибку, что вы можете обратиться только к корню.

В настоящий момент мой код в значительной степени напоминает настройку ванили из документации Firepad:

  var config = {
    apiKey: "<API_KEY>",
    authDomain: "<AUTH_DOMAIN>.firebaseapp.com",
    databaseURL: "https://<DATABASE_NAME>.firebaseio.com"
  };
  firebase.initializeApp(config);

  // Get Firebase Database reference.
  var firepadRef = firebase.database().ref();

  // Create CodeMirror (with lineWrapping on).
  var codeMirror = CodeMirror(document.getElementById('firepad'), { lineWrapping: true });

  // Create Firepad (with rich text toolbar and shortcuts enabled).
  var firepad = Firepad.fromCodeMirror(firepadRef, codeMirror, {
    richTextShortcuts: true,
    richTextToolbar: true,
    defaultText: 'Hello, World!'
  });

Что прекрасно работает, когда я запускаю пару окон браузера, и они синхронизируются между ними, но как мне создать новый документ и иметь возможность ссылаться на него по своему собственному идентификатору?

1 ответ

Хорошо понял.

Изменить это:

// Get Firebase Database reference.
var firepadRef = firebase.database().ref();

в

// Get Firebase Database reference.
var firepadRef = firebase.database().ref(id);

где id это ваша собственная уникальная ссылка, и да, это работает.

Другие вопросы по тегам