SDNR align ODLUX
[ccsdk/features.git] / sdnr / wt / odlux / apps / performanceHistoryApp / src / handlers / transmissionPower24hoursHandler.ts
1 import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
2 import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
3
4 import { TransmissionPowerDataType, TransmissionPower, TransmissionPowerResult } from '../models/transmissionPowerDataType';
5
6 export interface ITransmissionPower24hoursState extends IExternalTableState<TransmissionPowerDataType> { }
7
8 /**
9  * Creates elastic search material data fetch handler for transmission power from historicalperformance24h database.
10  */
11 const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerResult, TransmissionPower>(
12   "sdnperformance/historicalperformance24h",
13   null,
14   (hit) => ({
15     _id: hit._id,
16     ...hit._source,
17     ...hit._source["performance-data"]
18   }),
19   (name) => `${name}`);
20
21 export const {
22   actionHandler: transmissionPower24hoursActionHandler,
23   createActions: createTransmissionPower24hoursActions,
24   createProperties: createTransmissionPower24hoursProperties,
25   createPreActions: createTransmissionPower24hoursPreActions,
26   reloadAction: transmissionPower24hoursReloadAction,
27 } = createExternal<TransmissionPowerDataType>(transmissionPowerSearchHandler, appState => appState.performanceHistory.transmissionPower24hours);
28