change(ui) - sessions search checking for empty fitler values

This commit is contained in:
Shekar Siri 2022-06-24 18:35:25 +02:00
parent 77096976ea
commit fc01ffb6bf
3 changed files with 24 additions and 5 deletions

View file

@ -1,3 +1,4 @@
export const SKIP_TO_ISSUE = "__$session-skipToIssue$__"
export const TIMEZONE = "__$session-timezone$__"
export const DURATION_FILTER = "__$session-durationFilter$__"
export const DURATION_FILTER = "__$session-durationFilter$__"
export const SESSION_FILTER = "__$session-filter$__"

View file

@ -4,11 +4,11 @@ import ErrorStack from 'Types/session/errorStack';
import Watchdog from 'Types/watchdog';
import { clean as cleanParams } from 'App/api_client';
import withRequestState, { RequestTypes } from './requestStateCreator';
import { getRE } from 'App/utils';
import { getRE, setSessionFilter, getSessionFilter, compareJsonObjects } from 'App/utils';
import { LAST_7_DAYS } from 'Types/app/period';
import { getDateRangeFromValue } from 'App/dateRange';
const name = 'sessions';
const name = 'sessions';
const INIT = 'sessions/INIT';
const FETCH_LIST = new RequestTypes('sessions/FETCH_LIST');
const FETCH = new RequestTypes('sessions/FETCH');
@ -27,7 +27,6 @@ const SET_FUNNEL_PAGE_FLAG = 'sessions/SET_FUNNEL_PAGE_FLAG';
const SET_TIMELINE_POINTER = 'sessions/SET_TIMELINE_POINTER';
const SET_SESSION_PATH = 'sessions/SET_SESSION_PATH';
const LAST_PLAYED_SESSION_ID = `${name}/LAST_PLAYED_SESSION_ID`;
const SET_ACTIVE_TAB = 'sessions/SET_ACTIVE_TAB';
const range = getDateRangeFromValue(LAST_7_DAYS);
@ -237,7 +236,13 @@ function init(session) {
}
}
export const fetchList = (params = {}, clear = false, live = false) => (dispatch, getState) => {
export const fetchList = (params = {}, clear = false, force = false) => (dispatch, getState) => {
if (!force) {
const oldFilters = getSessionFilter();
if (compareJsonObjects(oldFilters, params)) return;
}
setSessionFilter(params)
return dispatch({
types: FETCH_LIST.toArray(),
call: client => client.post('/sessions/search2', params),

View file

@ -1,6 +1,7 @@
import JSBI from 'jsbi';
import chroma from "chroma-js";
import * as htmlToImage from 'html-to-image';
import { SESSION_FILTER } from 'App/constants/storageKeys'
export function debounce(callback, wait, context = this) {
let timeout = null;
@ -316,3 +317,15 @@ export const fetchErrorCheck = (response: any) => {
}
return response.json();
}
export const getSessionFilter = () => {
return JSON.parse(localStorage.getItem(SESSION_FILTER))
}
export const setSessionFilter = (filter: any) => {
localStorage.setItem(SESSION_FILTER, JSON.stringify(filter))
}
export const compareJsonObjects = (obj1: any, obj2: any) => {
return JSON.stringify(obj1) === JSON.stringify(obj2);
}