@universis/common
Version:
Universis - common directives and services
39 lines • 3.93 kB
JavaScript
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==