impressionStore.ts 878 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ///<reference path="../../headers/common.d.ts" />
  2. import store from 'app/core/store';
  3. import _ from 'lodash';
  4. export class ImpressionsStore {
  5. constructor() {}
  6. addDashboardImpression(slug) {
  7. var impressions = [];
  8. if (store.exists("dashboard_impressions")) {
  9. impressions = JSON.parse(store.get("dashboard_impressions"));
  10. if (!_.isArray(impressions)) {
  11. impressions = [];
  12. }
  13. }
  14. var exists = impressions.indexOf(slug);
  15. if (exists >= 0) {
  16. impressions.splice(exists, 1);
  17. }
  18. impressions.unshift(slug);
  19. if (impressions.length > 20) {
  20. impressions.shift();
  21. }
  22. store.set("dashboard_impressions", JSON.stringify(impressions));
  23. }
  24. getDashboardOpened() {
  25. var k = store.get("dashboard_impressions");
  26. return JSON.parse(k);
  27. }
  28. }
  29. var impressions = new ImpressionsStore();
  30. export {
  31. impressions
  32. };