UNPKG

@universis/common

Version:

Universis - common directives and services

39 lines 3.93 kB
import { UserActivityService } from '../user-activity/user-activity.service'; /** * * SessionUserActivityService * * Handles the io operations with the session storage for the user activity * service * */ export class SessionUserActivityService extends UserActivityService { constructor() { super(); const userActivity = sessionStorage.getItem('userActivity'); if (userActivity) { const rawList = JSON.parse(userActivity); // NOTE: JSON.stringify transforms dates as ISOString, but the // UserActivityEntry expects Date object. this.list = rawList.map((item) => ({ ...item, dateCreated: new Date(item.dateCreated) })); } } /** * * Adds a new entry at the user activity list * * @param {UserActivityEntry} entry The entry to write at the session storage * * @override * */ setItem(entry) { return super.setItem(entry).then(() => { sessionStorage.setItem('userActivity', JSON.stringify(this.list)); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi11c2VyLWFjdGl2aXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL3NlcnZpY2VzL3Nlc3Npb24tdXNlci1hY3Rpdml0eS9zZXNzaW9uLXVzZXItYWN0aXZpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sd0NBQXdDLENBQUM7QUFFaEc7Ozs7Ozs7R0FPRztBQUVILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUFFakU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFNUQsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUV6Qyw4REFBOEQ7WUFDOUQsK0NBQStDO1lBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDL0IsR0FBRyxJQUFJO2dCQUNQLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3hDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxPQUFPLENBQUMsS0FBd0I7UUFDckMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVzZXJBY3Rpdml0eVNlcnZpY2UsIFVzZXJBY3Rpdml0eUVudHJ5IH0gZnJvbSAnLi4vdXNlci1hY3Rpdml0eS91c2VyLWFjdGl2aXR5LnNlcnZpY2UnO1xuXG4vKipcbiAqXG4gKiBTZXNzaW9uVXNlckFjdGl2aXR5U2VydmljZVxuICpcbiAqIEhhbmRsZXMgdGhlIGlvIG9wZXJhdGlvbnMgd2l0aCB0aGUgc2Vzc2lvbiBzdG9yYWdlIGZvciB0aGUgdXNlciBhY3Rpdml0eVxuICogc2VydmljZVxuICpcbiAqL1xuXG5leHBvcnQgY2xhc3MgU2Vzc2lvblVzZXJBY3Rpdml0eVNlcnZpY2UgZXh0ZW5kcyBVc2VyQWN0aXZpdHlTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHVzZXJBY3Rpdml0eSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJBY3Rpdml0eScpO1xuXG4gICAgaWYgKHVzZXJBY3Rpdml0eSkge1xuICAgICAgY29uc3QgcmF3TGlzdCA9IEpTT04ucGFyc2UodXNlckFjdGl2aXR5KTtcblxuICAgICAgLy8gTk9URTogSlNPTi5zdHJpbmdpZnkgdHJhbnNmb3JtcyBkYXRlcyBhcyBJU09TdHJpbmcsIGJ1dCB0aGVcbiAgICAgIC8vICAgICAgIFVzZXJBY3Rpdml0eUVudHJ5IGV4cGVjdHMgRGF0ZSBvYmplY3QuXG4gICAgICB0aGlzLmxpc3QgPSByYXdMaXN0Lm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgIGRhdGVDcmVhdGVkOiBuZXcgRGF0ZShpdGVtLmRhdGVDcmVhdGVkKVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQWRkcyBhIG5ldyBlbnRyeSBhdCB0aGUgdXNlciBhY3Rpdml0eSBsaXN0XG4gICAqXG4gICAqIEBwYXJhbSB7VXNlckFjdGl2aXR5RW50cnl9IGVudHJ5IFRoZSBlbnRyeSB0byB3cml0ZSBhdCB0aGUgc2Vzc2lvbiBzdG9yYWdlXG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKi9cbiAgcHVibGljIHNldEl0ZW0oZW50cnk6IFVzZXJBY3Rpdml0eUVudHJ5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHN1cGVyLnNldEl0ZW0oZW50cnkpLnRoZW4oKCkgPT4ge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndXNlckFjdGl2aXR5JywgSlNPTi5zdHJpbmdpZnkodGhpcy5saXN0KSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==