From 68457ed3a26012e9e72e7ca95bfd7b9c101cdd8b Mon Sep 17 00:00:00 2001
From: Wu Cheng-Han <jacky_cute0808@hotmail.com>
Date: Mon, 10 Oct 2016 21:00:07 +0800
Subject: [PATCH] Update to make history delete and pin function call to new
 APIs

---
 public/js/cover.js | 86 +++++++++++++++++++++++++++++++---------------
 1 file changed, 58 insertions(+), 28 deletions(-)

diff --git a/public/js/cover.js b/public/js/cover.js
index f353382..429925a 100644
--- a/public/js/cover.js
+++ b/public/js/cover.js
@@ -166,19 +166,32 @@ function parseHistoryCallback(list, notehistory) {
 			pinned = false;
 			item._values.pinned = false;
 		}
-		getHistory(function (notehistory) {
-			for(var i = 0; i < notehistory.length; i++) {
-				if (notehistory[i].id == id) {
-					notehistory[i].pinned = pinned;
-					break;
-				}
-			}
-            saveHistory(notehistory);
-            if (pinned)
-				$this.addClass('active');
-			else
-				$this.removeClass('active');
-        });
+        checkIfAuth(function () {
+            postHistoryToServer(id, {
+                pinned: pinned
+            }, function (err, result) {
+                if (!err) {
+                    if (pinned)
+                        $this.addClass('active');
+                    else
+                        $this.removeClass('active');
+                } 
+            });
+        }, function () {
+            getHistory(function (notehistory) {
+                for(var i = 0; i < notehistory.length; i++) {
+                    if (notehistory[i].id == id) {
+                        notehistory[i].pinned = pinned;
+                        break;
+                    }
+                }
+                saveHistory(notehistory);
+                if (pinned)
+                    $this.addClass('active');
+                else
+                    $this.removeClass('active');
+            });
+        })
     });
     buildTagsFilter(filtertags);
 }
@@ -199,23 +212,40 @@ var clearHistory = false;
 var deleteId = null;
 
 function deleteHistory() {
-    if (clearHistory) {
-        saveHistory([]);
-        historyList.clear();
-        checkHistoryList();
-        deleteId = null;
-    } else {
-        if (!deleteId) return;
-        getHistory(function (notehistory) {
-            var newnotehistory = removeHistory(deleteId, notehistory);
-            saveHistory(newnotehistory);
-            historyList.remove('id', deleteId);
+    checkIfAuth(function () {
+        deleteServerHistory(deleteId, function (err, result) {
+            if (!err) {
+                if (clearHistory) {
+                    historyList.clear();
+                    checkHistoryList();
+                } else {
+                    historyList.remove('id', deleteId);
+                    checkHistoryList();
+                }
+            }
+            $('.delete-modal').modal('hide');
+            deleteId = null;
+            clearHistory = false;
+        });
+    }, function () {
+        if (clearHistory) {
+            saveHistory([]);
+            historyList.clear();
             checkHistoryList();
             deleteId = null;
-        });
-    }
-    $('.delete-modal').modal('hide');
-    clearHistory = false;
+        } else {
+            if (!deleteId) return;
+            getHistory(function (notehistory) {
+                var newnotehistory = removeHistory(deleteId, notehistory);
+                saveHistory(newnotehistory);
+                historyList.remove('id', deleteId);
+                checkHistoryList();
+                deleteId = null;
+            });
+        }
+        $('.delete-modal').modal('hide');
+        clearHistory = false;
+    });
 }
 
 $(".ui-delete-modal-confirm").click(function () {