Я все еще не уверен, что ссылки на индекс хранятся в модели реального времени. Нет способа получить все ссылки, зарегистрированные в CollaborativeString/-List. Как избавиться от ссылок на индексы без изменения строки/списка? Я не нахожу «unregisterReference» или аналогичный. Было бы здорово получить дополнительную информацию о ссылках, поскольку документация довольно ограничена в отношении жизненного цикла и т. Д. (Или я просто слишком тупой, чтобы получить его ...)Как удалить IndexReference?
ответ
IndexReference - это объект на такой же уровень, как CollabString/List. Вы должны отслеживать их, организуя их в списке/карте в зависимости от того, для чего вы их используете.
Например, если вы используете его для отслеживания позиций курсора пользователя в CollabString, у вас может быть CollaborativeMap ссылки userId -> index.
Когда пользователь нажимает текстовое поле, задайте положение ссылки на индекс. Слушайте события gapi.drive.realtime.EventType.REFERENCE_SHIFTED, чтобы узнать о изменениях клиента.
Вы правы, в настоящее время нет явного способа «отменить регистрацию» ссылки, кроме если она может быть удалена и область, на которую указывает точка, удалена.
Я могу подать некоторые запросы о функциях вокруг ссылок на листинг и отменить регистрацию, но на данный момент лучше всего отслеживать их, как я описал выше, и если вас беспокоит размер модели, постарайтесь не пропускать слишком много из них ,
Спасибо за ответ! Поскольку мой CollabString содержит содержимое файла, очень вероятно, что ссылки будут складываться в течение всего жизненного цикла файла. Было бы здорово иметь возможность перечислить и отменить регистрацию ссылок. Я использую их, чтобы динамически отмечать регионы документа, чтобы флаг canBeDeleted не помог в этом отношении. – dflorey
Fyi, вы должны пометить свои сообщения с помощью google-drive-sdk, поскольку этот тег контролируется для вопросов. –