aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts
blob: b4d9da39357b640fb02aeebbbe5a7957f87812ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';


import { CrossPolarDiscriminationDataType, CrossPolarDiscrimination, CrossPolarDiscriminationResult } from '../models/crossPolarDiscriminationDataType';

export interface ICrossPolarDiscrimination24hoursState extends IExternalTableState<CrossPolarDiscriminationDataType> { }

/**
 * Creates elastic search material data fetch handler for CPD from historicalperformance24h database.
 */
const crossPolarDiscriminationSearchHandler = createSearchDataHandler<CrossPolarDiscriminationResult, CrossPolarDiscrimination>(
  "sdnperformance/historicalperformance24h",
  null,
  (hit) => ({
    _id: hit._id,
    ...hit._source,
    ...hit._source["performance-data"]
  }),
  (name) => `${name}`);

export const {
  actionHandler: crossPolarDiscrimination24hoursActionHandler,
  createActions: createCrossPolarDiscrimination24hoursActions,
  createProperties: createCrossPolarDiscrimination24hoursProperties,
  createPreActions: createCrossPolarDiscrimination24hoursPreActions,
  reloadAction: crossPolarDiscrimination24hoursReloadAction,
} = createExternal<CrossPolarDiscriminationDataType>(crossPolarDiscriminationSearchHandler, appState => appState.performanceHistory.crossPolarDiscrimination24hours);