Sha256: 768c2ac5b1c1276e4a773f89aa5c8b4e2f38fcf1d45a45deecdba628f17e4619

Contents?: true

Size: 1.81 KB

Versions: 63

Compression:

Stored size: 1.81 KB

Contents

import { API } from 'foremanReact/redux/API';
import { timeToHoursNumber, resolveQuery } from './TasksDashboardHelper';
import {
  FOREMAN_TASKS_DASHBOARD_INIT,
  FOREMAN_TASKS_DASHBOARD_UPDATE_TIME,
  FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY,
  TASKS_DASHBOARD_CURRENT_TIME,
  FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
  FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
  FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE,
} from './TasksDashboardConstants';
import { selectTime } from './TasksDashboardSelectors';

export const initializeDashboard = ({ time, query }) => ({
  type: FOREMAN_TASKS_DASHBOARD_INIT,
  payload: { time, query },
});

export const updateTime = time => ({
  type: FOREMAN_TASKS_DASHBOARD_UPDATE_TIME,
  payload: time,
});

export const updateQuery = (query, history) => (dispatch, getState) => {
  if (query.time === TASKS_DASHBOARD_CURRENT_TIME)
    query.time = selectTime(getState());

  resolveQuery(query, history);
  dispatch({
    type: FOREMAN_TASKS_DASHBOARD_UPDATE_QUERY,
    payload: query,
  });
};

export const fetchTasksSummary = (time, parentTaskID) => async dispatch => {
  try {
    dispatch(startRequest());

    const hours = timeToHoursNumber(time);
    const url = parentTaskID
      ? `/foreman_tasks/tasks/summary/${parentTaskID}/sub_tasks/${hours}`
      : `/foreman_tasks/tasks/summary/${hours}`;
    const { data } = await API.get(url);

    return dispatch(requestSuccess(data));
  } catch (error) {
    return dispatch(requestFailure(error));
  }
};

const startRequest = () => ({
  type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_REQUEST,
});

const requestSuccess = data => ({
  type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_SUCCESS,
  payload: data,
});

const requestFailure = error => ({
  type: FOREMAN_TASKS_DASHBOARD_FETCH_TASKS_SUMMARY_FAILURE,
  payload: error,
});

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
foreman-tasks-10.0.2 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-10.0.1 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-10.0.0 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.2.3 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.2.2 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.2.1 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.2.0 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.1.1 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.0.4 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.1.0 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.0.2 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.0.1 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-8.3.3 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-9.0.0 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-8.2.1 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-8.1.4 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-8.3.2 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-8.3.1 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-8.1.3 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js
foreman-tasks-8.3.0 webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardActions.js