idb.service.ts 620 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { Injectable } from '@angular/core';
  2. import Dexie from 'dexie';
  3. interface AnnotationID {
  4. annotationId: number;
  5. }
  6. @Injectable({
  7. providedIn: 'root',
  8. })
  9. export class IdbService extends Dexie {
  10. public db: Dexie.Table<AnnotationID, number>;
  11. constructor() {
  12. super('EVT-Annotator');
  13. this.version(1).stores({
  14. Annotations: '++id',
  15. });
  16. this.db = this.table('Annotations');
  17. }
  18. getAll() {
  19. return this.db.toArray();
  20. }
  21. add(data) {
  22. return this.db.add(data);
  23. }
  24. update(id, data) {
  25. return this.db.update(id, data);
  26. }
  27. remove(id) {
  28. return this.db.delete(id);
  29. }
  30. }