summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers')
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts43
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts43
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts28
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts28
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts83
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.tsx29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.tsx29
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts28
17 files changed, 572 insertions, 0 deletions
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts
new file mode 100644
index 000000000..6072cf0fb
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation15minHandler.ts
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { AdaptiveModulationDataType, AdaptiveModulation, AdaptiveModulationResult } from '../models/adaptiveModulationDataType';
+
+export interface IAdaptiveModulation15minState extends IExternalTableState<AdaptiveModulationDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for Adaptive modulation from historicalperformance15min database.
+ */
+const adaptiveModulationSearchHandler = createSearchDataHandler<AdaptiveModulationResult, AdaptiveModulation>(
+ "sdnperformance/historicalperformance15min",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: adaptiveModulation15minActionHandler,
+ createActions: createAdaptiveModulation15minActions,
+ createProperties: createAdaptiveModulation15minProperties,
+ createPreActions: createAdaptiveModulation15minPreActions,
+ reloadAction: adaptiveModulation15minReloadAction,
+} = createExternal<AdaptiveModulationDataType>(adaptiveModulationSearchHandler, appState => appState.performanceHistory.adaptiveModulation15min);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts
new file mode 100644
index 000000000..466b22966
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/adaptiveModulation24hoursHandler.ts
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { AdaptiveModulationDataType, AdaptiveModulation, AdaptiveModulationResult } from '../models/adaptiveModulationDataType';
+
+export interface IAdaptiveModulation24hoursState extends IExternalTableState<AdaptiveModulationDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for Adaptive modulation from historicalperformance24h database.
+ */
+const adaptiveModulationSearchHandler = createSearchDataHandler<AdaptiveModulationResult, AdaptiveModulation>(
+ "sdnperformance/historicalperformance24h",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: adaptiveModulation24hoursActionHandler,
+ createActions: createAdaptiveModulation24hoursActions,
+ createProperties: createAdaptiveModulation24hoursProperties,
+ createPreActions: createAdaptiveModulation24hoursPreActions,
+ reloadAction: adaptiveModulation24hoursReloadAction,
+} = createExternal<AdaptiveModulationDataType>(adaptiveModulationSearchHandler, appState => appState.performanceHistory.adaptiveModulation24hours);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
new file mode 100644
index 000000000..2fd0ac8f1
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/availableLtpsActionHandler.ts
@@ -0,0 +1,43 @@
+import { IActionHandler } from '../../../../framework/src/flux/action';
+
+import {
+ AllAvailableLtpsLoadedAction,
+ LoadAllAvailableLtpsAction,
+} from '../actions/ltpAction';
+
+import { Ltp } from '../models/availableLtps';
+
+export interface IAvailableLtpsState {
+ distinctLtps: Ltp[];
+ busy: boolean;
+}
+
+const connectedNetworkElementsStateInit: IAvailableLtpsState = {
+ distinctLtps: [],
+ busy: false
+};
+
+export const availableLtpsActionHandler: IActionHandler<IAvailableLtpsState> = (state = connectedNetworkElementsStateInit, action) => {
+ if (action instanceof LoadAllAvailableLtpsAction) {
+
+ state = {
+ ...state,
+ busy: true
+ };
+
+ } else if (action instanceof AllAvailableLtpsLoadedAction) {
+ if (!action.error && action.availableLtps) {
+ state = {
+ ...state,
+ distinctLtps: action.availableLtps,
+ busy: false
+ };
+ } else {
+ state = {
+ ...state,
+ busy: false
+ };
+ }
+ }
+ return state;
+}; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
new file mode 100644
index 000000000..039ae5357
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
@@ -0,0 +1,43 @@
+import { IActionHandler } from '../../../../framework/src/flux/action';
+
+import {
+ AllConnectedNetworkElementsLoadedAction,
+ LoadAllConnectedNetworkElementsAction,
+} from '../actions/connectedNetworkElementsActions';
+
+import { ConnectedNetworkElements } from '../models/connectedNetworkElements';
+
+export interface IConnectedNetworkElementsState {
+ connectedNetworkElements: ConnectedNetworkElements[];
+ busy: boolean;
+}
+
+const connectedNetworkElementsStateInit: IConnectedNetworkElementsState = {
+ connectedNetworkElements: [],
+ busy: false
+};
+
+export const connectedNetworkElementsActionHandler: IActionHandler<IConnectedNetworkElementsState> = (state = connectedNetworkElementsStateInit, action) => {
+ if (action instanceof LoadAllConnectedNetworkElementsAction) {
+
+ state = {
+ ...state,
+ busy: true
+ };
+
+ } else if (action instanceof AllConnectedNetworkElementsLoadedAction) {
+ if (!action.error && action.connectedNetworkElements) {
+ state = {
+ ...state,
+ connectedNetworkElements: action.connectedNetworkElements,
+ busy: false
+ };
+ } else {
+ state = {
+ ...state,
+ busy: false
+ };
+ }
+ }
+ return state;
+}; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts
new file mode 100644
index 000000000..81418db94
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination15minHandler.ts
@@ -0,0 +1,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 ICrossPolarDiscrimination15minState extends IExternalTableState<CrossPolarDiscriminationDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for CPD from historicalperformance15min database.
+ */
+const crossPolarDiscriminationSearchHandler = createSearchDataHandler<CrossPolarDiscriminationResult, CrossPolarDiscrimination>(
+ "sdnperformance/historicalperformance15min",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: crossPolarDiscrimination15minActionHandler,
+ createActions: createCrossPolarDiscrimination15minActions,
+ createProperties: createCrossPolarDiscrimination15minProperties,
+ createPreActions: createCrossPolarDiscrimination15minPreActions,
+ reloadAction: crossPolarDiscrimination15minReloadAction,
+} = createExternal<CrossPolarDiscriminationDataType>(crossPolarDiscriminationSearchHandler, appState => appState.performanceHistory.crossPolarDiscrimination15min);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts
new file mode 100644
index 000000000..b4d9da393
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/crossPolarDiscrimination24hoursHandler.ts
@@ -0,0 +1,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);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts
new file mode 100644
index 000000000..4f284a27e
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData15minHandler.ts
@@ -0,0 +1,28 @@
+import { createExternal,IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { PerformanceDataType, Performance,PerformanceResult } from '../models/performanceDataType';
+
+export interface IPerformanceData15minState extends IExternalTableState<PerformanceDataType> {}
+
+/**
+ * Creates elastic search material data fetch handler for performance data from historicalperformance15min database.
+ */
+ const performanceDataSearchHandler = createSearchDataHandler<PerformanceResult, Performance>(
+ "sdnperformance/historicalperformance15min",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}` );
+
+export const {
+ actionHandler: performanceData15minActionHandler,
+ createActions: createPerformanceData15minActions,
+ createProperties: createPerformanceData15minProperties,
+ createPreActions: createPerformanceData15minPreActions,
+ reloadAction: performanceData15minReloadAction
+} = createExternal<PerformanceDataType>(performanceDataSearchHandler, appState => appState.performanceHistory.performanceData15min);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts
new file mode 100644
index 000000000..4136ce482
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceData24hoursHandler.ts
@@ -0,0 +1,28 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { PerformanceDataType, Performance, PerformanceResult } from '../models/performanceDataType';
+
+export interface IPerformanceData24hoursState extends IExternalTableState<PerformanceDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for performance data from historicalperformance24h database.
+ */
+const performanceDataSearchHandler = createSearchDataHandler<PerformanceResult, Performance>(
+ "sdnperformance/historicalperformance24h",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: performanceData24hoursActionHandler,
+ createActions: createPerformanceData24hoursActions,
+ createProperties: createPerformanceData24hoursProperties,
+ createPreActions: createPerformanceData24hoursPreActions,
+ reloadAction: performanceData24hoursReloadAction
+} = createExternal<PerformanceDataType>(performanceDataSearchHandler, appState => appState.performanceHistory.performanceData24hours);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
new file mode 100644
index 000000000..1cf814b5a
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/performanceHistoryRootHandler.ts
@@ -0,0 +1,83 @@
+// main state handler
+
+import { combineActionHandler } from '../../../../framework/src/flux/middleware';
+
+// ** do not remove **
+import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
+import { IActionHandler } from '../../../../framework/src/flux/action';
+
+import { IPerformanceData15minState, performanceData15minActionHandler } from './performanceData15minHandler';
+import { IReceiveLevel15minState, receiveLevel15minActionHandler } from './receiveLevel15minHandler';
+import { ITransmissionPower15minState, transmissionPower15minActionHandler } from './transmissionPower15minHandler';
+import { IAdaptiveModulation15minState, adaptiveModulation15minActionHandler } from './adaptiveModulation15minHandler';
+import { ITemperature15minState, temperature15minActionHandler } from './temperature15minHandler';
+import { ISignalToInterference15minState, signalToInterference15minActionHandler } from './signalToInterference15minHandler';
+import { ICrossPolarDiscrimination15minState, crossPolarDiscrimination15minActionHandler } from './crossPolarDiscrimination15minHandler';
+import { IPerformanceData24hoursState, performanceData24hoursActionHandler } from './performanceData24hoursHandler';
+import { IReceiveLevel24hoursState, receiveLevel24hoursActionHandler } from './receiveLevel24hoursHandler';
+import { ITransmissionPower24hoursState, transmissionPower24hoursActionHandler } from './transmissionPower24hoursHandler';
+import { IAdaptiveModulation24hoursState, adaptiveModulation24hoursActionHandler } from './adaptiveModulation24hoursHandler';
+import { ITemperature24hoursState, temperature24hoursActionHandler } from './temperature24hoursHandler';
+import { ISignalToInterference24hoursState, signalToInterference24hoursActionHandler } from './signalToInterference24hoursHandler';
+import { ICrossPolarDiscrimination24hoursState, crossPolarDiscrimination24hoursActionHandler } from './crossPolarDiscrimination24hoursHandler';
+import { SetPanelAction } from '../actions/panelChangeActions';
+import { IConnectedNetworkElementsState, connectedNetworkElementsActionHandler } from './connectedNetworkElementsActionHandler';
+import { IAvailableLtpsState, availableLtpsActionHandler } from './availableLtpsActionHandler';
+
+export interface IPerformanceHistoryStoreState {
+ networkElements: IConnectedNetworkElementsState;
+ ltps: IAvailableLtpsState;
+ performanceData15min: IPerformanceData15minState;
+ performanceData24hours: IPerformanceData24hoursState;
+ receiveLevel15min: IReceiveLevel15minState;
+ receiveLevel24hours: IReceiveLevel24hoursState;
+ transmissionPower15min: ITransmissionPower15minState;
+ transmissionPower24hours: ITransmissionPower24hoursState;
+ adaptiveModulation15min: IAdaptiveModulation15minState;
+ adaptiveModulation24hours: IAdaptiveModulation24hoursState;
+ temperature15min: ITemperature15minState;
+ temperature24hours: ITemperature24hoursState;
+ signalToInterference15min:ISignalToInterference15minState;
+ signalToInterference24hours:ISignalToInterference24hoursState;
+ crossPolarDiscrimination15min: ICrossPolarDiscrimination15minState;
+ crossPolarDiscrimination24hours: ICrossPolarDiscrimination24hoursState;
+ currentOpenPanel: string | null;
+
+}
+
+const currentOpenPanelHandler: IActionHandler<string | null> = (state = null, action) => {
+ if (action instanceof SetPanelAction) {
+ state = action.panelId;
+ }
+ return state;
+}
+
+declare module '../../../../framework/src/store/applicationStore' {
+ interface IApplicationStoreState {
+ performanceHistory: IPerformanceHistoryStoreState;
+ }
+}
+
+const actionHandlers = {
+ networkElements: connectedNetworkElementsActionHandler,
+ ltps: availableLtpsActionHandler,
+ performanceData15min: performanceData15minActionHandler,
+ performanceData24hours: performanceData24hoursActionHandler,
+ receiveLevel15min: receiveLevel15minActionHandler,
+ receiveLevel24hours: receiveLevel24hoursActionHandler,
+ transmissionPower15min: transmissionPower15minActionHandler,
+ transmissionPower24hours: transmissionPower24hoursActionHandler,
+ adaptiveModulation15min: adaptiveModulation15minActionHandler,
+ adaptiveModulation24hours: adaptiveModulation24hoursActionHandler,
+ temperature15min: temperature15minActionHandler,
+ temperature24hours: temperature24hoursActionHandler,
+ signalToInterference15min: signalToInterference15minActionHandler,
+ signalToInterference24hours: signalToInterference24hoursActionHandler,
+ crossPolarDiscrimination15min: crossPolarDiscrimination15minActionHandler,
+ crossPolarDiscrimination24hours: crossPolarDiscrimination24hoursActionHandler,
+ currentOpenPanel: currentOpenPanelHandler,
+};
+
+export const performanceHistoryRootHandler = combineActionHandler<IPerformanceHistoryStoreState>(actionHandlers);
+export default performanceHistoryRootHandler;
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts
new file mode 100644
index 000000000..c7c5e177f
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel15minHandler.ts
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { ReceiveLevelDataType, ReceiveLevel, ReceiveLevelResult } from '../models/receiveLevelDataType';
+
+export interface IReceiveLevel15minState extends IExternalTableState<ReceiveLevelDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for receiveLevel from historicalperformance15min database.
+ */
+const receiveLevelSearchHandler = createSearchDataHandler<ReceiveLevelResult, ReceiveLevel>(
+ "sdnperformance/historicalperformance15min",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: receiveLevel15minActionHandler,
+ createActions: createReceiveLevel15minActions,
+ createProperties: createReceiveLevel15minProperties,
+ createPreActions: createReceiveLevel15minPreActions,
+ reloadAction: receiveLevel15minReloadAction,
+} = createExternal<ReceiveLevelDataType>(receiveLevelSearchHandler, appState => appState.performanceHistory.receiveLevel15min);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts
new file mode 100644
index 000000000..f665dfdc6
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/receiveLevel24hoursHandler.ts
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { ReceiveLevelDataType, ReceiveLevel, ReceiveLevelResult } from '../models/receiveLevelDataType';
+
+export interface IReceiveLevel24hoursState extends IExternalTableState<ReceiveLevelDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for receiveLevel from historicalperformance24h database.
+ */
+const receiveLevelSearchHandler = createSearchDataHandler<ReceiveLevelResult, ReceiveLevel>(
+ "sdnperformance/historicalperformance24h",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: receiveLevel24hoursActionHandler,
+ createActions: createReceiveLevel24hoursActions,
+ createProperties: createReceiveLevel24hoursProperties,
+ createPreActions: createReceiveLevel24hoursPreActions,
+ reloadAction: receiveLevel24hoursReloadAction,
+} = createExternal<ReceiveLevelDataType>(receiveLevelSearchHandler, appState => appState.performanceHistory.receiveLevel24hours);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts
new file mode 100644
index 000000000..536a89ea7
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference15minHandler.ts
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { SignalToInterferenceDataType, SignalToInterference, SignalToInterferenceResult } from '../models/signalToInteferenceDataType';
+
+export interface ISignalToInterference15minState extends IExternalTableState<SignalToInterferenceDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for SINR from historicalperformance15min database.
+ */
+const signalToInterferenceSearchHandler = createSearchDataHandler<SignalToInterferenceResult, SignalToInterference>(
+ "sdnperformance/historicalperformance15min",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: signalToInterference15minActionHandler,
+ createActions: createSignalToInterference15minActions,
+ createProperties: createSignalToInterference15minProperties,
+ createPreActions: createSignalToInterference15minPreActions,
+ reloadAction: signalToInterference15minReloadAction,
+} = createExternal<SignalToInterferenceDataType>(signalToInterferenceSearchHandler, appState => appState.performanceHistory.signalToInterference15min);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts
new file mode 100644
index 000000000..a95d0aecf
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/signalToInterference24hoursHandler.ts
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { SignalToInterferenceDataType, SignalToInterference, SignalToInterferenceResult } from '../models/signalToInteferenceDataType';
+
+export interface ISignalToInterference24hoursState extends IExternalTableState<SignalToInterferenceDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for SINR from historicalperformance24h database.
+ */
+const signalToInterferenceSearchHandler = createSearchDataHandler<SignalToInterferenceResult, SignalToInterference>(
+ "sdnperformance/historicalperformance24h",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: signalToInterference24hoursActionHandler,
+ createActions: createSignalToInterference24hoursActions,
+ createProperties: createSignalToInterference24hoursProperties,
+ createPreActions: createSignalToInterference24hoursPreActions,
+ reloadAction: signalToInterference24hoursReloadAction,
+} = createExternal<SignalToInterferenceDataType>(signalToInterferenceSearchHandler, appState => appState.performanceHistory.signalToInterference24hours);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.tsx
new file mode 100644
index 000000000..20fb57035
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature15minHandler.tsx
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { TemperatureDataType, Temperature, TemperatureResult } from '../models/temperatureDataType';
+
+export interface ITemperature15minState extends IExternalTableState<TemperatureDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for Temperature from historicalperformance15min database.
+ */
+const temperatureSearchHandler = createSearchDataHandler<TemperatureResult, Temperature>(
+ "sdnperformance/historicalperformance15min",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: temperature15minActionHandler,
+ createActions: createTemperature15minActions,
+ createProperties: createTemperature15minProperties,
+ createPreActions: createTemperature15minPreActions,
+ reloadAction: temperature15minReloadAction,
+} = createExternal<TemperatureDataType>(temperatureSearchHandler, appState => appState.performanceHistory.temperature15min);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts
new file mode 100644
index 000000000..1c36ef876
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/temperature24hoursHandler.ts
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { TemperatureDataType, Temperature, TemperatureResult } from '../models/temperatureDataType';
+
+export interface ITemperature24hoursState extends IExternalTableState<TemperatureDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for temperature from historicalperformance24h database.
+ */
+const temperatureSearchHandler = createSearchDataHandler<TemperatureResult, Temperature>(
+ "sdnperformance/historicalperformance24h",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: temperature24hoursActionHandler,
+ createActions: createTemperature24hoursActions,
+ createProperties: createTemperature24hoursProperties,
+ createPreActions: createTemperature24hoursPreActions,
+ reloadAction: temperature24hoursReloadAction,
+} = createExternal<TemperatureDataType>(temperatureSearchHandler, appState => appState.performanceHistory.temperature24hours);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.tsx b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.tsx
new file mode 100644
index 000000000..e6ba90f10
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower15minHandler.tsx
@@ -0,0 +1,29 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+
+import { TransmissionPowerDataType, TransmissionPower, TransmissionPowerResult } from '../models/transmissionPowerDataType';
+
+export interface ITransmissionPower15minState extends IExternalTableState<TransmissionPowerDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for Transmission power from historicalperformance15min database.
+ */
+const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerResult, TransmissionPower>(
+ "sdnperformance/historicalperformance15min",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: transmissionPower15minActionHandler,
+ createActions: createTransmissionPower15minActions,
+ createProperties: createTransmissionPower15minProperties,
+ createPreActions: createTransmissionPower15minPreActions,
+ reloadAction: transmissionPower15minReloadAction,
+} = createExternal<TransmissionPowerDataType>(transmissionPowerSearchHandler, appState => appState.performanceHistory.transmissionPower15min);
+
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts
new file mode 100644
index 000000000..de50629e1
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/transmissionPower24hoursHandler.ts
@@ -0,0 +1,28 @@
+import { createExternal, IExternalTableState } from '../../../../framework/src/components/material-table/utilities';
+import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch';
+
+import { TransmissionPowerDataType, TransmissionPower, TransmissionPowerResult } from '../models/transmissionPowerDataType';
+
+export interface ITransmissionPower24hoursState extends IExternalTableState<TransmissionPowerDataType> { }
+
+/**
+ * Creates elastic search material data fetch handler for transmission power from historicalperformance24h database.
+ */
+const transmissionPowerSearchHandler = createSearchDataHandler<TransmissionPowerResult, TransmissionPower>(
+ "sdnperformance/historicalperformance24h",
+ null,
+ (hit) => ({
+ _id: hit._id,
+ ...hit._source,
+ ...hit._source["performance-data"]
+ }),
+ (name) => `${name}`);
+
+export const {
+ actionHandler: transmissionPower24hoursActionHandler,
+ createActions: createTransmissionPower24hoursActions,
+ createProperties: createTransmissionPower24hoursProperties,
+ createPreActions: createTransmissionPower24hoursPreActions,
+ reloadAction: transmissionPower24hoursReloadAction,
+} = createExternal<TransmissionPowerDataType>(transmissionPowerSearchHandler, appState => appState.performanceHistory.transmissionPower24hours);
+