| | |
| | | class FrontendFavourites { |
| | | constructor() { |
| | | // Initialize DataStore for queue persistence |
| | | this.store = new window.jvbStore({ |
| | | name: 'favourites', |
| | | storeName: 'favourites', |
| | | endpoint: 'favourites', |
| | | indexes: [ |
| | | {name: 'content', keyPath: 'content'}, |
| | | {name: 'listId', keyPath: 'listId'}, |
| | | ], |
| | | TTL: 86400000, |
| | | showLoading: false, |
| | | filters: { |
| | | user: jvbSettings.currentUser, |
| | | content: 'all', |
| | | order: 'desc', |
| | | orderby: 'date', |
| | | page: 1, |
| | | all: true, |
| | | } |
| | | }); |
| | | this.store = window.jvbStore.register( |
| | | 'favourites', |
| | | { |
| | | storeName: 'favourites', |
| | | endpoint: 'favourites', |
| | | indexes: [ |
| | | {name: 'content', keyPath: 'content'}, |
| | | {name: 'listId', keyPath: 'listId'}, |
| | | ], |
| | | TTL: 6 * 60 * 1000, |
| | | showLoading: false, |
| | | filters: { |
| | | user: jvbSettings.currentUser, |
| | | content: 'all', |
| | | order: 'desc', |
| | | orderby: 'date', |
| | | page: 1, |
| | | all: true, |
| | | } |
| | | }); |
| | | |
| | | this.listStore = new window.jvbStore({ |
| | | name: 'favourites_lists', |
| | | storeName: 'lists', |
| | | keyPath: 'listId', |
| | | endpoint: 'favourites/lists', |
| | | TTL: 86400000, |
| | | }) |
| | | this.listStore = window.jvbStore.register( |
| | | 'favourites_lists', |
| | | { |
| | | storeName: 'lists', |
| | | keyPath: 'listId', |
| | | endpoint: 'favourites/lists', |
| | | TTL: 6 * 60 * 1000, |
| | | }); |
| | | |
| | | this.store.subscribe((event, data) => { |
| | | switch (event) { |