44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
document.addEventListener("DOMContentLoaded", () => {
|
|
const dbName = "CustomerDB";
|
|
let db;
|
|
|
|
const request = indexedDB.open(dbName, 1);
|
|
|
|
request.onerror = (event) => {
|
|
console.error("Database error:", event.target.error);
|
|
};
|
|
|
|
request.onupgradeneeded = (event) => {
|
|
db = event.target.result;
|
|
const objectStore = db.createObjectStore("customers", { keyPath: "customer_id" });
|
|
objectStore.createIndex("email", "email", { unique: true });
|
|
console.log("IndexedDB setup complete");
|
|
};
|
|
|
|
request.onsuccess = (event) => {
|
|
db = event.target.result;
|
|
console.log("Database connected successfully");
|
|
};
|
|
|
|
function saveToIndexedDB(customer) {
|
|
if (!db) { return };
|
|
const transaction = db.transaction(["customers"], "readwrite");
|
|
const objectStore = transaction.objectStore("customers");
|
|
const request = objectStore.put(customer);
|
|
|
|
request.onsuccess = () => {
|
|
console.log("Customer saved to local IndexedDB:", customer);
|
|
};
|
|
|
|
request.onerror = (event) => {
|
|
console.error("Error saving to IndexedDB:", event.target.error);
|
|
};
|
|
}
|
|
|
|
function deleteFromIndexedDB(id) {
|
|
if (!db) { return };
|
|
const transaction = db.transaction(["customers"], "readwrite");
|
|
const objectStore = transaction.objectStore("customers");
|
|
const request = objectStore.delete(Number(id));
|
|
}
|
|
}); |