datasync-js icon indicating copy to clipboard operation
datasync-js copied to clipboard

Info about changed items

Open iEgit opened this issue 9 years ago • 5 comments

When database is updated it is sometimes useful to know which items have been changed to avoid extra renders.

db.on('update', (revision, data) => {
  if (data.someUselessStuff === 'has changed') {
    return 'do nothing';
  }
  // rerender
})

Also, it would be great to know which operation has been executed - insert, remove or update - in order to perform custom data processing (e.g. insert in model withoud having to walk over entire database on each update).

iEgit avatar Sep 12 '16 12:09 iEgit

If I just expose ifModifiedSince function https://github.com/yandex/datasync-js/blob/master/src/dataSyncApi/Dataset/Dataset.js#L221 will it suit your needs?

twirl avatar Sep 12 '16 13:09 twirl

Я правильно понимаю, что после update нам надо будет пройтись по всем своим записям и вызвать для них этот метод?

А в чём сложность просто передать список изменённых record_id в апдейте? Или, хотя бы отдельный метод который вернёт список изменённых записей с версии N.

alexeyten avatar Sep 12 '16 13:09 alexeyten

В том, что ifModifiedSince уже есть, а новый метод надо ещё написать ;) Можете прислать пулл-реквест, например.

twirl avatar Sep 12 '16 13:09 twirl

Вам в итоге нужен этот метод или нет? Если нужен, то какой дедлайн?

twirl avatar Sep 23 '16 14:09 twirl

Пока мы решили обойтись без него. Я сделаю PR позже

alexeyten avatar Sep 23 '16 15:09 alexeyten