Better organize code
This commit is contained in:
parent
9c84a3512e
commit
f579c5a204
|
@ -178,6 +178,8 @@
|
||||||
<script src="js/main.js"></script>
|
<script src="js/main.js"></script>
|
||||||
<script src="js/loadBookmarks.js"></script>
|
<script src="js/loadBookmarks.js"></script>
|
||||||
<script src="js/addBookmarks.js"></script>
|
<script src="js/addBookmarks.js"></script>
|
||||||
|
<script src="js/moveBookmarks.js"></script>
|
||||||
|
<script src="js/deleteBookmarks.js"></script>
|
||||||
<script src="js/editBookmarks.js"></script>
|
<script src="js/editBookmarks.js"></script>
|
||||||
<script src="js/importExport.js"></script>
|
<script src="js/importExport.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
76
js/deleteBookmarks.js
Normal file
76
js/deleteBookmarks.js
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
function deleteGroup() {
|
||||||
|
var group = $(this); // the delete group button
|
||||||
|
var groupIndex = group.parent().parent().data("group-index");
|
||||||
|
|
||||||
|
var openDBRequest = window.indexedDB.open("bookmarks");
|
||||||
|
|
||||||
|
openDBRequest.onsuccess = function (openEvt) {
|
||||||
|
var db = openEvt.target.result;
|
||||||
|
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
||||||
|
|
||||||
|
var lastIndex = -1;
|
||||||
|
groupsStore.openCursor().onsuccess = function (cursorEvt) {
|
||||||
|
var cursor = cursorEvt.target.result;
|
||||||
|
if (cursor) {
|
||||||
|
var item = cursor.value;
|
||||||
|
var cardContainer = $("#group-" + item.groupIndex);
|
||||||
|
|
||||||
|
if (item.groupIndex > lastIndex)
|
||||||
|
lastIndex = item.groupIndex;
|
||||||
|
|
||||||
|
if (item.groupIndex == groupIndex) {
|
||||||
|
cardContainer.hide(300, "swing", function () { cardContainer.remove(); });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.groupIndex > groupIndex) {
|
||||||
|
item.groupIndex--;
|
||||||
|
groupsStore.put(item);
|
||||||
|
|
||||||
|
$(cardContainer.children()[0]).attr("data-group-index", item.groupIndex);
|
||||||
|
cardContainer.attr("id", "group-" + item.groupIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor.continue();
|
||||||
|
} else {
|
||||||
|
groupsStore.delete(lastIndex);
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
openDBRequest.onerror = function (err) {
|
||||||
|
console.error(err);
|
||||||
|
window.alert("There was an error deleting the group");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteBookmark(e) {
|
||||||
|
var item = $(this).parent();
|
||||||
|
var groupName = item.parent().parent().data("group-name");
|
||||||
|
var groupIndex = item.parent().parent().data("group-index");
|
||||||
|
var bookmarkIndex = item.index();
|
||||||
|
var bookmarkItem = $("#" + groupName + "-" + bookmarkIndex);
|
||||||
|
|
||||||
|
var openDBRequest = window.indexedDB.open("bookmarks");
|
||||||
|
|
||||||
|
openDBRequest.onsuccess = function (openEvt) {
|
||||||
|
var db = openEvt.target.result;
|
||||||
|
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
||||||
|
|
||||||
|
groupsStore.get(groupIndex).onsuccess = function (getEvt) {
|
||||||
|
var groupData = getEvt.target.result;
|
||||||
|
|
||||||
|
groupData.bookmarks = removeFromArray(groupData.bookmarks, bookmarkIndex);
|
||||||
|
|
||||||
|
groupsStore.put(groupData);
|
||||||
|
bookmarkItem.hide(300, "swing", function () { bookmarkItem.remove(); });
|
||||||
|
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
openDBRequest.onerror = function (err) {
|
||||||
|
console.log("Error", err);
|
||||||
|
window.alert("There was an error deleting the bookmark");
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,232 +9,6 @@ function toggleEditing () {
|
||||||
enableEditing();
|
enableEditing();
|
||||||
}
|
}
|
||||||
|
|
||||||
function groupMoved(dropEvt) {
|
|
||||||
var newIndex = dropEvt.newIndex;
|
|
||||||
var oldIndex = dropEvt.oldIndex;
|
|
||||||
|
|
||||||
var movedCard = $($(dropEvt.item).children()[0]);
|
|
||||||
var groupName = movedCard.data("group-name");
|
|
||||||
|
|
||||||
if (oldIndex != newIndex) {
|
|
||||||
var openDBRequest = window.indexedDB.open("bookmarks");
|
|
||||||
|
|
||||||
openDBRequest.onsuccess = function (openEvt) {
|
|
||||||
var db = openEvt.target.result;
|
|
||||||
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
|
||||||
|
|
||||||
// build an array of all groups
|
|
||||||
var groups = [];
|
|
||||||
groupsStore.openCursor().onsuccess = function (cursorEvt) {
|
|
||||||
var cursor = cursorEvt.target.result;
|
|
||||||
if (cursor) {
|
|
||||||
groups.push(cursor.value);
|
|
||||||
cursor.continue();
|
|
||||||
} else {
|
|
||||||
rearrangeGroups(groupsStore, groups, newIndex, oldIndex);
|
|
||||||
db.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
openDBRequest.onerror = function (err) {
|
|
||||||
console.log(err);
|
|
||||||
window.alert("Error moving group");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function rearrangeGroups(groupsStore, groups, newIndex, oldIndex) {
|
|
||||||
var movedGroup = $("#group-" + oldIndex);
|
|
||||||
|
|
||||||
if (newIndex > oldIndex) {
|
|
||||||
for (var i = 0; i < groups.length; i++) {
|
|
||||||
var g = groups[i];
|
|
||||||
|
|
||||||
if (g.groupIndex > oldIndex && g.groupIndex <= newIndex) {
|
|
||||||
g.groupIndex--;
|
|
||||||
groupsStore.put(g);
|
|
||||||
|
|
||||||
// modify the group's card
|
|
||||||
var cardContainer = $("#group-" + (g.groupIndex + 1))
|
|
||||||
.attr("id", "group" + g.groupIndex);
|
|
||||||
|
|
||||||
$(cardContainer.children()[0]) // the card
|
|
||||||
.attr("data-group-index", g.groupIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else { // oldIndex > newIndex
|
|
||||||
for (var i = 0; i < groups.length; i++) {
|
|
||||||
var g = groups[i];
|
|
||||||
|
|
||||||
if (g.groupIndex < oldIndex && g.groupIndex >= newIndex) {
|
|
||||||
g.groupIndex++;
|
|
||||||
groupsStore.put(g);
|
|
||||||
|
|
||||||
// modify the group's card
|
|
||||||
var cardContainer = $("#group-" + (g.groupIndex - 1))
|
|
||||||
.attr("id", "group" + g.groupIndex);
|
|
||||||
|
|
||||||
$(cardContainer.children()[0]) // the card
|
|
||||||
.attr("data-group-index", g.groupIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// update the moved group's data
|
|
||||||
var movedGroupData = groups[oldIndex];
|
|
||||||
movedGroupData.groupIndex = newIndex;
|
|
||||||
groupsStore.put(movedGroupData);
|
|
||||||
|
|
||||||
// update the group's card
|
|
||||||
movedGroup.attr("id", "group" + newIndex);
|
|
||||||
$(movedGroup.children()[0]).attr("data-group-index", newIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
function bookmarkMoved(dropEvt) {
|
|
||||||
var oldIndex = dropEvt.oldIndex;
|
|
||||||
var newIndex = dropEvt.newIndex;
|
|
||||||
|
|
||||||
if (dropEvt.from != dropEvt.to) {
|
|
||||||
var oldGroupIndex = $(dropEvt.from).parent().data("group-index");
|
|
||||||
var newGroupIndex = $(dropEvt.to).parent().data("group-index");
|
|
||||||
|
|
||||||
var item = $(dropEvt.item);
|
|
||||||
var itemData = {name: item.data("name"), address: item.data("address")};
|
|
||||||
|
|
||||||
var openDBRequest = window.indexedDB.open("bookmarks");
|
|
||||||
|
|
||||||
openDBRequest.onsuccess = function (openEvt) {
|
|
||||||
var db = openEvt.target.result;
|
|
||||||
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
|
||||||
|
|
||||||
groupsStore.get(oldGroupIndex).onsuccess = function (getOldEvt) {
|
|
||||||
var oldGroupData = getOldEvt.target.result;
|
|
||||||
|
|
||||||
groupsStore.get(newGroupIndex).onsuccess = function (getNewEvt) {
|
|
||||||
var newGroupData = getNewEvt.target.result;
|
|
||||||
|
|
||||||
oldGroupData.bookmarks = removeFromArray(oldGroupData.bookmarks, oldIndex);
|
|
||||||
groupsStore.put(oldGroupData);
|
|
||||||
|
|
||||||
newGroupData.bookmarks = addToArray(newGroupData.bookmarks, itemData, newIndex);
|
|
||||||
groupsStore.put(newGroupData);
|
|
||||||
|
|
||||||
db.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
openDBRequest.onerror = function (err) {
|
|
||||||
console.error(err);
|
|
||||||
window.alert("Error moving bookmark");
|
|
||||||
}
|
|
||||||
} else if (oldIndex != newIndex) {
|
|
||||||
var groupIndex = $(dropEvt.from).parent().data("group-index");
|
|
||||||
|
|
||||||
var openDBRequest = window.indexedDB.open("bookmarks");
|
|
||||||
|
|
||||||
openDBRequest.onsuccess = function (openEvt) {
|
|
||||||
var db = openEvt.target.result;
|
|
||||||
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
|
||||||
|
|
||||||
groupsStore.get(groupIndex).onsuccess = function (getEvt) {
|
|
||||||
var groupData = getEvt.target.result;
|
|
||||||
|
|
||||||
var item = groupData.bookmarks[oldIndex];
|
|
||||||
|
|
||||||
groupData.bookmarks = removeFromArray(groupData.bookmarks, oldIndex);
|
|
||||||
groupData.bookmarks = addToArray(groupData.bookmarks, item, newIndex);
|
|
||||||
|
|
||||||
groupsStore.put(groupData);
|
|
||||||
db.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
openDBRequest.onerror = function (err) {
|
|
||||||
console.error(err);
|
|
||||||
window.alert("Error moving bookmark");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function deleteBookmark(e) {
|
|
||||||
var item = $(this).parent();
|
|
||||||
var groupName = item.parent().parent().data("group-name");
|
|
||||||
var groupIndex = item.parent().parent().data("group-index");
|
|
||||||
var bookmarkIndex = item.index();
|
|
||||||
var bookmarkItem = $("#" + groupName + "-" + bookmarkIndex);
|
|
||||||
|
|
||||||
var openDBRequest = window.indexedDB.open("bookmarks");
|
|
||||||
|
|
||||||
openDBRequest.onsuccess = function (openEvt) {
|
|
||||||
var db = openEvt.target.result;
|
|
||||||
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
|
||||||
|
|
||||||
groupsStore.get(groupIndex).onsuccess = function (getEvt) {
|
|
||||||
var groupData = getEvt.target.result;
|
|
||||||
|
|
||||||
groupData.bookmarks = removeFromArray(groupData.bookmarks, bookmarkIndex);
|
|
||||||
|
|
||||||
groupsStore.put(groupData);
|
|
||||||
bookmarkItem.hide(300, "swing", function () { bookmarkItem.remove(); });
|
|
||||||
|
|
||||||
db.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
openDBRequest.onerror = function (err) {
|
|
||||||
console.log("Error", err);
|
|
||||||
window.alert("There was an error deleting the bookmark");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function deleteGroup() {
|
|
||||||
var group = $(this); // the delete group button
|
|
||||||
var groupIndex = group.parent().parent().data("group-index");
|
|
||||||
|
|
||||||
var openDBRequest = window.indexedDB.open("bookmarks");
|
|
||||||
|
|
||||||
openDBRequest.onsuccess = function (openEvt) {
|
|
||||||
var db = openEvt.target.result;
|
|
||||||
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
|
||||||
|
|
||||||
var lastIndex = -1;
|
|
||||||
groupsStore.openCursor().onsuccess = function (cursorEvt) {
|
|
||||||
var cursor = cursorEvt.target.result;
|
|
||||||
if (cursor) {
|
|
||||||
var item = cursor.value;
|
|
||||||
var cardContainer = $("#group-" + item.groupIndex);
|
|
||||||
|
|
||||||
if (item.groupIndex > lastIndex)
|
|
||||||
lastIndex = item.groupIndex;
|
|
||||||
|
|
||||||
if (item.groupIndex == groupIndex) {
|
|
||||||
cardContainer.hide(300, "swing", function () { cardContainer.remove(); });
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.groupIndex > groupIndex) {
|
|
||||||
item.groupIndex--;
|
|
||||||
groupsStore.put(item);
|
|
||||||
|
|
||||||
$(cardContainer.children()[0]).attr("data-group-index", item.groupIndex);
|
|
||||||
cardContainer.attr("id", "group-" + item.groupIndex);
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor.continue();
|
|
||||||
} else {
|
|
||||||
groupsStore.delete(lastIndex);
|
|
||||||
db.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
openDBRequest.onerror = function (err) {
|
|
||||||
console.error(err);
|
|
||||||
window.alert("There was an error deleting the group");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function enableEditing() {
|
function enableEditing() {
|
||||||
$("#btnEdit").removeClass("btn-light btn-dark").addClass("btn-warning");
|
$("#btnEdit").removeClass("btn-light btn-dark").addClass("btn-warning");
|
||||||
$("#btnImport").prop("disabled", true);
|
$("#btnImport").prop("disabled", true);
|
||||||
|
@ -292,34 +66,3 @@ function disableEditing() {
|
||||||
$(".btnDel").off("click", deleteBookmark);
|
$(".btnDel").off("click", deleteBookmark);
|
||||||
$(".btnDelGroup").off("click", deleteGroup);
|
$(".btnDelGroup").off("click", deleteGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeFromArray(arr, index) {
|
|
||||||
var newArr = [];
|
|
||||||
arr.forEach(function (item, i) {
|
|
||||||
if (i != index)
|
|
||||||
newArr.push(item);
|
|
||||||
});
|
|
||||||
|
|
||||||
return newArr;
|
|
||||||
}
|
|
||||||
|
|
||||||
function addToArray(arr, itemToAdd, index) {
|
|
||||||
if (index == arr.length) {
|
|
||||||
arr.push(item);
|
|
||||||
return arr;
|
|
||||||
}
|
|
||||||
|
|
||||||
var newArr = [];
|
|
||||||
arr.forEach(function (item, i) {
|
|
||||||
if (i == index)
|
|
||||||
newArr.push(itemToAdd);
|
|
||||||
|
|
||||||
newArr.push(item);
|
|
||||||
});
|
|
||||||
|
|
||||||
return newArr;
|
|
||||||
}
|
|
||||||
|
|
||||||
function disableLink(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
|
|
31
js/main.js
31
js/main.js
|
@ -55,3 +55,34 @@ function setBackgroundByTime(hours, mins) {
|
||||||
var index = Math.floor(total / period);
|
var index = Math.floor(total / period);
|
||||||
setBackground(index);
|
setBackground(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeFromArray(arr, index) {
|
||||||
|
var newArr = [];
|
||||||
|
arr.forEach(function (item, i) {
|
||||||
|
if (i != index)
|
||||||
|
newArr.push(item);
|
||||||
|
});
|
||||||
|
|
||||||
|
return newArr;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addToArray(arr, itemToAdd, index) {
|
||||||
|
if (index == arr.length) {
|
||||||
|
arr.push(item);
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
var newArr = [];
|
||||||
|
arr.forEach(function (item, i) {
|
||||||
|
if (i == index)
|
||||||
|
newArr.push(itemToAdd);
|
||||||
|
|
||||||
|
newArr.push(item);
|
||||||
|
});
|
||||||
|
|
||||||
|
return newArr;
|
||||||
|
}
|
||||||
|
|
||||||
|
function disableLink(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
|
148
js/moveBookmarks.js
Normal file
148
js/moveBookmarks.js
Normal file
|
@ -0,0 +1,148 @@
|
||||||
|
function groupMoved(dropEvt) {
|
||||||
|
var newIndex = dropEvt.newIndex;
|
||||||
|
var oldIndex = dropEvt.oldIndex;
|
||||||
|
|
||||||
|
var movedCard = $($(dropEvt.item).children()[0]);
|
||||||
|
var groupName = movedCard.data("group-name");
|
||||||
|
|
||||||
|
if (oldIndex != newIndex) {
|
||||||
|
var openDBRequest = window.indexedDB.open("bookmarks");
|
||||||
|
|
||||||
|
openDBRequest.onsuccess = function (openEvt) {
|
||||||
|
var db = openEvt.target.result;
|
||||||
|
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
||||||
|
|
||||||
|
// build an array of all groups
|
||||||
|
var groups = [];
|
||||||
|
groupsStore.openCursor().onsuccess = function (cursorEvt) {
|
||||||
|
var cursor = cursorEvt.target.result;
|
||||||
|
if (cursor) {
|
||||||
|
groups.push(cursor.value);
|
||||||
|
cursor.continue();
|
||||||
|
} else {
|
||||||
|
rearrangeGroups(groupsStore, groups, newIndex, oldIndex);
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
openDBRequest.onerror = function (err) {
|
||||||
|
console.log(err);
|
||||||
|
window.alert("Error moving group");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function rearrangeGroups(groupsStore, groups, newIndex, oldIndex) {
|
||||||
|
var movedGroup = $("#group-" + oldIndex);
|
||||||
|
|
||||||
|
if (newIndex > oldIndex) {
|
||||||
|
for (var i = 0; i < groups.length; i++) {
|
||||||
|
var g = groups[i];
|
||||||
|
|
||||||
|
if (g.groupIndex > oldIndex && g.groupIndex <= newIndex) {
|
||||||
|
g.groupIndex--;
|
||||||
|
groupsStore.put(g);
|
||||||
|
|
||||||
|
// modify the group's card
|
||||||
|
var cardContainer = $("#group-" + (g.groupIndex + 1))
|
||||||
|
.attr("id", "group" + g.groupIndex);
|
||||||
|
|
||||||
|
$(cardContainer.children()[0]) // the card
|
||||||
|
.attr("data-group-index", g.groupIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // oldIndex > newIndex
|
||||||
|
for (var i = 0; i < groups.length; i++) {
|
||||||
|
var g = groups[i];
|
||||||
|
|
||||||
|
if (g.groupIndex < oldIndex && g.groupIndex >= newIndex) {
|
||||||
|
g.groupIndex++;
|
||||||
|
groupsStore.put(g);
|
||||||
|
|
||||||
|
// modify the group's card
|
||||||
|
var cardContainer = $("#group-" + (g.groupIndex - 1))
|
||||||
|
.attr("id", "group" + g.groupIndex);
|
||||||
|
|
||||||
|
$(cardContainer.children()[0]) // the card
|
||||||
|
.attr("data-group-index", g.groupIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// update the moved group's data
|
||||||
|
var movedGroupData = groups[oldIndex];
|
||||||
|
movedGroupData.groupIndex = newIndex;
|
||||||
|
groupsStore.put(movedGroupData);
|
||||||
|
|
||||||
|
// update the group's card
|
||||||
|
movedGroup.attr("id", "group" + newIndex);
|
||||||
|
$(movedGroup.children()[0]).attr("data-group-index", newIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bookmarkMoved(dropEvt) {
|
||||||
|
var oldIndex = dropEvt.oldIndex;
|
||||||
|
var newIndex = dropEvt.newIndex;
|
||||||
|
|
||||||
|
if (dropEvt.from != dropEvt.to) {
|
||||||
|
var oldGroupIndex = $(dropEvt.from).parent().data("group-index");
|
||||||
|
var newGroupIndex = $(dropEvt.to).parent().data("group-index");
|
||||||
|
|
||||||
|
var item = $(dropEvt.item);
|
||||||
|
var itemData = {name: item.data("name"), address: item.data("address")};
|
||||||
|
|
||||||
|
var openDBRequest = window.indexedDB.open("bookmarks");
|
||||||
|
|
||||||
|
openDBRequest.onsuccess = function (openEvt) {
|
||||||
|
var db = openEvt.target.result;
|
||||||
|
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
||||||
|
|
||||||
|
groupsStore.get(oldGroupIndex).onsuccess = function (getOldEvt) {
|
||||||
|
var oldGroupData = getOldEvt.target.result;
|
||||||
|
|
||||||
|
groupsStore.get(newGroupIndex).onsuccess = function (getNewEvt) {
|
||||||
|
var newGroupData = getNewEvt.target.result;
|
||||||
|
|
||||||
|
oldGroupData.bookmarks = removeFromArray(oldGroupData.bookmarks, oldIndex);
|
||||||
|
groupsStore.put(oldGroupData);
|
||||||
|
|
||||||
|
newGroupData.bookmarks = addToArray(newGroupData.bookmarks, itemData, newIndex);
|
||||||
|
groupsStore.put(newGroupData);
|
||||||
|
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
openDBRequest.onerror = function (err) {
|
||||||
|
console.error(err);
|
||||||
|
window.alert("Error moving bookmark");
|
||||||
|
}
|
||||||
|
} else if (oldIndex != newIndex) {
|
||||||
|
var groupIndex = $(dropEvt.from).parent().data("group-index");
|
||||||
|
|
||||||
|
var openDBRequest = window.indexedDB.open("bookmarks");
|
||||||
|
|
||||||
|
openDBRequest.onsuccess = function (openEvt) {
|
||||||
|
var db = openEvt.target.result;
|
||||||
|
var groupsStore = db.transaction("Groups", "readwrite").objectStore("Groups");
|
||||||
|
|
||||||
|
groupsStore.get(groupIndex).onsuccess = function (getEvt) {
|
||||||
|
var groupData = getEvt.target.result;
|
||||||
|
|
||||||
|
var item = groupData.bookmarks[oldIndex];
|
||||||
|
|
||||||
|
groupData.bookmarks = removeFromArray(groupData.bookmarks, oldIndex);
|
||||||
|
groupData.bookmarks = addToArray(groupData.bookmarks, item, newIndex);
|
||||||
|
|
||||||
|
groupsStore.put(groupData);
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
openDBRequest.onerror = function (err) {
|
||||||
|
console.error(err);
|
||||||
|
window.alert("Error moving bookmark");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue