Sha256: d0da3138fa3957d0507a0de92b06081b44ce51711ffb2b52c894facae46fdea2

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

import { translate as __ } from 'foremanReact/common/I18n';
import { selectForemanTasks } from '../../ForemanTasksSelectors';
import { getDuration } from './TasksTableHelpers';

export const selectTasksTable = state =>
  selectForemanTasks(state).tasksTable || {};

export const selectTasksTableContent = state =>
  selectTasksTable(state).tasksTableContent || {};

export const selectTasksTableQuery = state =>
  selectTasksTable(state).tasksTableQuery || {};

export const selectPagitation = state =>
  selectTasksTableQuery(state).pagination || {};

export const selectItemCount = state =>
  selectTasksTableQuery(state).itemCount || 0;

export const selectActionName = state =>
  selectTasksTableQuery(state).actionName || '';

export const selectResults = state => {
  const { results } = selectTasksTableContent(state);
  if (!results) return [];
  return results.map(result => ({
    ...result,
    username: result.username || '',
    state: result.state + (result.frozen ? ` ${__('Disabled')}` : ''),
    duration: getDuration(result.started_at, result.ended_at),
  }));
};

export const selectStatus = state => selectTasksTableContent(state).status;

export const selectError = state => selectTasksTableContent(state).error;

export const selectSort = state =>
  selectTasksTableQuery(state).sort || { by: 'started_at', order: 'DESC' };

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
foreman-tasks-0.17.1 webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js