Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Offline First Web Development

You're reading from   Offline First Web Development Design and build robust offline-first apps for exceptional user experience even when an internet connection is absent

Arrow left icon
Product type Paperback
Published in Nov 2015
Publisher Packt
ISBN-13 9781785884573
Length 316 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Daniel Sauble Daniel Sauble
Author Profile Icon Daniel Sauble
Daniel Sauble
Arrow right icon
View More author details
Toc

Table of Contents (12) Chapters Close

Preface 1. The Pain of Being Offline FREE CHAPTER 2. Building a To-do App 3. Designing Online Behavior 4. Getting Online 5. Be Honest about What's Happening 6. Be Eventually Consistent 7. Choosing Intelligent Defaults 8. Networking While Offline 9. Testing and Measuring the UX A. References Index

Implementing the conflict resolution


At this point, PouchDB returns conflicts when they exist and assigns them to the Item model for use by our controllers and views. The next step is to expose this information to the users and let them resolve conflicts when they arise.

Adding the supporting methods

The last thing that we need to add to the Item store is a couple of supporting methods. As PouchDB returns a list of conflict revisions but not the data attached to each revision, we need to fetch this explicitly. People need to see what data is attached to each revision in order to select the right one.

Edit the Item store and add the following method:

getAllConflicts: function(me, store, id, revs, docs, callback) {
  if (!revs.length) {
    callback(docs);
    return;
  }
  store.get(id, { rev: revs.shift() }, function(error, doc) {
    docs.push(doc);
    me.getAllConflicts(me, store, id, revs, docs, callback);
  });
},

Normally, we would use allDocs to return a list of documents, but it only...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image