From a5971e9d1187a2761ae6ae195fd665ed46e91e1a Mon Sep 17 00:00:00 2001 From: Jayasanka Weerasinghe Date: Tue, 18 Feb 2020 10:54:55 +0530 Subject: [PATCH] Change the file structure of the DeviceMgt React app --- .../react-app/babel.config.js | 2 +- .../react-app/public/css/font-wso2.css | 6 +- .../react-app/public/css/font-wso2.min.css | 4 +- .../react-app/public/scss/_mixin.scss | 614 +++++++++--------- .../public/themes/default/default-theme.css | 2 +- .../react-app/src/App.css | 2 +- .../react-app/src/App.js | 4 +- .../react-app/src/App.test.js | 2 +- .../ConfigContext/index.js} | 2 +- .../components/Devices/ReportDevicesTable.js | 267 -------- .../src/components/Reports/Filter.js | 68 -- .../components/Reports/Widgets/CountWidget.js | 45 -- .../components/Reports/Widgets/PieChart.js | 323 --------- .../index.js} | 2 +- .../react-app/src/index.css | 4 +- .../react-app/src/index.html | 2 +- .../react-app/src/index.js | 51 +- .../react-app/src/logo.svg | 7 - .../Dashboard/Reports/PolicyReportHome.js | 185 ------ .../Reports/ReportDurationItemList.js | 329 ---------- .../src/pages/Dashboard/Reports/Reports.js | 84 --- .../Home/components/Filter/index.js} | 4 +- .../Home/components/Logout/index.js} | 4 +- .../Dashboard.js => scenes/Home/index.js} | 12 +- .../components/CertificateTable/index.js} | 4 +- .../Home/scenes/Certificates/index.js} | 4 +- .../components/DeviceTypesTable/index.js} | 8 +- .../Home/scenes/DeviceTypes/index.js} | 4 +- .../components/BulkActionBar/index.js} | 2 +- .../Devices/components/DevicesTable/index.js} | 6 +- .../Home/scenes/Devices/index.js} | 4 +- .../AddDevice/components/DeviceType/index.js} | 4 +- .../Enroll/components/AddDevice/index.js} | 10 +- .../Enroll/components/DownloadAgent/index.js} | 6 +- .../Enroll/components/EnrollDevice/index.js} | 12 +- .../components/SelectEnrolmentType/index.js} | 2 +- .../scenes/Devices/scenes/Enroll/index.js} | 2 +- .../scenes/Geo/components/CustomMap/index.js} | 8 +- .../Geo/components/GeoDashboard/index.js} | 8 +- .../Geo/components/GeoDashboard/styles.css} | 0 .../Home/scenes/Geo/index.js} | 4 +- .../GroupsTable/components/AddGroup/index.js} | 4 +- .../components/GroupActions/index.js} | 4 +- .../components/GroupDevicesModal/index.js} | 7 +- .../Groups/components/GroupsTable/index.js} | 18 +- .../Home/scenes/Groups/index.js} | 4 +- .../components/ConfigureProfile/index.js} | 4 +- .../components/SelectPlatform/index.js} | 4 +- .../Policies/components/AddPolicy/index.js} | 6 +- .../components/PoliciesTable/index.js} | 4 +- .../Home/scenes/Policies/index.js} | 4 +- .../Policies/scenes/AddNewPolicy/index.js} | 4 +- .../Home/scenes/Policies/styles.css} | 0 .../components/DateRangePicker/index.js} | 4 +- .../Reports/components/DevicesTable/index.js} | 6 +- .../src/scenes/Home/scenes/Reports/index.js | 229 +++++++ .../components/AppListDropDown/index.js} | 2 +- .../components/AppVersionDropDown/index.js} | 2 +- .../scenes/AppNotInstalledDevices/index.js} | 8 +- .../Reports/scenes/DeviceStatus/index.js} | 6 +- .../Reports/scenes/EnrollmentType/index.js} | 6 +- .../scenes/EnrolmentVsUnenrollments/index.js} | 6 +- .../components/FeatureListModal/index.js} | 2 +- .../components/PolicyDevicesTable/index.js} | 6 +- .../components/SelectPolicyDropDown/index.js} | 2 +- .../Reports/scenes/PolicyCompliance/index.js} | 8 +- .../RolesTable/components/AddRole/index.js} | 2 +- .../components/RoleAction/index.js} | 2 +- .../Roles/components/RolesTable/index.js} | 10 +- .../Home/scenes/Roles/index.js} | 4 +- .../UsersTable/components/AddUser/index.js} | 2 +- .../components/UserActions/index.js} | 2 +- .../components/UserDevices/index.js} | 4 +- .../Users/components/UsersTable/index.js} | 12 +- .../Home/scenes/Users/index.js} | 4 +- .../Dashboard.css => scenes/Home/styles.css} | 2 +- .../{pages/Login.js => scenes/Login/index.js} | 6 +- .../Login.css => scenes/Login/styles.css} | 4 +- .../serviceWorkers}/serviceWorker.js | 2 +- .../utils/errorHandler.js} | 0 .../react-app/webpack.config.js | 2 +- 81 files changed, 725 insertions(+), 1796 deletions(-) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{context/ConfigContext.js => components/ConfigContext/index.js} (93%) delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Devices/ReportDevicesTable.js delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Filter.js delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/CountWidget.js delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/PieChart.js rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/{RouteWithSubRoutes.js => RouteWithSubRoutes/index.js} (94%) delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/logo.svg delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/pages/Dashboard/Reports/PolicyReportHome.js delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/pages/Dashboard/Reports/ReportDurationItemList.js delete mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/pages/Dashboard/Reports/Reports.js rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Utils/Filter/Filter.js => scenes/Home/components/Filter/index.js} (86%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Logout/Logout.js => scenes/Home/components/Logout/index.js} (93%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Dashboard.js => scenes/Home/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Configurations/Certificates/CertificateTable.js => scenes/Home/scenes/Certificates/components/CertificateTable/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Configurations/Certificates/Certificates.js => scenes/Home/scenes/Certificates/index.js} (91%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/DeviceTypes/DeviceTypesTable.js => scenes/Home/scenes/DeviceTypes/components/DeviceTypesTable/index.js} (93%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/DeviceTypes/DeviceTypes.js => scenes/Home/scenes/DeviceTypes/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Devices/BulkActionBar.js => scenes/Home/scenes/Devices/components/DevicesTable/components/BulkActionBar/index.js} (98%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Devices/DevicesTable.js => scenes/Home/scenes/Devices/components/DevicesTable/index.js} (98%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Devices/Devices.js => scenes/Home/scenes/Devices/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Devices/DeviceType.js => scenes/Home/scenes/Devices/scenes/Enroll/components/AddDevice/components/DeviceType/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Devices/Enroll-Device/AddDevice.js => scenes/Home/scenes/Devices/scenes/Enroll/components/AddDevice/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Devices/Enroll-Device/DownloadAgent.js => scenes/Home/scenes/Devices/scenes/Enroll/components/DownloadAgent/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Devices/Enroll-Device/EnrollDevice.js => scenes/Home/scenes/Devices/scenes/Enroll/components/EnrollDevice/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Devices/Enroll-Device/SelectEnrollmentType.js => scenes/Home/scenes/Devices/scenes/Enroll/components/SelectEnrolmentType/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Devices/DeviceEnroll.js => scenes/Home/scenes/Devices/scenes/Enroll/index.js} (94%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Geo/geo-custom-map/GeoCustomMap.js => scenes/Home/scenes/Geo/components/CustomMap/index.js} (90%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Geo/geo-dashboard/GeoDashboard.js => scenes/Home/scenes/Geo/components/GeoDashboard/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Geo/geo-dashboard/GeoDashboard.css => scenes/Home/scenes/Geo/components/GeoDashboard/styles.css} (100%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Geo/Geo.js => scenes/Home/scenes/Geo/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Groups/AddGroup.js => scenes/Home/scenes/Groups/components/GroupsTable/components/AddGroup/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Groups/GroupActions.js => scenes/Home/scenes/Groups/components/GroupsTable/components/GroupActions/index.js} (98%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Groups/GroupDevicesModal.js => scenes/Home/scenes/Groups/components/GroupsTable/components/GroupDevicesModal/index.js} (94%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Groups/GroupsTable.js => scenes/Home/scenes/Groups/components/GroupsTable/index.js} (91%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Groups/Groups.js => scenes/Home/scenes/Groups/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Policies/ConfigureProfile.js => scenes/Home/scenes/Policies/components/AddPolicy/components/ConfigureProfile/index.js} (99%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Policies/SelectPlatform.js => scenes/Home/scenes/Policies/components/AddPolicy/components/SelectPlatform/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Policies/AddPolicy.js => scenes/Home/scenes/Policies/components/AddPolicy/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Policies/PoliciesTable.js => scenes/Home/scenes/Policies/components/PoliciesTable/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Policies/Policies.js => scenes/Home/scenes/Policies/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Policies/AddNewPolicy.js => scenes/Home/scenes/Policies/scenes/AddNewPolicy/index.js} (93%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Policies/policies.css => scenes/Home/scenes/Policies/styles.css} (100%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/DateRangePicker.js => scenes/Home/scenes/Reports/components/DateRangePicker/index.js} (93%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Widgets/ReportDevicesTable.js => scenes/Home/scenes/Reports/components/DevicesTable/index.js} (97%) create mode 100644 components/device-mgt/io.entgra.device.mgt.ui/react-app/src/scenes/Home/scenes/Reports/index.js rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Widgets/AppListDropDown.js => scenes/Home/scenes/Reports/scenes/AppNotInstalledDevices/components/AppListDropDown/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Widgets/AppVersionDropDown.js => scenes/Home/scenes/Reports/scenes/AppNotInstalledDevices/components/AppVersionDropDown/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Templates/AppNotInstalledDevicesReport.js => scenes/Home/scenes/Reports/scenes/AppNotInstalledDevices/index.js} (93%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Templates/DeviceStatusReport.js => scenes/Home/scenes/Reports/scenes/DeviceStatus/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Templates/EnrollmentTypeReport.js => scenes/Home/scenes/Reports/scenes/EnrollmentType/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Templates/EnrollmentsVsUnenrollmentsReport.js => scenes/Home/scenes/Reports/scenes/EnrolmentVsUnenrollments/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Widgets/FeatureListModal.js => scenes/Home/scenes/Reports/scenes/PolicyCompliance/components/PolicyDevicesTable/components/FeatureListModal/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Widgets/PolicyDevicesTable.js => scenes/Home/scenes/Reports/scenes/PolicyCompliance/components/PolicyDevicesTable/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Widgets/SelectPolicyDropDown.js => scenes/Home/scenes/Reports/scenes/PolicyCompliance/components/SelectPolicyDropDown/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Reports/Templates/PolicyReport.js => scenes/Home/scenes/Reports/scenes/PolicyCompliance/index.js} (95%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Roles/AddRole.js => scenes/Home/scenes/Roles/components/RolesTable/components/AddRole/index.js} (99%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Roles/RoleAction.js => scenes/Home/scenes/Roles/components/RolesTable/components/RoleAction/index.js} (99%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Roles/RolesTable.js => scenes/Home/scenes/Roles/components/RolesTable/index.js} (95%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Roles/Roles.js => scenes/Home/scenes/Roles/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Users/AddUser.js => scenes/Home/scenes/Users/components/UsersTable/components/AddUser/index.js} (98%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Users/UserActions.js => scenes/Home/scenes/Users/components/UsersTable/components/UserActions/index.js} (99%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Users/UsersDevices.js => scenes/Home/scenes/Users/components/UsersTable/components/UserDevices/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{components/Users/UsersTable.js => scenes/Home/scenes/Users/components/UsersTable/index.js} (96%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Users/Users.js => scenes/Home/scenes/Users/index.js} (92%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Dashboard/Dashboard.css => scenes/Home/styles.css} (95%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Login.js => scenes/Login/index.js} (97%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{pages/Login.css => scenes/Login/styles.css} (95%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{ => services/serviceWorkers}/serviceWorker.js (98%) rename components/device-mgt/io.entgra.device.mgt.ui/react-app/src/{js/Utils.js => services/utils/errorHandler.js} (100%) diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/babel.config.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/babel.config.js index 9cfcaf0bd9..482333ff45 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/babel.config.js +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/babel.config.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.css b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.css index 3bbf79fd0c..c0b458da32 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.css +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 @@ -39,7 +39,7 @@ font-variant: normal; speak: none; text-decoration: inherit; - + /* Better Font Rendering =========== */ text-transform: none; text-rendering: auto; @@ -275,7 +275,7 @@ } .fw-stroke:before, .fw-helper-stroke:after { - text-shadow: -2px -2px 0 #ffffff, + text-shadow: -2px -2px 0 #ffffff, 2px -2px 0 #ffffff, -2px 2px 0 #ffffff, 2px 2px 0 #ffffff; diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.min.css b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.min.css index 86de03938a..8d948cfa6b 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.min.css +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/css/font-wso2.min.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 @@ -14,4 +14,4 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - */.fw-fw,.fw-li{text-align:center}@font-face{font-family:font-wso2;src:local("font-wso2"),url(../fonts/font-wso2.eot?6563fa91278f239ef8c827d90a165223);src:local("font-wso2"),url(../fonts/font-wso2.eot?#iefix) format("embedded-opentype"),url(../fonts/font-wso2.woff2?6563fa91278f239ef8c827d90a165223) format("woff2"),url(../fonts/font-wso2.woff?6563fa91278f239ef8c827d90a165223) format("woff"),url(../fonts/font-wso2.ttf?6563fa91278f239ef8c827d90a165223) format("truetype"),url(../fonts/font-wso2.svg?6563fa91278f239ef8c827d90a165223#font-wso2) format("svg");font-weight:400;font-style:normal}.fw,[class*=" fw-"],[class^=fw-]{font:normal normal normal 14px/1 font-wso2;display:inline-block;font-weight:400;font-style:normal;font-size:inherit;font-variant:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fw-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fw-2x{font-size:2em}.fw-3x{font-size:3em}.fw-4x{font-size:4em}.fw-5x{font-size:5em}.fw-fw{width:1.28571429em}.fw-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fw-ul>li{position:relative}.fw-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em}.fw-li.fw-lg{left:-1.85714286em}.fw-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fw-background{background:#888;border-radius:.3em;padding:.4em .5em .45em}.fw-pull-left{float:left}.fw-pull-right{float:right}.fw.fw-pull-left{margin-right:.3em}.fw.fw-pull-right{margin-left:.3em}.fw-spin{-webkit-animation:fw-spin 2s infinite linear;animation:fw-spin 2s infinite linear}@-webkit-keyframes fw-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fw-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fw-pulse{-webkit-animation:fw-pulse 2s ease-out infinite;animation:fw-pulse 2s ease-out infinite}@-webkit-keyframes fw-pulse{0%,100%,30%{opacity:.3}40%{opacity:1}}@keyframes fw-pulse{0%,100%,30%{opacity:.3}40%{opacity:1}}.fw-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fw-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fw-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fw-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fw-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fw-flip-horizontal,:root .fw-flip-vertical,:root .fw-rotate-180,:root .fw-rotate-270,:root .fw-rotate-90{filter:none}.fw-helper,.fw-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:1.85em;vertical-align:middle}.fw-helper:after,.fw-helper:before,.fw-stack-1x,.fw-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fw-helper:before,.fw-stack-1x{line-height:inherit}.fw-helper:after,.fw-stack-2x{font-size:1.9em}.fw-helper-slash:before{font-size:1.4em}.fw-helper-circle:before,.fw-helper-square:before{z-index:1}.fw-helper-circle-outline:after{content:"\e61f"}.fw-helper-circle:after{content:"\e61a"}.fw-helper-square-outline:after{content:"\e6b2"}.fw-helper-square:after{content:"\e6b1"}.fw-helper-slash:after{content:"\e6e1"}.fw-stack>.fw-stack{position:absolute;font-size:.5em}.fw-stack>.fw-stack.fw-move-top{top:-.2em}.fw-stack>.fw-stack.fw-move-bottom{bottom:-.2em}.fw-stack>.fw.stack.fw-move-left{left:-.5em}.fw-stack>.fw-stack.fw-move-right{right:-.5em}.fw-helper-inverse:after,.fw-inverse:before,.fw-number{color:#fff}.fw-helper-shadow:after,.fw-shadow:before{text-shadow:#fff 1px 1px 0}.fw-helper-stroke:after,.fw-stroke:before{text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff}.fw-number{line-height:2em;font-family:Arial,Helvetica,sans-serif}.fw-abort:before{content:"\e72a"}.fw-action-invoke:before{content:"\e6fe"}.fw-action:before{content:"\e709"}.fw-activate:before{content:"\e6cf"}.fw-add:before{content:"\e615"}.fw-airplay:before{content:"\e600"}.fw-alarm:before{content:"\e6c2"}.fw-alert:before{content:"\e6be"}.fw-analytics-extensions:before{content:"\e6e2"}.fw-android-logcat:before{content:"\e72c"}.fw-android-sense:before{content:"\e72d"}.fw-android:before{content:"\e606"}.fw-annotation:before{content:"\e6e6"}.fw-api:before{content:"\e601"}.fw-apn:before{content:"\e602"}.fw-apple:before{content:"\e604"}.fw-application:before{content:"\e608"}.fw-arduino:before{content:"\e6ab"}.fw-assign:before{content:"\e6ff"}.fw-ballerina-service:before{content:"\e729"}.fw-ballerina:before{content:"\e728"}.fw-bar-chart:before{content:"\e690"}.fw-battery:before{content:"\e60a"}.fw-blank-document:before{content:"\e60c"}.fw-block:before{content:"\e695"}.fw-bookmark:before{content:"\e60d"}.fw-bpel:before{content:"\e60e"}.fw-bpmn:before{content:"\e60f"}.fw-break:before{content:"\e721"}.fw-bug:before{content:"\e611"}.fw-build:before{content:"\e6c1"}.fw-calendar:before{content:"\e612"}.fw-camera:before{content:"\e613"}.fw-cancel:before{content:"\e618"}.fw-carbon:before{content:"\e6c5"}.fw-chat:before{content:"\e65b"}.fw-check:before{content:"\e617"}.fw-checklist:before{content:"\e619"}.fw-circle-outline:before{content:"\e61f"}.fw-circle:before{content:"\e61a"}.fw-clear:before{content:"\e61b"}.fw-clock:before{content:"\e61d"}.fw-cloud:before{content:"\e61e"}.fw-code-view:before{content:"\e70e"}.fw-code:before{content:"\e6f1"}.fw-comment:before{content:"\e710"}.fw-compare:before{content:"\e610"}.fw-computer:before{content:"\e653"}.fw-configarations:before{content:"\e609"}.fw-connector:before{content:"\e700"}.fw-console:before{content:"\e71d"}.fw-constant:before{content:"\e701"}.fw-contact:before{content:"\e620"}.fw-contract:before{content:"\e614"}.fw-copy:before{content:"\e621"}.fw-cut:before{content:"\e6f2"}.fw-dashboard:before{content:"\e622"}.fw-database:before{content:"\e623"}.fw-delete:before{content:"\e624"}.fw-depend:before{content:"\e6c6"}.fw-deploy:before{content:"\e625"}.fw-deprecate:before{content:"\e6cb"}.fw-design-view:before{content:"\e70f"}.fw-devices:before{content:"\e704"}.fw-dgm-action-invoke:before{content:"\e712"}.fw-dgm-action:before{content:"\e711"}.fw-dgm-connector:before{content:"\e6f4"}.fw-dgm-constant-definition:before{content:"\e6f5"}.fw-dgm-fork:before{content:"\e6e7"}.fw-dgm-header:before{content:"\e6e8"}.fw-dgm-if-else:before{content:"\e6e9"}.fw-dgm-import:before{content:"\e717"}.fw-dgm-lifeline:before{content:"\e6ea"}.fw-dgm-logger:before{content:"\e6eb"}.fw-dgm-resource:before{content:"\e6f6"}.fw-dgm-service:before{content:"\e6f7"}.fw-dgm-try-catch:before{content:"\e6ec"}.fw-dgm-type-convertor:before{content:"\e6f8"}.fw-dgm-type:before{content:"\e6f9"}.fw-dgm-while:before{content:"\e707"}.fw-dial-up:before{content:"\e627"}.fw-disabled:before{content:"\e6d1"}.fw-display:before{content:"\e626"}.fw-docker:before{content:"\e70c"}.fw-document:before{content:"\e628"}.fw-down-arrow:before{content:"\e689"}.fw-down:before{content:"\e685"}.fw-download:before{content:"\e65f"}.fw-dss:before{content:"\e62a"}.fw-ebook:before{content:"\e62b"}.fw-edit:before{content:"\e62c"}.fw-ellipsis:before{content:"\e629"}.fw-endpoint:before{content:"\e62d"}.fw-enterprise:before{content:"\e6b6"}.fw-error:before{content:"\e630"}.fw-esb-connector:before{content:"\e6e3"}.fw-expand:before{content:"\e61c"}.fw-export:before{content:"\e631"}.fw-extensions:before{content:"\e6e4"}.fw-facebook:before{content:"\e6d3"}.fw-factory-reset:before{content:"\e632"}.fw-fan:before{content:"\e678"}.fw-faq:before{content:"\e62f"}.fw-file-browse:before{content:"\e633"}.fw-filter:before{content:"\e634"}.fw-folder-open:before{content:"\e70b"}.fw-folder:before{content:"\e62e"}.fw-fork-join:before{content:"\e720"}.fw-format:before{content:"\e6fa"}.fw-forum:before{content:"\e636"}.fw-function-invoke:before{content:"\e713"}.fw-function:before{content:"\e6fb"}.fw-gadget:before{content:"\e637"}.fw-geo-fence-inbound:before{content:"\e72e"}.fw-geo-fence-outbound:before{content:"\e72f"}.fw-github:before{content:"\e6d4"}.fw-globe:before{content:"\e697"}.fw-google-docs:before{content:"\e6d6"}.fw-google-drive:before{content:"\e6da"}.fw-google-plus:before{content:"\e6d9"}.fw-google-sheets:before{content:"\e6d7"}.fw-google-slides:before{content:"\e6d8"}.fw-google:before{content:"\e6d5"}.fw-grid:before{content:"\e638"}.fw-grip:before{content:"\e6b7"}.fw-group:before{content:"\e6af"}.fw-hardware:before{content:"\e6a9"}.fw-hdd:before{content:"\e639"}.fw-heart:before{content:"\e6c3"}.fw-hide:before{content:"\e6d2"}.fw-home:before{content:"\e63a"}.fw-hour-glass:before{content:"\e63b"}.fw-html:before{content:"\e69d"}.fw-http:before{content:"\e705"}.fw-image:before{content:"\e70a"}.fw-import:before{content:"\e63c"}.fw-incoming-call:before{content:"\e63d"}.fw-info:before{content:"\e63e"}.fw-instagram:before{content:"\e6db"}.fw-invitation:before{content:"\e63f"}.fw-invoke:before{content:"\e6ed"}.fw-is-connector:before{content:"\e6e5"}.fw-iterate:before{content:"\e71f"}.fw-jaggery:before{content:"\e640"}.fw-java-spring:before{content:"\e644"}.fw-java:before{content:"\e641"}.fw-javaee:before{content:"\e642"}.fw-javascript:before{content:"\e643"}.fw-jaxrs:before{content:"\e645"}.fw-jaxws:before{content:"\e6c7"}.fw-jquery:before{content:"\e646"}.fw-key:before{content:"\e647"}.fw-laptop:before{content:"\e648"}.fw-layout:before{content:"\e6bf"}.fw-ldap:before{content:"\e649"}.fw-left-arrow:before{content:"\e68a"}.fw-left:before{content:"\e686"}.fw-lifecycle:before{content:"\e64a"}.fw-light:before{content:"\e680"}.fw-linkedin:before{content:"\e6dc"}.fw-list-sort:before{content:"\e64d"}.fw-list:before{content:"\e64c"}.fw-loader:before{content:"\e6b4"}.fw-loader2:before{content:"\e6ba"}.fw-loader3:before{content:"\e6bb"}.fw-loader4:before{content:"\e6bc"}.fw-loader5:before{content:"\e6bd"}.fw-lock:before{content:"\e64e"}.fw-logical:before{content:"\e702"}.fw-mail:before{content:"\e64f"}.fw-main-function:before{content:"\e706"}.fw-map-location:before{content:"\e650"}.fw-menu:before{content:"\e651"}.fw-message:before{content:"\e635"}.fw-micro-services:before{content:"\e6ce"}.fw-dash:before,.fw-hyphen:before,.fw-minus:before{content:"\e616"}.fw-mobile:before{content:"\e652"}.fw-ms-document:before{content:"\e654"}.fw-mute:before{content:"\e655"}.fw-nodejs:before{content:"\e656"}.fw-notification:before{content:"\e60b"}.fw-organization:before{content:"\e6ac"}.fw-own:before{content:"\e6c8"}.fw-package:before{content:"\e6fd"}.fw-pages:before{content:"\e6c0"}.fw-paste:before{content:"\e658"}.fw-pdf:before{content:"\e659"}.fw-pending:before{content:"\e727"}.fw-php:before{content:"\e6c9"}.fw-pie-chart:before{content:"\e65a"}.fw-pinterest:before{content:"\e6dd"}.fw-policy:before{content:"\e67d"}.fw-polygon:before{content:"\e70d"}.fw-prototype:before{content:"\e6cc"}.fw-proxy:before{content:"\e699"}.fw-public:before{content:"\e6ad"}.fw-publish:before{content:"\e65c"}.fw-question:before{content:"\e6b0"}.fw-raspberry:before{content:"\e6aa"}.fw-redo:before{content:"\e65d"}.fw-refresh:before{content:"\e692"}.fw-register:before{content:"\e65e"}.fw-rename:before{content:"\e6fc"}.fw-reply:before{content:"\e714"}.fw-resource:before{content:"\e660"}.fw-rest-api:before{content:"\e661"}.fw-rest-service:before{content:"\e662"}.fw-resume:before{content:"\e71e"}.fw-retire:before{content:"\e6cd"}.fw-return:before{content:"\e715"}.fw-retweet:before{content:"\e6b9"}.fw-right-arrow:before{content:"\e68b"}.fw-right:before{content:"\e687"}.fw-ringing:before{content:"\e694"}.fw-rules:before{content:"\e664"}.fw-run:before{content:"\e708"}.fw-save:before{content:"\e665"}.fw-scep:before{content:"\e666"}.fw-schema:before{content:"\e667"}.fw-search:before{content:"\e668"}.fw-security-policy:before{content:"\e67e"}.fw-security:before{content:"\e669"}.fw-paper-rocket:before,.fw-send:before{content:"\e66a"}.fw-sequence:before{content:"\e66b"}.fw-server:before{content:"\e66c"}.fw-service-provider:before{content:"\e66e"}.fw-cogwheels:before,.fw-gears:before,.fw-service:before,.fw-sprockets:before{content:"\e66d"}.fw-cogwheel:before,.fw-gear:before,.fw-settings:before,.fw-sprocket:before{content:"\e66f"}.fw-share:before{content:"\e670"}.fw-shell:before{content:"\e730"}.fw-shortcut:before{content:"\e725"}.fw-sign-in:before{content:"\e671"}.fw-sign-out:before{content:"\e6b8"}.fw-skype:before{content:"\e6de"}.fw-slash:before{content:"\e6e1"}.fw-soap:before{content:"\e672"}.fw-sort-down:before{content:"\e663"}.fw-sort-up:before{content:"\e64b"}.fw-sort:before{content:"\e673"}.fw-speed-alert:before{content:"\e731"}.fw-square-outline:before{content:"\e6b2"}.fw-square:before{content:"\e6b1"}.fw-star:before{content:"\e674"}.fw-start:before{content:"\e718"}.fw-statistics:before{content:"\e675"}.fw-stepin:before{content:"\e719"}.fw-stepout:before{content:"\e71a"}.fw-stepover:before{content:"\e71b"}.fw-stop:before{content:"\e71c"}.fw-cart:before,.fw-store:before{content:"\e676"}.fw-struct:before{content:"\e716"}.fw-subscribe:before{content:"\e677"}.fw-success:before{content:"\e657"}.fw-swagger:before{content:"\e679"}.fw-sync:before{content:"\e6b3"}.fw-table:before{content:"\e6c4"}.fw-tag:before{content:"\e67a"}.fw-task:before{content:"\e67b"}.fw-text:before{content:"\e67c"}.fw-theme:before{content:"\e726"}.fw-throttling-policy:before{content:"\e67f"}.fw-throw:before{content:"\e722"}.fw-tiles:before{content:"\e681"}.fw-transaction:before{content:"\e72b"}.fw-try-catch:before{content:"\e703"}.fw-twitter:before{content:"\e6df"}.fw-type-converter:before{content:"\e6f3"}.fw-uncheck:before{content:"\e682"}.fw-undo:before{content:"\e683"}.fw-ungroup:before{content:"\e6b5"}.fw-unmute:before{content:"\e6ae"}.fw-up-arrow:before{content:"\e688"}.fw-up:before{content:"\e684"}.fw-upload:before{content:"\e68c"}.fw-uri:before{content:"\e68d"}.fw-usb-drive:before{content:"\e68e"}.fw-use:before{content:"\e6ca"}.fw-user:before{content:"\e68f"}.fw-variable:before{content:"\e6ee"}.fw-view:before{content:"\e691"}.fw-vpn:before{content:"\e603"}.fw-wadl:before{content:"\e6a1"}.fw-war:before{content:"\e69e"}.fw-warning:before{content:"\e693"}.fw-web-app:before{content:"\e696"}.fw-web-clip:before{content:"\e698"}.fw-web-service:before{content:"\e69a"}.fw-website:before{content:"\e69b"}.fw-wifi:before{content:"\e607"}.fw-windows:before{content:"\e605"}.fw-worker-invoke:before{content:"\e723"}.fw-worker-reply:before{content:"\e724"}.fw-worker:before{content:"\e6ef"}.fw-wsdl:before{content:"\e6a0"}.fw-wso2-logo:before{content:"\e6a7"}.fw-wso2:before{content:"\e6a8"}.fw-xacml:before{content:"\e69f"}.fw-xml:before{content:"\e69c"}.fw-xq:before{content:"\e6a2"}.fw-xsd:before{content:"\e6a3"}.fw-xslt:before{content:"\e6a4"}.fw-youtube:before{content:"\e6e0"}.fw-zoom-in:before{content:"\e6a5"}.fw-zoom-out:before{content:"\e6a6"} \ No newline at end of file + */.fw-fw,.fw-li{text-align:center}@font-face{font-family:font-wso2;src:local("font-wso2"),url(../fonts/font-wso2.eot?6563fa91278f239ef8c827d90a165223);src:local("font-wso2"),url(../fonts/font-wso2.eot?#iefix) format("embedded-opentype"),url(../fonts/font-wso2.woff2?6563fa91278f239ef8c827d90a165223) format("woff2"),url(../fonts/font-wso2.woff?6563fa91278f239ef8c827d90a165223) format("woff"),url(../fonts/font-wso2.ttf?6563fa91278f239ef8c827d90a165223) format("truetype"),url(../fonts/font-wso2.svg?6563fa91278f239ef8c827d90a165223#font-wso2) format("svg");font-weight:400;font-style:normal}.fw,[class*=" fw-"],[class^=fw-]{font:normal normal normal 14px/1 font-wso2;display:inline-block;font-weight:400;font-style:normal;font-size:inherit;font-variant:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fw-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fw-2x{font-size:2em}.fw-3x{font-size:3em}.fw-4x{font-size:4em}.fw-5x{font-size:5em}.fw-fw{width:1.28571429em}.fw-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fw-ul>li{position:relative}.fw-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em}.fw-li.fw-lg{left:-1.85714286em}.fw-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fw-background{background:#888;border-radius:.3em;padding:.4em .5em .45em}.fw-pull-left{float:left}.fw-pull-right{float:right}.fw.fw-pull-left{margin-right:.3em}.fw.fw-pull-right{margin-left:.3em}.fw-spin{-webkit-animation:fw-spin 2s infinite linear;animation:fw-spin 2s infinite linear}@-webkit-keyframes fw-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fw-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fw-pulse{-webkit-animation:fw-pulse 2s ease-out infinite;animation:fw-pulse 2s ease-out infinite}@-webkit-keyframes fw-pulse{0%,100%,30%{opacity:.3}40%{opacity:1}}@keyframes fw-pulse{0%,100%,30%{opacity:.3}40%{opacity:1}}.fw-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fw-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fw-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fw-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fw-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fw-flip-horizontal,:root .fw-flip-vertical,:root .fw-rotate-180,:root .fw-rotate-270,:root .fw-rotate-90{filter:none}.fw-helper,.fw-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:1.85em;vertical-align:middle}.fw-helper:after,.fw-helper:before,.fw-stack-1x,.fw-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fw-helper:before,.fw-stack-1x{line-height:inherit}.fw-helper:after,.fw-stack-2x{font-size:1.9em}.fw-helper-slash:before{font-size:1.4em}.fw-helper-circle:before,.fw-helper-square:before{z-index:1}.fw-helper-circle-outline:after{content:"\e61f"}.fw-helper-circle:after{content:"\e61a"}.fw-helper-square-outline:after{content:"\e6b2"}.fw-helper-square:after{content:"\e6b1"}.fw-helper-slash:after{content:"\e6e1"}.fw-stack>.fw-stack{position:absolute;font-size:.5em}.fw-stack>.fw-stack.fw-move-top{top:-.2em}.fw-stack>.fw-stack.fw-move-bottom{bottom:-.2em}.fw-stack>.fw.stack.fw-move-left{left:-.5em}.fw-stack>.fw-stack.fw-move-right{right:-.5em}.fw-helper-inverse:after,.fw-inverse:before,.fw-number{color:#fff}.fw-helper-shadow:after,.fw-shadow:before{text-shadow:#fff 1px 1px 0}.fw-helper-stroke:after,.fw-stroke:before{text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff}.fw-number{line-height:2em;font-family:Arial,Helvetica,sans-serif}.fw-abort:before{content:"\e72a"}.fw-action-invoke:before{content:"\e6fe"}.fw-action:before{content:"\e709"}.fw-activate:before{content:"\e6cf"}.fw-add:before{content:"\e615"}.fw-airplay:before{content:"\e600"}.fw-alarm:before{content:"\e6c2"}.fw-alert:before{content:"\e6be"}.fw-analytics-extensions:before{content:"\e6e2"}.fw-android-logcat:before{content:"\e72c"}.fw-android-sense:before{content:"\e72d"}.fw-android:before{content:"\e606"}.fw-annotation:before{content:"\e6e6"}.fw-api:before{content:"\e601"}.fw-apn:before{content:"\e602"}.fw-apple:before{content:"\e604"}.fw-application:before{content:"\e608"}.fw-arduino:before{content:"\e6ab"}.fw-assign:before{content:"\e6ff"}.fw-ballerina-service:before{content:"\e729"}.fw-ballerina:before{content:"\e728"}.fw-bar-chart:before{content:"\e690"}.fw-battery:before{content:"\e60a"}.fw-blank-document:before{content:"\e60c"}.fw-block:before{content:"\e695"}.fw-bookmark:before{content:"\e60d"}.fw-bpel:before{content:"\e60e"}.fw-bpmn:before{content:"\e60f"}.fw-break:before{content:"\e721"}.fw-bug:before{content:"\e611"}.fw-build:before{content:"\e6c1"}.fw-calendar:before{content:"\e612"}.fw-camera:before{content:"\e613"}.fw-cancel:before{content:"\e618"}.fw-carbon:before{content:"\e6c5"}.fw-chat:before{content:"\e65b"}.fw-check:before{content:"\e617"}.fw-checklist:before{content:"\e619"}.fw-circle-outline:before{content:"\e61f"}.fw-circle:before{content:"\e61a"}.fw-clear:before{content:"\e61b"}.fw-clock:before{content:"\e61d"}.fw-cloud:before{content:"\e61e"}.fw-code-view:before{content:"\e70e"}.fw-code:before{content:"\e6f1"}.fw-comment:before{content:"\e710"}.fw-compare:before{content:"\e610"}.fw-computer:before{content:"\e653"}.fw-configarations:before{content:"\e609"}.fw-connector:before{content:"\e700"}.fw-console:before{content:"\e71d"}.fw-constant:before{content:"\e701"}.fw-contact:before{content:"\e620"}.fw-contract:before{content:"\e614"}.fw-copy:before{content:"\e621"}.fw-cut:before{content:"\e6f2"}.fw-dashboard:before{content:"\e622"}.fw-database:before{content:"\e623"}.fw-delete:before{content:"\e624"}.fw-depend:before{content:"\e6c6"}.fw-deploy:before{content:"\e625"}.fw-deprecate:before{content:"\e6cb"}.fw-design-view:before{content:"\e70f"}.fw-devices:before{content:"\e704"}.fw-dgm-action-invoke:before{content:"\e712"}.fw-dgm-action:before{content:"\e711"}.fw-dgm-connector:before{content:"\e6f4"}.fw-dgm-constant-definition:before{content:"\e6f5"}.fw-dgm-fork:before{content:"\e6e7"}.fw-dgm-header:before{content:"\e6e8"}.fw-dgm-if-else:before{content:"\e6e9"}.fw-dgm-import:before{content:"\e717"}.fw-dgm-lifeline:before{content:"\e6ea"}.fw-dgm-logger:before{content:"\e6eb"}.fw-dgm-resource:before{content:"\e6f6"}.fw-dgm-service:before{content:"\e6f7"}.fw-dgm-try-catch:before{content:"\e6ec"}.fw-dgm-type-convertor:before{content:"\e6f8"}.fw-dgm-type:before{content:"\e6f9"}.fw-dgm-while:before{content:"\e707"}.fw-dial-up:before{content:"\e627"}.fw-disabled:before{content:"\e6d1"}.fw-display:before{content:"\e626"}.fw-docker:before{content:"\e70c"}.fw-document:before{content:"\e628"}.fw-down-arrow:before{content:"\e689"}.fw-down:before{content:"\e685"}.fw-download:before{content:"\e65f"}.fw-dss:before{content:"\e62a"}.fw-ebook:before{content:"\e62b"}.fw-edit:before{content:"\e62c"}.fw-ellipsis:before{content:"\e629"}.fw-endpoint:before{content:"\e62d"}.fw-enterprise:before{content:"\e6b6"}.fw-error:before{content:"\e630"}.fw-esb-connector:before{content:"\e6e3"}.fw-expand:before{content:"\e61c"}.fw-export:before{content:"\e631"}.fw-extensions:before{content:"\e6e4"}.fw-facebook:before{content:"\e6d3"}.fw-factory-reset:before{content:"\e632"}.fw-fan:before{content:"\e678"}.fw-faq:before{content:"\e62f"}.fw-file-browse:before{content:"\e633"}.fw-filter:before{content:"\e634"}.fw-folder-open:before{content:"\e70b"}.fw-folder:before{content:"\e62e"}.fw-fork-join:before{content:"\e720"}.fw-format:before{content:"\e6fa"}.fw-forum:before{content:"\e636"}.fw-function-invoke:before{content:"\e713"}.fw-function:before{content:"\e6fb"}.fw-gadget:before{content:"\e637"}.fw-geo-fence-inbound:before{content:"\e72e"}.fw-geo-fence-outbound:before{content:"\e72f"}.fw-github:before{content:"\e6d4"}.fw-globe:before{content:"\e697"}.fw-google-docs:before{content:"\e6d6"}.fw-google-drive:before{content:"\e6da"}.fw-google-plus:before{content:"\e6d9"}.fw-google-sheets:before{content:"\e6d7"}.fw-google-slides:before{content:"\e6d8"}.fw-google:before{content:"\e6d5"}.fw-grid:before{content:"\e638"}.fw-grip:before{content:"\e6b7"}.fw-group:before{content:"\e6af"}.fw-hardware:before{content:"\e6a9"}.fw-hdd:before{content:"\e639"}.fw-heart:before{content:"\e6c3"}.fw-hide:before{content:"\e6d2"}.fw-home:before{content:"\e63a"}.fw-hour-glass:before{content:"\e63b"}.fw-html:before{content:"\e69d"}.fw-http:before{content:"\e705"}.fw-image:before{content:"\e70a"}.fw-import:before{content:"\e63c"}.fw-incoming-call:before{content:"\e63d"}.fw-info:before{content:"\e63e"}.fw-instagram:before{content:"\e6db"}.fw-invitation:before{content:"\e63f"}.fw-invoke:before{content:"\e6ed"}.fw-is-connector:before{content:"\e6e5"}.fw-iterate:before{content:"\e71f"}.fw-jaggery:before{content:"\e640"}.fw-java-spring:before{content:"\e644"}.fw-java:before{content:"\e641"}.fw-javaee:before{content:"\e642"}.fw-javascript:before{content:"\e643"}.fw-jaxrs:before{content:"\e645"}.fw-jaxws:before{content:"\e6c7"}.fw-jquery:before{content:"\e646"}.fw-key:before{content:"\e647"}.fw-laptop:before{content:"\e648"}.fw-layout:before{content:"\e6bf"}.fw-ldap:before{content:"\e649"}.fw-left-arrow:before{content:"\e68a"}.fw-left:before{content:"\e686"}.fw-lifecycle:before{content:"\e64a"}.fw-light:before{content:"\e680"}.fw-linkedin:before{content:"\e6dc"}.fw-list-sort:before{content:"\e64d"}.fw-list:before{content:"\e64c"}.fw-loader:before{content:"\e6b4"}.fw-loader2:before{content:"\e6ba"}.fw-loader3:before{content:"\e6bb"}.fw-loader4:before{content:"\e6bc"}.fw-loader5:before{content:"\e6bd"}.fw-lock:before{content:"\e64e"}.fw-logical:before{content:"\e702"}.fw-mail:before{content:"\e64f"}.fw-main-function:before{content:"\e706"}.fw-map-location:before{content:"\e650"}.fw-menu:before{content:"\e651"}.fw-message:before{content:"\e635"}.fw-micro-services:before{content:"\e6ce"}.fw-dash:before,.fw-hyphen:before,.fw-minus:before{content:"\e616"}.fw-mobile:before{content:"\e652"}.fw-ms-document:before{content:"\e654"}.fw-mute:before{content:"\e655"}.fw-nodejs:before{content:"\e656"}.fw-notification:before{content:"\e60b"}.fw-organization:before{content:"\e6ac"}.fw-own:before{content:"\e6c8"}.fw-package:before{content:"\e6fd"}.fw-pages:before{content:"\e6c0"}.fw-paste:before{content:"\e658"}.fw-pdf:before{content:"\e659"}.fw-pending:before{content:"\e727"}.fw-php:before{content:"\e6c9"}.fw-pie-chart:before{content:"\e65a"}.fw-pinterest:before{content:"\e6dd"}.fw-policy:before{content:"\e67d"}.fw-polygon:before{content:"\e70d"}.fw-prototype:before{content:"\e6cc"}.fw-proxy:before{content:"\e699"}.fw-public:before{content:"\e6ad"}.fw-publish:before{content:"\e65c"}.fw-question:before{content:"\e6b0"}.fw-raspberry:before{content:"\e6aa"}.fw-redo:before{content:"\e65d"}.fw-refresh:before{content:"\e692"}.fw-register:before{content:"\e65e"}.fw-rename:before{content:"\e6fc"}.fw-reply:before{content:"\e714"}.fw-resource:before{content:"\e660"}.fw-rest-api:before{content:"\e661"}.fw-rest-service:before{content:"\e662"}.fw-resume:before{content:"\e71e"}.fw-retire:before{content:"\e6cd"}.fw-return:before{content:"\e715"}.fw-retweet:before{content:"\e6b9"}.fw-right-arrow:before{content:"\e68b"}.fw-right:before{content:"\e687"}.fw-ringing:before{content:"\e694"}.fw-rules:before{content:"\e664"}.fw-run:before{content:"\e708"}.fw-save:before{content:"\e665"}.fw-scep:before{content:"\e666"}.fw-schema:before{content:"\e667"}.fw-search:before{content:"\e668"}.fw-security-policy:before{content:"\e67e"}.fw-security:before{content:"\e669"}.fw-paper-rocket:before,.fw-send:before{content:"\e66a"}.fw-sequence:before{content:"\e66b"}.fw-server:before{content:"\e66c"}.fw-service-provider:before{content:"\e66e"}.fw-cogwheels:before,.fw-gears:before,.fw-service:before,.fw-sprockets:before{content:"\e66d"}.fw-cogwheel:before,.fw-gear:before,.fw-settings:before,.fw-sprocket:before{content:"\e66f"}.fw-share:before{content:"\e670"}.fw-shell:before{content:"\e730"}.fw-shortcut:before{content:"\e725"}.fw-sign-in:before{content:"\e671"}.fw-sign-out:before{content:"\e6b8"}.fw-skype:before{content:"\e6de"}.fw-slash:before{content:"\e6e1"}.fw-soap:before{content:"\e672"}.fw-sort-down:before{content:"\e663"}.fw-sort-up:before{content:"\e64b"}.fw-sort:before{content:"\e673"}.fw-speed-alert:before{content:"\e731"}.fw-square-outline:before{content:"\e6b2"}.fw-square:before{content:"\e6b1"}.fw-star:before{content:"\e674"}.fw-start:before{content:"\e718"}.fw-statistics:before{content:"\e675"}.fw-stepin:before{content:"\e719"}.fw-stepout:before{content:"\e71a"}.fw-stepover:before{content:"\e71b"}.fw-stop:before{content:"\e71c"}.fw-cart:before,.fw-store:before{content:"\e676"}.fw-struct:before{content:"\e716"}.fw-subscribe:before{content:"\e677"}.fw-success:before{content:"\e657"}.fw-swagger:before{content:"\e679"}.fw-sync:before{content:"\e6b3"}.fw-table:before{content:"\e6c4"}.fw-tag:before{content:"\e67a"}.fw-task:before{content:"\e67b"}.fw-text:before{content:"\e67c"}.fw-theme:before{content:"\e726"}.fw-throttling-policy:before{content:"\e67f"}.fw-throw:before{content:"\e722"}.fw-tiles:before{content:"\e681"}.fw-transaction:before{content:"\e72b"}.fw-try-catch:before{content:"\e703"}.fw-twitter:before{content:"\e6df"}.fw-type-converter:before{content:"\e6f3"}.fw-uncheck:before{content:"\e682"}.fw-undo:before{content:"\e683"}.fw-ungroup:before{content:"\e6b5"}.fw-unmute:before{content:"\e6ae"}.fw-up-arrow:before{content:"\e688"}.fw-up:before{content:"\e684"}.fw-upload:before{content:"\e68c"}.fw-uri:before{content:"\e68d"}.fw-usb-drive:before{content:"\e68e"}.fw-use:before{content:"\e6ca"}.fw-user:before{content:"\e68f"}.fw-variable:before{content:"\e6ee"}.fw-view:before{content:"\e691"}.fw-vpn:before{content:"\e603"}.fw-wadl:before{content:"\e6a1"}.fw-war:before{content:"\e69e"}.fw-warning:before{content:"\e693"}.fw-web-app:before{content:"\e696"}.fw-web-clip:before{content:"\e698"}.fw-web-service:before{content:"\e69a"}.fw-website:before{content:"\e69b"}.fw-wifi:before{content:"\e607"}.fw-windows:before{content:"\e605"}.fw-worker-invoke:before{content:"\e723"}.fw-worker-reply:before{content:"\e724"}.fw-worker:before{content:"\e6ef"}.fw-wsdl:before{content:"\e6a0"}.fw-wso2-logo:before{content:"\e6a7"}.fw-wso2:before{content:"\e6a8"}.fw-xacml:before{content:"\e69f"}.fw-xml:before{content:"\e69c"}.fw-xq:before{content:"\e6a2"}.fw-xsd:before{content:"\e6a3"}.fw-xslt:before{content:"\e6a4"}.fw-youtube:before{content:"\e6e0"}.fw-zoom-in:before{content:"\e6a5"}.fw-zoom-out:before{content:"\e6a6"} diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/scss/_mixin.scss b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/scss/_mixin.scss index 512e3170cc..e1cc046bc5 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/scss/_mixin.scss +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/scss/_mixin.scss @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 @@ -34,1221 +34,1221 @@ @mixin font-wso2($icon) { @extend %icon-base; - + @if ($icon == "abort") { content:"\e72a"; } - + @else if ($icon == "action-invoke") { content:"\e6fe"; } - + @else if ($icon == "action") { content:"\e709"; } - + @else if ($icon == "activate") { content:"\e6cf"; } - + @else if ($icon == "add") { content:"\e615"; } - + @else if ($icon == "airplay") { content:"\e600"; } - + @else if ($icon == "alarm") { content:"\e6c2"; } - + @else if ($icon == "alert") { content:"\e6be"; } - + @else if ($icon == "analytics-extensions") { content:"\e6e2"; } - + @else if ($icon == "android-logcat") { content:"\e72c"; } - + @else if ($icon == "android-sense") { content:"\e72d"; } - + @else if ($icon == "android") { content:"\e606"; } - + @else if ($icon == "annotation") { content:"\e6e6"; } - + @else if ($icon == "api") { content:"\e601"; } - + @else if ($icon == "apn") { content:"\e602"; } - + @else if ($icon == "apple") { content:"\e604"; } - + @else if ($icon == "application") { content:"\e608"; } - + @else if ($icon == "arduino") { content:"\e6ab"; } - + @else if ($icon == "assign") { content:"\e6ff"; } - + @else if ($icon == "ballerina-service") { content:"\e729"; } - + @else if ($icon == "ballerina") { content:"\e728"; } - + @else if ($icon == "bar-chart") { content:"\e690"; } - + @else if ($icon == "battery") { content:"\e60a"; } - + @else if ($icon == "blank-document") { content:"\e60c"; } - + @else if ($icon == "block") { content:"\e695"; } - + @else if ($icon == "bookmark") { content:"\e60d"; } - + @else if ($icon == "bpel") { content:"\e60e"; } - + @else if ($icon == "bpmn") { content:"\e60f"; } - + @else if ($icon == "break") { content:"\e721"; } - + @else if ($icon == "bug") { content:"\e611"; } - + @else if ($icon == "build") { content:"\e6c1"; } - + @else if ($icon == "calendar") { content:"\e612"; } - + @else if ($icon == "camera") { content:"\e613"; } - + @else if ($icon == "cancel") { content:"\e618"; } - + @else if ($icon == "carbon") { content:"\e6c5"; } - + @else if ($icon == "chat") { content:"\e65b"; } - + @else if ($icon == "check") { content:"\e617"; } - + @else if ($icon == "checklist") { content:"\e619"; } - + @else if ($icon == "circle-outline") { content:"\e61f"; } - + @else if ($icon == "circle") { content:"\e61a"; } - + @else if ($icon == "clear") { content:"\e61b"; } - + @else if ($icon == "clock") { content:"\e61d"; } - + @else if ($icon == "cloud") { content:"\e61e"; } - + @else if ($icon == "code-view") { content:"\e70e"; } - + @else if ($icon == "code") { content:"\e6f1"; } - + @else if ($icon == "comment") { content:"\e710"; } - + @else if ($icon == "compare") { content:"\e610"; } - + @else if ($icon == "computer") { content:"\e653"; } - + @else if ($icon == "configarations") { content:"\e609"; } - + @else if ($icon == "connector") { content:"\e700"; } - + @else if ($icon == "console") { content:"\e71d"; } - + @else if ($icon == "constant") { content:"\e701"; } - + @else if ($icon == "contact") { content:"\e620"; } - + @else if ($icon == "contract") { content:"\e614"; } - + @else if ($icon == "copy") { content:"\e621"; } - + @else if ($icon == "cut") { content:"\e6f2"; } - + @else if ($icon == "dashboard") { content:"\e622"; } - + @else if ($icon == "database") { content:"\e623"; } - + @else if ($icon == "delete") { content:"\e624"; } - + @else if ($icon == "depend") { content:"\e6c6"; } - + @else if ($icon == "deploy") { content:"\e625"; } - + @else if ($icon == "deprecate") { content:"\e6cb"; } - + @else if ($icon == "design-view") { content:"\e70f"; } - + @else if ($icon == "devices") { content:"\e704"; } - + @else if ($icon == "dgm-action-invoke") { content:"\e712"; } - + @else if ($icon == "dgm-action") { content:"\e711"; } - + @else if ($icon == "dgm-connector") { content:"\e6f4"; } - + @else if ($icon == "dgm-constant-definition") { content:"\e6f5"; } - + @else if ($icon == "dgm-fork") { content:"\e6e7"; } - + @else if ($icon == "dgm-header") { content:"\e6e8"; } - + @else if ($icon == "dgm-if-else") { content:"\e6e9"; } - + @else if ($icon == "dgm-import") { content:"\e717"; } - + @else if ($icon == "dgm-lifeline") { content:"\e6ea"; } - + @else if ($icon == "dgm-logger") { content:"\e6eb"; } - + @else if ($icon == "dgm-resource") { content:"\e6f6"; } - + @else if ($icon == "dgm-service") { content:"\e6f7"; } - + @else if ($icon == "dgm-try-catch") { content:"\e6ec"; } - + @else if ($icon == "dgm-type-convertor") { content:"\e6f8"; } - + @else if ($icon == "dgm-type") { content:"\e6f9"; } - + @else if ($icon == "dgm-while") { content:"\e707"; } - + @else if ($icon == "dial-up") { content:"\e627"; } - + @else if ($icon == "disabled") { content:"\e6d1"; } - + @else if ($icon == "display") { content:"\e626"; } - + @else if ($icon == "docker") { content:"\e70c"; } - + @else if ($icon == "document") { content:"\e628"; } - + @else if ($icon == "down-arrow") { content:"\e689"; } - + @else if ($icon == "down") { content:"\e685"; } - + @else if ($icon == "download") { content:"\e65f"; } - + @else if ($icon == "dss") { content:"\e62a"; } - + @else if ($icon == "ebook") { content:"\e62b"; } - + @else if ($icon == "edit") { content:"\e62c"; } - + @else if ($icon == "ellipsis") { content:"\e629"; } - + @else if ($icon == "endpoint") { content:"\e62d"; } - + @else if ($icon == "enterprise") { content:"\e6b6"; } - + @else if ($icon == "error") { content:"\e630"; } - + @else if ($icon == "esb-connector") { content:"\e6e3"; } - + @else if ($icon == "expand") { content:"\e61c"; } - + @else if ($icon == "export") { content:"\e631"; } - + @else if ($icon == "extensions") { content:"\e6e4"; } - + @else if ($icon == "facebook") { content:"\e6d3"; } - + @else if ($icon == "factory-reset") { content:"\e632"; } - + @else if ($icon == "fan") { content:"\e678"; } - + @else if ($icon == "faq") { content:"\e62f"; } - + @else if ($icon == "file-browse") { content:"\e633"; } - + @else if ($icon == "filter") { content:"\e634"; } - + @else if ($icon == "folder-open") { content:"\e70b"; } - + @else if ($icon == "folder") { content:"\e62e"; } - + @else if ($icon == "fork-join") { content:"\e720"; } - + @else if ($icon == "format") { content:"\e6fa"; } - + @else if ($icon == "forum") { content:"\e636"; } - + @else if ($icon == "function-invoke") { content:"\e713"; } - + @else if ($icon == "function") { content:"\e6fb"; } - + @else if ($icon == "gadget") { content:"\e637"; } - + @else if ($icon == "geo-fence-inbound") { content:"\e72e"; } - + @else if ($icon == "geo-fence-outbound") { content:"\e72f"; } - + @else if ($icon == "github") { content:"\e6d4"; } - + @else if ($icon == "globe") { content:"\e697"; } - + @else if ($icon == "google-docs") { content:"\e6d6"; } - + @else if ($icon == "google-drive") { content:"\e6da"; } - + @else if ($icon == "google-plus") { content:"\e6d9"; } - + @else if ($icon == "google-sheets") { content:"\e6d7"; } - + @else if ($icon == "google-slides") { content:"\e6d8"; } - + @else if ($icon == "google") { content:"\e6d5"; } - + @else if ($icon == "grid") { content:"\e638"; } - + @else if ($icon == "grip") { content:"\e6b7"; } - + @else if ($icon == "group") { content:"\e6af"; } - + @else if ($icon == "hardware") { content:"\e6a9"; } - + @else if ($icon == "hdd") { content:"\e639"; } - + @else if ($icon == "heart") { content:"\e6c3"; } - + @else if ($icon == "hide") { content:"\e6d2"; } - + @else if ($icon == "home") { content:"\e63a"; } - + @else if ($icon == "hour-glass") { content:"\e63b"; } - + @else if ($icon == "html") { content:"\e69d"; } - + @else if ($icon == "http") { content:"\e705"; } - + @else if ($icon == "image") { content:"\e70a"; } - + @else if ($icon == "import") { content:"\e63c"; } - + @else if ($icon == "incoming-call") { content:"\e63d"; } - + @else if ($icon == "info") { content:"\e63e"; } - + @else if ($icon == "instagram") { content:"\e6db"; } - + @else if ($icon == "invitation") { content:"\e63f"; } - + @else if ($icon == "invoke") { content:"\e6ed"; } - + @else if ($icon == "is-connector") { content:"\e6e5"; } - + @else if ($icon == "iterate") { content:"\e71f"; } - + @else if ($icon == "jaggery") { content:"\e640"; } - + @else if ($icon == "java-spring") { content:"\e644"; } - + @else if ($icon == "java") { content:"\e641"; } - + @else if ($icon == "javaee") { content:"\e642"; } - + @else if ($icon == "javascript") { content:"\e643"; } - + @else if ($icon == "jaxrs") { content:"\e645"; } - + @else if ($icon == "jaxws") { content:"\e6c7"; } - + @else if ($icon == "jquery") { content:"\e646"; } - + @else if ($icon == "key") { content:"\e647"; } - + @else if ($icon == "laptop") { content:"\e648"; } - + @else if ($icon == "layout") { content:"\e6bf"; } - + @else if ($icon == "ldap") { content:"\e649"; } - + @else if ($icon == "left-arrow") { content:"\e68a"; } - + @else if ($icon == "left") { content:"\e686"; } - + @else if ($icon == "lifecycle") { content:"\e64a"; } - + @else if ($icon == "light") { content:"\e680"; } - + @else if ($icon == "linkedin") { content:"\e6dc"; } - + @else if ($icon == "list-sort") { content:"\e64d"; } - + @else if ($icon == "list") { content:"\e64c"; } - + @else if ($icon == "loader") { content:"\e6b4"; } - + @else if ($icon == "loader2") { content:"\e6ba"; } - + @else if ($icon == "loader3") { content:"\e6bb"; } - + @else if ($icon == "loader4") { content:"\e6bc"; } - + @else if ($icon == "loader5") { content:"\e6bd"; } - + @else if ($icon == "lock") { content:"\e64e"; } - + @else if ($icon == "logical") { content:"\e702"; } - + @else if ($icon == "mail") { content:"\e64f"; } - + @else if ($icon == "main-function") { content:"\e706"; } - + @else if ($icon == "map-location") { content:"\e650"; } - + @else if ($icon == "menu") { content:"\e651"; } - + @else if ($icon == "message") { content:"\e635"; } - + @else if ($icon == "micro-services") { content:"\e6ce"; } - + @else if ($icon == "minus") { content:"\e616"; } - + @else if ($icon == "mobile") { content:"\e652"; } - + @else if ($icon == "ms-document") { content:"\e654"; } - + @else if ($icon == "mute") { content:"\e655"; } - + @else if ($icon == "nodejs") { content:"\e656"; } - + @else if ($icon == "notification") { content:"\e60b"; } - + @else if ($icon == "organization") { content:"\e6ac"; } - + @else if ($icon == "own") { content:"\e6c8"; } - + @else if ($icon == "package") { content:"\e6fd"; } - + @else if ($icon == "pages") { content:"\e6c0"; } - + @else if ($icon == "paste") { content:"\e658"; } - + @else if ($icon == "pdf") { content:"\e659"; } - + @else if ($icon == "pending") { content:"\e727"; } - + @else if ($icon == "php") { content:"\e6c9"; } - + @else if ($icon == "pie-chart") { content:"\e65a"; } - + @else if ($icon == "pinterest") { content:"\e6dd"; } - + @else if ($icon == "policy") { content:"\e67d"; } - + @else if ($icon == "polygon") { content:"\e70d"; } - + @else if ($icon == "prototype") { content:"\e6cc"; } - + @else if ($icon == "proxy") { content:"\e699"; } - + @else if ($icon == "public") { content:"\e6ad"; } - + @else if ($icon == "publish") { content:"\e65c"; } - + @else if ($icon == "question") { content:"\e6b0"; } - + @else if ($icon == "raspberry") { content:"\e6aa"; } - + @else if ($icon == "redo") { content:"\e65d"; } - + @else if ($icon == "refresh") { content:"\e692"; } - + @else if ($icon == "register") { content:"\e65e"; } - + @else if ($icon == "rename") { content:"\e6fc"; } - + @else if ($icon == "reply") { content:"\e714"; } - + @else if ($icon == "resource") { content:"\e660"; } - + @else if ($icon == "rest-api") { content:"\e661"; } - + @else if ($icon == "rest-service") { content:"\e662"; } - + @else if ($icon == "resume") { content:"\e71e"; } - + @else if ($icon == "retire") { content:"\e6cd"; } - + @else if ($icon == "return") { content:"\e715"; } - + @else if ($icon == "retweet") { content:"\e6b9"; } - + @else if ($icon == "right-arrow") { content:"\e68b"; } - + @else if ($icon == "right") { content:"\e687"; } - + @else if ($icon == "ringing") { content:"\e694"; } - + @else if ($icon == "rules") { content:"\e664"; } - + @else if ($icon == "run") { content:"\e708"; } - + @else if ($icon == "save") { content:"\e665"; } - + @else if ($icon == "scep") { content:"\e666"; } - + @else if ($icon == "schema") { content:"\e667"; } - + @else if ($icon == "search") { content:"\e668"; } - + @else if ($icon == "security-policy") { content:"\e67e"; } - + @else if ($icon == "security") { content:"\e669"; } - + @else if ($icon == "send") { content:"\e66a"; } - + @else if ($icon == "sequence") { content:"\e66b"; } - + @else if ($icon == "server") { content:"\e66c"; } - + @else if ($icon == "service-provider") { content:"\e66e"; } - + @else if ($icon == "service") { content:"\e66d"; } - + @else if ($icon == "settings") { content:"\e66f"; } - + @else if ($icon == "share") { content:"\e670"; } - + @else if ($icon == "shell") { content:"\e730"; } - + @else if ($icon == "shortcut") { content:"\e725"; } - + @else if ($icon == "sign-in") { content:"\e671"; } - + @else if ($icon == "sign-out") { content:"\e6b8"; } - + @else if ($icon == "skype") { content:"\e6de"; } - + @else if ($icon == "slash") { content:"\e6e1"; } - + @else if ($icon == "soap") { content:"\e672"; } - + @else if ($icon == "sort-down") { content:"\e663"; } - + @else if ($icon == "sort-up") { content:"\e64b"; } - + @else if ($icon == "sort") { content:"\e673"; } - + @else if ($icon == "speed-alert") { content:"\e731"; } - + @else if ($icon == "square-outline") { content:"\e6b2"; } - + @else if ($icon == "square") { content:"\e6b1"; } - + @else if ($icon == "star") { content:"\e674"; } - + @else if ($icon == "start") { content:"\e718"; } - + @else if ($icon == "statistics") { content:"\e675"; } - + @else if ($icon == "stepin") { content:"\e719"; } - + @else if ($icon == "stepout") { content:"\e71a"; } - + @else if ($icon == "stepover") { content:"\e71b"; } - + @else if ($icon == "stop") { content:"\e71c"; } - + @else if ($icon == "store") { content:"\e676"; } - + @else if ($icon == "struct") { content:"\e716"; } - + @else if ($icon == "subscribe") { content:"\e677"; } - + @else if ($icon == "success") { content:"\e657"; } - + @else if ($icon == "swagger") { content:"\e679"; } - + @else if ($icon == "sync") { content:"\e6b3"; } - + @else if ($icon == "table") { content:"\e6c4"; } - + @else if ($icon == "tag") { content:"\e67a"; } - + @else if ($icon == "task") { content:"\e67b"; } - + @else if ($icon == "text") { content:"\e67c"; } - + @else if ($icon == "theme") { content:"\e726"; } - + @else if ($icon == "throttling-policy") { content:"\e67f"; } - + @else if ($icon == "throw") { content:"\e722"; } - + @else if ($icon == "tiles") { content:"\e681"; } - + @else if ($icon == "transaction") { content:"\e72b"; } - + @else if ($icon == "try-catch") { content:"\e703"; } - + @else if ($icon == "twitter") { content:"\e6df"; } - + @else if ($icon == "type-converter") { content:"\e6f3"; } - + @else if ($icon == "uncheck") { content:"\e682"; } - + @else if ($icon == "undo") { content:"\e683"; } - + @else if ($icon == "ungroup") { content:"\e6b5"; } - + @else if ($icon == "unmute") { content:"\e6ae"; } - + @else if ($icon == "up-arrow") { content:"\e688"; } - + @else if ($icon == "up") { content:"\e684"; } - + @else if ($icon == "upload") { content:"\e68c"; } - + @else if ($icon == "uri") { content:"\e68d"; } - + @else if ($icon == "usb-drive") { content:"\e68e"; } - + @else if ($icon == "use") { content:"\e6ca"; } - + @else if ($icon == "user") { content:"\e68f"; } - + @else if ($icon == "variable") { content:"\e6ee"; } - + @else if ($icon == "view") { content:"\e691"; } - + @else if ($icon == "vpn") { content:"\e603"; } - + @else if ($icon == "wadl") { content:"\e6a1"; } - + @else if ($icon == "war") { content:"\e69e"; } - + @else if ($icon == "warning") { content:"\e693"; } - + @else if ($icon == "web-app") { content:"\e696"; } - + @else if ($icon == "web-clip") { content:"\e698"; } - + @else if ($icon == "web-service") { content:"\e69a"; } - + @else if ($icon == "website") { content:"\e69b"; } - + @else if ($icon == "wifi") { content:"\e607"; } - + @else if ($icon == "windows") { content:"\e605"; } - + @else if ($icon == "worker-invoke") { content:"\e723"; } - + @else if ($icon == "worker-reply") { content:"\e724"; } - + @else if ($icon == "worker") { content:"\e6ef"; } - + @else if ($icon == "wsdl") { content:"\e6a0"; } - + @else if ($icon == "wso2-logo") { content:"\e6a7"; } - + @else if ($icon == "wso2") { content:"\e6a8"; } - + @else if ($icon == "xacml") { content:"\e69f"; } - + @else if ($icon == "xml") { content:"\e69c"; } - + @else if ($icon == "xq") { content:"\e6a2"; } - + @else if ($icon == "xsd") { content:"\e6a3"; } - + @else if ($icon == "xslt") { content:"\e6a4"; } - + @else if ($icon == "youtube") { content:"\e6e0"; } - + @else if ($icon == "zoom-in") { content:"\e6a5"; } - + @else if ($icon == "zoom-out") { content:"\e6a6"; } - -} \ No newline at end of file + +} diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/themes/default/default-theme.css b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/themes/default/default-theme.css index d18920cda1..941606c0c8 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/themes/default/default-theme.css +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/public/themes/default/default-theme.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.css b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.css index e6eac92e37..3bb708d982 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.css +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.js index 91594d9035..50c9ae7e7f 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.js +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 @@ -22,7 +22,7 @@ import RouteWithSubRoutes from './components/RouteWithSubRoutes'; import { BrowserRouter as Router, Redirect, Switch } from 'react-router-dom'; import axios from 'axios'; import { Layout, Spin, Result, notification } from 'antd'; -import ConfigContext from './context/ConfigContext'; +import ConfigContext from './components/ConfigContext'; const { Content } = Layout; const loadingView = ( diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.test.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.test.js index 0b509e08c1..cda5c5ee25 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.test.js +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/App.test.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/context/ConfigContext.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/ConfigContext/index.js similarity index 93% rename from components/device-mgt/io.entgra.device.mgt.ui/react-app/src/context/ConfigContext.js rename to components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/ConfigContext/index.js index e79fea42fd..f7c4f685fd 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/context/ConfigContext.js +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/ConfigContext/index.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Devices/ReportDevicesTable.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Devices/ReportDevicesTable.js deleted file mode 100644 index 98535a4adb..0000000000 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Devices/ReportDevicesTable.js +++ /dev/null @@ -1,267 +0,0 @@ -/* - * Copyright (c) 2019, 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 axios from 'axios'; -import { Icon, message, notification, Table, Tag, Tooltip } from 'antd'; -import TimeAgo from 'javascript-time-ago'; -// Load locale-specific relative date/time formatting rules. -import en from 'javascript-time-ago/locale/en'; -import { withConfigContext } from '../../context/ConfigContext'; - -let config = null; -let apiUrl; - -const columns = [ - { - title: 'Device', - dataIndex: 'name', - width: 100, - }, - { - title: 'Type', - dataIndex: 'type', - key: 'type', - // eslint-disable-next-line react/display-name - render: type => { - const defaultPlatformIcons = config.defaultPlatformIcons; - let icon = defaultPlatformIcons.default.icon; - let color = defaultPlatformIcons.default.color; - let theme = defaultPlatformIcons.default.theme; - - if (defaultPlatformIcons.hasOwnProperty(type)) { - icon = defaultPlatformIcons[type].icon; - color = defaultPlatformIcons[type].color; - theme = defaultPlatformIcons[type].theme; - } - - return ( - - - - ); - }, - // todo add filtering options - }, - { - title: 'Owner', - dataIndex: 'enrolmentInfo', - key: 'owner', - render: enrolmentInfo => enrolmentInfo.owner, - // todo add filtering options - }, - { - title: 'Ownership', - dataIndex: 'enrolmentInfo', - key: 'ownership', - render: enrolmentInfo => enrolmentInfo.ownership, - // todo add filtering options - }, - { - title: 'Status', - dataIndex: 'enrolmentInfo', - key: 'status', - // eslint-disable-next-line react/display-name - render: enrolmentInfo => { - const status = enrolmentInfo.status.toLowerCase(); - let color = '#f9ca24'; - switch (status) { - case 'active': - color = '#badc58'; - break; - case 'created': - color = '#6ab04c'; - break; - case 'removed': - color = '#ff7979'; - break; - case 'inactive': - color = '#f9ca24'; - break; - case 'blocked': - color = '#636e72'; - break; - } - return {status}; - }, - // todo add filtering options - }, - { - title: 'Last Updated', - dataIndex: 'enrolmentInfo', - key: 'dateOfLastUpdate', - // eslint-disable-next-line react/display-name - render: data => { - const { dateOfLastUpdate } = data; - const timeAgoString = getTimeAgo(dateOfLastUpdate); - return ( - - {timeAgoString} - - ); - }, - // todo add filtering options - }, -]; - -const getTimeAgo = time => { - const timeAgo = new TimeAgo('en-US'); - return timeAgo.format(time); -}; - -class ReportDeviceTable extends React.Component { - constructor(props) { - super(props); - config = this.props.context; - TimeAgo.addLocale(en); - this.state = { - data: [], - pagination: {}, - loading: false, - selectedRows: [], - paramsObj: {}, - }; - } - - rowSelection = { - onChange: (selectedRowKeys, selectedRows) => { - this.setState({ - selectedRows: selectedRows, - }); - }, - }; - - componentDidMount() { - this.fetch(); - } - - // Rerender component when parameters change - componentDidUpdate(prevProps, prevState, snapshot) { - if (prevProps.paramsObject !== this.props.paramsObject) { - this.fetch(); - } - } - - // fetch data from api - fetch = (params = {}) => { - const config = this.props.context; - this.setState({ loading: true }); - // get current page - const currentPage = params.hasOwnProperty('page') ? params.page : 1; - - this.props.paramsObject.offset = 10 * (currentPage - 1); // calculate the offset - this.props.paramsObject.limit = 10; - - const encodedExtraParams = Object.keys(this.props.paramsObject) - .map(key => key + '=' + this.props.paramsObject[key]) - .join('&'); - - if ( - this.props.paramsObject.from == null && - this.props.paramsObject.to == null - ) { - apiUrl = - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/devices?' + - encodedExtraParams; - } else { - apiUrl = - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/reports/devices?' + - encodedExtraParams; - } - - // send request to the invokerss - axios - .get(apiUrl) - .then(res => { - if (res.status === 200) { - const pagination = { ...this.state.pagination }; - this.setState({ - loading: false, - data: res.data.data.devices, - pagination, - }); - } - }) - .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 devices.', - }); - } - - this.setState({ loading: false }); - }); - }; - - handleTableChange = (pagination, filters, sorter) => { - const pager = { ...this.state.pagination }; - pager.current = pagination.current; - this.setState({ - pagination: pager, - }); - this.fetch({ - results: pagination.pageSize, - page: pagination.current, - sortField: sorter.field, - sortOrder: sorter.order, - ...filters, - }); - }; - - render() { - const { data, pagination, loading } = this.state; - return ( -
- - record.deviceIdentifier + - record.enrolmentInfo.owner + - record.enrolmentInfo.ownership - } - dataSource={data} - pagination={{ - ...pagination, - size: 'small', - // position: "top", - showTotal: (total, range) => - `showing ${range[0]}-${range[1]} of ${total} devices`, - // showQuickJumper: true - }} - loading={loading} - onChange={this.handleTableChange} - rowSelection={this.rowSelection} - /> - - ); - } -} - -export default withConfigContext(ReportDeviceTable); diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Filter.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Filter.js deleted file mode 100644 index 71cb39b90e..0000000000 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Filter.js +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2019, 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 { Select } from 'antd'; - -class Filter extends React.Component { - constructor(props) { - super(props); - this.state = { - selectedItem: null, - }; - } - - // Send updated filter value to Reports.js - onChange = value => { - this.setState({ selectedItem: value }, () => { - if (this.props.dropDownName == 'Device Status') { - this.props.updateFiltersValue(this.state.selectedItem, 'Device Status'); - } else { - this.props.updateFiltersValue( - this.state.selectedItem, - 'Device Ownership', - ); - } - }); - }; - - render() { - // Dynamically generate dropdown items from dropDownItems array - let item = this.props.dropDownItems.map(data => ( - - {data} - - )); - return ( - - ); - } -} - -export default Filter; diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/CountWidget.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/CountWidget.js deleted file mode 100644 index 36f5597a77..0000000000 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/CountWidget.js +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; - -import { Card, Col } from 'antd'; - -class CountWidget extends React.Component { - constructor(props) { - super(props); - this.routes = props.routes; - this.state = { - statArray: [], - }; - } - - componentDidMount() { - this.setState({ statArray: this.props.statArray }); - console.log('$$$$'); - console.log(this.props.statArray); - } - - render() { - const { statArray } = this.state; - - let card = statArray.map(data => ( - - -
-

- {data.item} -

-

{data.count}

-
-
- - )); - - return
{card}
; - } -} - -export default CountWidget; diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/PieChart.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/PieChart.js deleted file mode 100644 index 25c6fead00..0000000000 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Reports/Widgets/PieChart.js +++ /dev/null @@ -1,323 +0,0 @@ -import React from 'react'; -import { - Chart, - Geom, - Axis, - Tooltip, - Coord, - Label, - Legend, - Guide, -} from 'bizcharts'; -import DataSet from '@antv/data-set'; -import axios from 'axios'; -import { message, notification } from 'antd'; -import { withConfigContext } from '../../../context/ConfigContext'; - -let config = null; - -class PieChart extends React.Component { - constructor(props) { - super(props); - config = this.props.context; - this.state = { - loading: true, - statArray: [], - }; - } - - componentDidMount() { - const { reportData } = this.props; - let params = { - status: reportData.params[0], - from: reportData.duration[0], - to: reportData.duration[1], - }; - - const urlSet = { - paramsList: reportData.params, - duration: reportData.duration, - }; - - if (reportData.params[0] === 'Enrollments') { - this.getEnrollmentsVsUnenrollmentsCount(params, urlSet); - } else if (reportData.params[0] === 'BYOD') { - this.getEnrollmentTypeCount(params, urlSet); - } else { - this.getCount(params, urlSet); - } - } - - onChartChange = data => { - this.props.onClickPieChart(data); - }; - - statArray = []; - - // Call count APIs and get count for given parameters, then create data object to build pie chart - getCount = (params, urlSet) => { - this.setState({ loading: true }); - - let { statArray } = this.state; - - const urlArray = []; - - urlSet.paramsList.map(data => { - const paramsObj = { - status: data, - from: urlSet.duration[0], - to: urlSet.duration[1], - }; - const encodedExtraParams = Object.keys(paramsObj) - .map(key => key + '=' + paramsObj[key]) - .join('&'); - const apiUrl = - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/reports/devices/count?' + - encodedExtraParams; - - urlArray.push(axios.get(apiUrl, data)); - }); - - axios - .all(urlArray) - .then(res => { - res.map(response => { - if (response.status === 200) { - let countData = { - item: response.config[0], - // eslint-disable-next-line radix - count: parseInt(response.data.data), - }; - statArray.push(countData); - } - }); - this.setState({ statArray }); - }) - .catch(error => { - if (error.hasOwnProperty('response') && error.response.status === 401) { - // todo display a popup 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 get device count.', - }); - } - }); - }; - - // Call count APIs and get count for given parameters, then create data object to build pie chart - getEnrollmentsVsUnenrollmentsCount = (params, urlSet) => { - this.setState({ loading: true }); - - let { statArray } = this.state; - - const urlArray = []; - - urlSet.paramsList.map(data => { - const paramsObj = { - from: urlSet.duration[0], - to: urlSet.duration[1], - }; - const encodedExtraParams = Object.keys(paramsObj) - .map(key => key + '=' + paramsObj[key]) - .join('&'); - - let apiUrl; - if (data === 'Enrollments') { - apiUrl = - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/reports/devices/count?status=ACTIVE&status=INACTIVE&' + - encodedExtraParams; - } else { - apiUrl = - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/reports/devices/count?status=REMOVED&' + - encodedExtraParams; - } - - urlArray.push(axios.get(apiUrl, data)); - }); - - axios - .all(urlArray) - .then(res => { - res.map(response => { - if (response.status === 200) { - let countData = { - item: response.config[0], - // eslint-disable-next-line radix - count: parseInt(response.data.data), - }; - statArray.push(countData); - } - }); - this.setState({ statArray }); - }) - .catch(error => { - if (error.hasOwnProperty('response') && error.response.status === 401) { - // todo display a popup 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 get device count.', - }); - } - }); - }; - - // Call count APIs and get count for given parameters, then create data object to build pie chart - getEnrollmentTypeCount = (params, urlSet) => { - this.setState({ loading: true }); - - let { statArray } = this.state; - - const urlArray = []; - - urlSet.paramsList.map(data => { - const paramsObj = { - ownership: data, - from: urlSet.duration[0], - to: urlSet.duration[1], - }; - const encodedExtraParams = Object.keys(paramsObj) - .map(key => key + '=' + paramsObj[key]) - .join('&'); - const apiUrl = - window.location.origin + - config.serverConfig.invoker.uri + - config.serverConfig.invoker.deviceMgt + - '/reports/devices/count?' + - encodedExtraParams; - - urlArray.push(axios.get(apiUrl, data)); - }); - - axios - .all(urlArray) - .then(res => { - res.map(response => { - if (response.status === 200) { - let countData = { - item: response.config[0], - // eslint-disable-next-line radix - count: parseInt(response.data.data), - }; - statArray.push(countData); - } - }); - this.setState({ statArray }); - }) - .catch(error => { - if (error.hasOwnProperty('response') && error.response.status === 401) { - // todo display a popup 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 get device count.', - }); - } - }); - }; - - render() { - const { DataView } = DataSet; - const { Html } = Guide; - const { statArray } = this.state; - - const dv = new DataView(); - dv.source(statArray).transform({ - type: 'percent', - field: 'count', - dimension: 'item', - as: 'percent', - }); - const cols = { - percent: { - formatter: val => { - val = val * 100 + '%'; - return val; - }, - }, - }; - - return ( -
- - - - - - - - -
- { - percent = percent * 100 + '%'; - return { - name: item, - value: percent, - }; - }, - ]} - style={{ - lineWidth: 1, - stroke: '#fff', - }} - > - -
-
-
- ); - } -} - -export default withConfigContext(PieChart); diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/RouteWithSubRoutes.js b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/RouteWithSubRoutes/index.js similarity index 94% rename from components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/RouteWithSubRoutes.js rename to components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/RouteWithSubRoutes/index.js index 0f255e852f..935bcd2e24 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/RouteWithSubRoutes.js +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/RouteWithSubRoutes/index.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.css b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.css index 74dcd95a69..54d2bb2e1c 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.css +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Entgra (pvt) Ltd. (http://entgra.io) All Rights Reserved. + * 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 @@ -42,4 +42,4 @@ .ant-input-affix-wrapper .ant-input{ min-height: 0; -} \ No newline at end of file +} diff --git a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.html b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.html index b5beefbb36..eb2a94b6a7 100644 --- a/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.html +++ b/components/device-mgt/io.entgra.device.mgt.ui/react-app/src/index.html @@ -1,5 +1,5 @@