Несколько 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
это ваша собственная уникальная ссылка, и да, это работает.