Skip to content

Commit

Permalink
Log widget events to indexeddb
Browse files Browse the repository at this point in the history
  • Loading branch information
amandabaker committed Jan 19, 2024
1 parent 624c8b2 commit 2b536f1
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
41 changes: 41 additions & 0 deletions widgets/log-events.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

const dbName = "event_logs";
const objectStoreName = "events";

const logWidgetEvent = async (eventName, time) => {
const widgetEventInfo = {
type: eventName,
time: time,
};

const request = indexedDB.open(dbName);

request.onerror = (event) => {
console.log(`Failed to open db with: ${event.errorCode}`)
};

request.onsuccess = (event) => {
let db = event.target.result;
const transaction =
db.transaction(objectStoreName, "readwrite", { durability: "strict"});

transaction.oncomplete = (event) => {
console.log("widget event logged to IndexedDB");
}

transaction.onerror = (event) => {
console.log(event.errorCode);
}

const objectStore = transaction.objectStore(objectStoreName);
const request = objectStore.add(widgetEventInfo);
};

request.onupgradeneeded = (event) => {
const db = event.target.result;
const objectStore = db.createObjectStore("events", { autoIncrement: true });

objectStore.createIndex("type", "type", { unique: false });
objectStore.createIndex("time", "time", { unique: false });
}
}
5 changes: 5 additions & 0 deletions widgets/sw.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
importScripts('counter.js');
importScripts('log-events.js');

const kIncrementActionVerb = 'inc';
const kOpenAppActionVerb = 'openApp';
Expand Down Expand Up @@ -85,6 +86,7 @@ const incrementWidgetclick = async () => {
};

self.addEventListener('widgetclick', (event) => {
logWidgetEvent('widgetclick', Date.now());
if (event.action === kIncrementActionVerb) {
event.waitUntil(updateDefaultWidget());
} else if (event.action === kOpenAppActionVerb) {
Expand All @@ -101,6 +103,7 @@ self.addEventListener('widgetclick', (event) => {
});

self.addEventListener('widgetinstall', (event) => {
logWidgetEvent('widgetinstall', Date.now());
if (event.tag == "tic-tac-toe") {
event.waitUntil(updateTicTacToeWidget(event));
return;
Expand All @@ -111,6 +114,7 @@ self.addEventListener('widgetinstall', (event) => {
});

self.addEventListener('widgetuninstall', (event) => {
logWidgetEvent('widgetuninstall', Date.now());
if (event.tag == "tic-tac-toe") {
event.waitUntil(updateTicTacToeWidget(event));
return;
Expand All @@ -120,6 +124,7 @@ self.addEventListener('widgetuninstall', (event) => {
});

self.addEventListener('widgetresume', (event) => {
logWidgetEvent('widgetresume', Date.now());
if (event.tag == "tic-tac-toe") {
event.waitUntil(updateTicTacToeWidget(event));
return;
Expand Down

0 comments on commit 2b536f1

Please sign in to comment.