From cadb55f2560d724a7cb0f1a5db3a52464fb81fc5 Mon Sep 17 00:00:00 2001 From: Jayasanka Weerasinghe Date: Fri, 20 Mar 2020 17:37:17 +0530 Subject: [PATCH] Remove notification sidebar from the Devicemgt react app --- .../components/NotificationsDrawer/index.js | 172 ------------------ .../react-app/src/scenes/Home/index.js | 5 +- .../Components/NotificationsTable/index.js | 3 +- .../scenes/Home/scenes/Notifications/index.js | 7 - 4 files changed, 4 insertions(+), 183 deletions(-) delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/components/NotificationsDrawer/index.js diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/components/NotificationsDrawer/index.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/components/NotificationsDrawer/index.js deleted file mode 100644 index 7421038e4e7..00000000000 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/components/NotificationsDrawer/index.js +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (c) 2020, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. - * - * Entgra (pvt) Ltd. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import React from 'react'; -import { Drawer, message, notification, Card, Button } from 'antd'; -import { withConfigContext } from '../../../../components/ConfigContext'; -import axios from 'axios'; -import { Link } from 'react-router-dom'; - -// eslint-disable-next-line no-unused-vars -let config = null; - -class NotificationsDrawer extends React.Component { - routes; - - constructor(props) { - super(props); - this.routes = props.routes; - config = this.props.context; - this.state = { - visible: false, - data: [], - }; - } - - showDrawer = () => { - this.setState({ - visible: true, - }); - this.fetchNotifications(); - }; - - onClose = () => { - this.setState({ - visible: false, - }); - }; - - fetchNotifications = () => { - const config = this.props.context; - axios - .get( - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/notifications', - ) - .then(res => { - if (res.status === 200) { - this.setState({ data: res.data.data.notifications }); - } - }) - .catch(error => { - if (error.hasOwnProperty('response') && error.response.status === 401) { - // todo display a popop with error - message.error('You are not logged in'); - window.location.href = window.location.origin + '/entgra/login'; - } else { - notification.error({ - message: 'There was a problem', - duration: 0, - description: - 'Error occurred while trying to load notifications list.', - }); - } - }); - }; - - clearNotifications = () => { - const config = this.props.context; - axios - .put( - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/notifications/clear-all', - { 'Content-Type': 'application/json; charset=utf-8' }, - ) - .then(res => { - if (res.status === 200) { - notification.success({ - message: 'Done', - duration: 0, - description: 'All notifications are cleared.', - }); - } - }) - .catch(error => { - if (error.hasOwnProperty('response') && error.response.status === 401) { - // todo display a popop with error - message.error('You are not logged in'); - window.location.href = window.location.origin + '/entgra/login'; - } else { - notification.error({ - message: 'There was a problem', - duration: 0, - description: 'Error occurred while trying to clear notifications.', - }); - } - }); - this.setState({ - visible: false, - }); - }; - - render() { - const { data } = this.state; - const notificationItemList = data.map(data => ( - -

{data.deviceType + ':' + data.deviceName}t

-

{data.description}

-
- )); - return ( -
-
-
- Notifications -
-
- - - - - - {notificationItemList} - -
- ); - } -} - -export default withConfigContext(NotificationsDrawer); diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/index.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/index.js index 80cd6d19d5e..27c0d295313 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/index.js +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/index.js @@ -23,7 +23,6 @@ import RouteWithSubRoutes from '../../components/RouteWithSubRoutes'; import { Redirect } from 'react-router'; import './styles.css'; import { withConfigContext } from '../../components/ConfigContext'; -import NotificationsDrawer from './components/NotificationsDrawer'; import Logout from './components/Logout'; const { Header, Content, Footer } = Layout; @@ -179,7 +178,9 @@ class Home extends React.Component { - + + Notifications + - `showing ${range[0]}-${range[1]} of ${total} devices`, - // showQuickJumper: true + `showing ${range[0]}-${range[1]} of ${total} notifications`, }} loading={loading} onChange={this.handleTableChange} diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/scenes/Notifications/index.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/scenes/Notifications/index.js index 2c864846800..456c3a9dab5 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/scenes/Notifications/index.js +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/scenes/Notifications/index.js @@ -32,16 +32,9 @@ import { Link } from 'react-router-dom'; import NotificationsTable from './Components/NotificationsTable'; -// eslint-disable-next-line no-unused-vars -let config = null; - class Notifications extends React.Component { - routes; - constructor(props) { super(props); - this.routes = props.routes; - config = this.props.context; this.state = { visible: false, data: [],