From d93e6a996e60fb6abce9a870cef6b2d57bfa70fd Mon Sep 17 00:00:00 2001
From: Herbert Eiselt <herbert.eiselt@highstreet-technologies.com>
Date: Fri, 7 Jun 2019 17:40:50 +0200
Subject: SDNR Add missing status bar to ODLUX Framework

Modify framework and adapt all apps

Issue-ID: SDNC-789
Signed-off-by: Herbert Eiselt <herbert.eiselt@highstreet-technologies.com>
Change-Id: I1ea0a3df6c3f6db08f2bd7a21eb3b4cbf230a08a
Signed-off-by: Herbert Eiselt <herbert.eiselt@highstreet-technologies.com>
---
 .../apps/faultApp/src/components/faultStatus.tsx   | 54 ++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 sdnr/wt/odlux/apps/faultApp/src/components/faultStatus.tsx

(limited to 'sdnr/wt/odlux/apps/faultApp/src/components/faultStatus.tsx')

diff --git a/sdnr/wt/odlux/apps/faultApp/src/components/faultStatus.tsx b/sdnr/wt/odlux/apps/faultApp/src/components/faultStatus.tsx
new file mode 100644
index 000000000..e83720f0b
--- /dev/null
+++ b/sdnr/wt/odlux/apps/faultApp/src/components/faultStatus.tsx
@@ -0,0 +1,54 @@
+import * as React from 'react';
+
+import { withStyles, WithStyles, createStyles, Theme } from '@material-ui/core/styles';
+import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';  // select app icon
+
+import connect, { Connect } from '../../../../framework/src/flux/connect';
+import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
+
+import Typography from '@material-ui/core/Typography';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+
+const styles = (theme: Theme) => createStyles({
+  icon: {
+    marginLeft: 8,
+    marginRight: 8
+  },
+  critical: {
+    color: "red"
+  },
+  major: {
+    color: "orange"
+  },
+  minor: {
+    color: "#f7f700"
+  },
+  warning: {
+    color: "#428bca"
+  }
+});
+
+const mapProps = (state: IApplicationStoreState) => ({
+  faultStatus: state.fault.faultStatus,
+});
+
+
+type FaultStatusComponentProps = & WithStyles<typeof styles> & Connect<typeof mapProps>;
+
+class FaultStatusComponent extends React.Component<FaultStatusComponentProps> {
+  render(): JSX.Element {
+    const { classes, faultStatus } = this.props;
+
+    return (
+      <Typography variant="body1" color="inherit" >
+        Alarm status: <FontAwesomeIcon className={`${classes.icon} ${classes.critical}`} icon={faExclamationTriangle} /> { faultStatus.critical  } |
+        <FontAwesomeIcon className={`${classes.icon} ${classes.major}`} icon={faExclamationTriangle} /> { faultStatus.major } |
+        <FontAwesomeIcon className={`${classes.icon} ${classes.minor}`} icon={faExclamationTriangle} /> { faultStatus.minor } |
+        <FontAwesomeIcon className={`${classes.icon} ${classes.warning}`} icon={faExclamationTriangle} /> { faultStatus.warning } |
+      </Typography>
+    );
+  };
+}
+
+export const FaultStatus = withStyles(styles)(connect(mapProps)(FaultStatusComponent));
+export default FaultStatus;
\ No newline at end of file
-- 
cgit 1.2.3-korg

