diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/public/conf/config.json b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/public/conf/config.json
index 88d68e9e8d..65013996e0 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/public/conf/config.json
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/public/conf/config.json
@@ -1,7 +1,7 @@
{
"theme": {
"logo": "https://entgra.io/assets/images/svg/logo.svg",
- "primaryColor": "#badc58"
+ "primaryColor": "rgb(24, 144, 255)"
},
"serverConfig": {
"invoker": {
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/detailed-rating/DetailedRating.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/detailed-rating/DetailedRating.js
index 876c3b3232..2ef88827be 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/detailed-rating/DetailedRating.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/detailed-rating/DetailedRating.js
@@ -22,6 +22,7 @@ import StarRatings from "react-star-ratings";
import "./DetailedRating.css";
import axios from "axios";
import {withConfigContext} from "../../../context/ConfigContext";
+import {handleApiError} from "../../../js/Utils";
const { Text } = Typography;
@@ -60,16 +61,7 @@ class DetailedRating extends React.Component{
}
}).catch(function (error) {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+'/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load rating for the release.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load rating for the release.");
});
};
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/AppDetailsDrawer/AppDetailsDrawer.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/AppDetailsDrawer/AppDetailsDrawer.js
index 12cf8cb591..d42a2a8a09 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/AppDetailsDrawer/AppDetailsDrawer.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/AppDetailsDrawer/AppDetailsDrawer.js
@@ -42,6 +42,7 @@ import pSBC from "shade-blend-color";
import {withConfigContext} from "../../../../context/ConfigContext";
import ManagedConfigurationsIframe
from "../../../manage/android-enterprise/ManagedConfigurationsIframe/ManagedConfigurationsIframe";
+import {handleApiError} from "../../../../js/Utils";
const {Meta} = Card;
const {Text, Title} = Typography;
@@ -135,16 +136,7 @@ class AppDetailsDrawer extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load app details.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load app details.");
this.setState({
loading: false
});
@@ -175,16 +167,7 @@ class AppDetailsDrawer extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load tags.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load tags.");
this.setState({
loading: false
});
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/Filters.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/Filters.js
index d5f8e770c2..de8bbf8357 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/Filters.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/Filters.js
@@ -34,6 +34,7 @@ import {
} from "antd";
import axios from "axios";
import {withConfigContext} from "../../../context/ConfigContext";
+import {handleApiError} from "../../../js/Utils";
const {Option} = Select;
const {Title} = Typography;
@@ -92,16 +93,7 @@ class FiltersForm extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load categories.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load categories.");
this.setState({
loading: false
});
@@ -123,16 +115,7 @@ class FiltersForm extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load tags.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load tags.");
this.setState({
loading: false
});
@@ -154,16 +137,7 @@ class FiltersForm extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load device types.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load device types.");
this.setState({
loading: false
});
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/ListApps.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/ListApps.js
index d5639cea70..ec5b7a25d9 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/ListApps.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/ListApps.js
@@ -52,68 +52,6 @@ class ListApps extends React.Component {
});
};
- getCategories = () => {
- const config = this.props.context;
- axios.get(
- window.location.origin+ config.serverConfig.invoker.uri + config.serverConfig.invoker.publisher + "/applications/categories"
- ).then(res => {
- if (res.status === 200) {
- let categories = JSON.parse(res.data.data);
- this.getTags();
- this.setState({
- categories: categories,
- loading: false
- });
- }
-
- }).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load categories.",
- });
- }
- this.setState({
- loading: false
- });
- });
- };
-
- getTags = () => {
- const config = this.props.context;
- axios.get(
- window.location.origin+ config.serverConfig.invoker.uri + config.serverConfig.invoker.publisher + "/applications/tags"
- ).then(res => {
- if (res.status === 200) {
- let tags = JSON.parse(res.data.data);
- this.getDeviceTypes();
- this.setState({
- tags: tags,
- loading: false,
- });
- }
-
- }).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load tags.",
- });
- }
- this.setState({
- loading: false
- });
- });
- };
-
render() {
const {isDrawerVisible, filters} = this.state;
return (
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/appsTable/AppsTable.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/appsTable/AppsTable.js
index 8fe5b00cce..aae593fb2a 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/appsTable/AppsTable.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/list-apps/appsTable/AppsTable.js
@@ -23,6 +23,7 @@ import pSBC from 'shade-blend-color';
import "./AppsTable.css";
import {withConfigContext} from "../../../../context/ConfigContext";
import AppDetailsDrawer from "../AppDetailsDrawer/AppDetailsDrawer";
+import {handleApiError} from "../../../../js/Utils";
let config = null;
@@ -214,18 +215,7 @@ class AppsTable extends React.Component {
});
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load the apps.",
- });
- }
-
+ handleApiError(error, "Error occurred while trying to load apps.");
this.setState({loading: false});
});
};
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/lifeCycle/LifeCycle.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/lifeCycle/LifeCycle.js
index eac2b0ff98..3230939c72 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/lifeCycle/LifeCycle.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/lifeCycle/LifeCycle.js
@@ -24,6 +24,7 @@ import 'react-quill/dist/quill.snow.css';
import './LifeCycle.css';
import LifeCycleDetailsModal from "./lifeCycleDetailsModal/lifeCycleDetailsModal";
import {withConfigContext} from "../../../../context/ConfigContext";
+import {handleApiError} from "../../../../js/Utils";
const {Text, Title, Paragraph} = Typography;
const {Option} = Select;
@@ -120,15 +121,7 @@ class LifeCycle extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "Error",
- description:
- "Error occurred while trying to add lifecycle",
- });
- }
+ handleApiError(error, "Error occurred while trying to add lifecycle");
this.setState({
isConfirmButtonLoading: false
});
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/nodes/CustomNode.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/nodes/CustomNode.css
deleted file mode 100644
index f248b81287..0000000000
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/nodes/CustomNode.css
+++ /dev/null
@@ -1,39 +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.
- */
-
-
-/* --- Shape for the nodes --- */
-
-.node {
- width: 75px;
- height: 30px;
- border-radius: 20% 20% 20% 20%;
- overflow: hidden;
- box-sizing: border-box;
- display: flex;
-}
-
-
-.node .name {
- padding: 5%;
- font-size: 0.5rem;
- font-weight: bold;
- text-align: center;
- text-transform: uppercase;
- color: white;
-}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/nodes/CustomNode.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/nodes/CustomNode.jsx
deleted file mode 100644
index 761d227a96..0000000000
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/nodes/CustomNode.jsx
+++ /dev/null
@@ -1,54 +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 "./CustomNode.css";
-
-
-/**
- * Component that renders a person's name and gender, along with icons
- * representing if they have a driver license for bike and / or car.
- * @param {Object} props component props to render.
- */
-function CustomNode({ node }) {
-
- return (
-
-
{node.id}
-
- {/*
*/}
- {/*
*/}
-
- {/*
*/}
- {/*{person.hasBike && (*/}
- {/*
*/}
- {/*)}*/}
- {/*{person.hasCar &&
}*/}
- {/*
*/}
- {/*
*/}
-
- );
-}
-
-export default CustomNode;
\ No newline at end of file
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/review/Reviews.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/review/Reviews.js
index 51041c277a..0e75a3d663 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/review/Reviews.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/review/Reviews.js
@@ -24,6 +24,7 @@ import InfiniteScroll from 'react-infinite-scroller';
import SingleReview from "./SingleReview";
import axios from "axios";
import {withConfigContext} from "../../../../context/ConfigContext";
+import {handleApiError} from "../../../../js/Utils";
const limit = 5;
@@ -58,16 +59,7 @@ class Reviews extends React.Component {
}
}).catch(function (error) {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load reviews.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load reviews.");
});
};
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/temp/LifeCycleGraph.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/temp/LifeCycleGraph.js
deleted file mode 100644
index a5b41fb58d..0000000000
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/apps/release/temp/LifeCycleGraph.js
+++ /dev/null
@@ -1,116 +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 * as SRD from "storm-react-diagrams";
-import "storm-react-diagrams/dist/style.min.css";
-import "./LifeCycle.css";
-import {distributeElements} from "../../../js/utils/dagre-utils.ts";
-
-const inPortName = "IN";
-const outPortName = "OUT";
-
-class LifeCycleGraph extends React.Component {
- render() {
-
- const lifecycle = this.props.lifecycle;
- const nodes = [];
- const links = [];
-
- const engine = new SRD.DiagramEngine();
- engine.installDefaultFactories();
-
- const model = new SRD.DiagramModel();
- const nextStates = lifecycle[this.props.currentStatus].proceedingStates;
-
-
- Object.keys(lifecycle).forEach((stateName) => {
- let color = "rgb(83, 92, 104)";
- if (stateName === this.props.currentStatus) {
- color = "rgb(192,255,0)";
- } else if (nextStates.includes(stateName)) {
- color = "rgb(0,192,255)";
- }
- const node = createNode(stateName, color);
- nodes.push(node);
- lifecycle[stateName].node = node;
- });
-
- Object.keys(lifecycle).forEach((stateName) => {
- const state = lifecycle[stateName];
- //todo: remove checking property
- if (state.hasOwnProperty("proceedingStates")) {
-
- state.proceedingStates.forEach((proceedingState) => {
- links.push(connectNodes(state.node, lifecycle[proceedingState].node));
- });
- }
- });
-
- nodes.forEach((node) => {
- model.addNode(node);
- // node.addListener({
- // selectionChanged: (node, isSelected) => {
- // console.log(isSelected);
- // }
- // });
- });
- links.forEach((link) => {
- model.addLink(link);
- });
-
-
- let distributedModel = getDistributedModel(engine, model);
- engine.setDiagramModel(distributedModel);
-
- return (
-
-
-
- );
- }
-}
-
-function getDistributedModel(engine, model) {
- const serialized = model.serializeDiagram();
- const distributedSerializedDiagram = distributeElements(serialized);
-
- //deserialize the model
- let deSerializedModel = new SRD.DiagramModel();
- deSerializedModel.deSerializeDiagram(distributedSerializedDiagram, engine);
- return deSerializedModel;
-}
-
-function createNode(name, color) {
- const node = new SRD.DefaultNodeModel(name, color);
- node.addPort(new SRD.DefaultPortModel(true, inPortName, " "));
- node.addPort(new SRD.DefaultPortModel(false, outPortName, " "));
- return node;
-}
-
-let count = 0;
-
-function connectNodes(nodeFrom, nodeTo) {
- return nodeFrom.getPort(outPortName).link(nodeTo.getPort(inPortName));
-}
-
-function f() {
- // console.log(1);
-}
-
-export default LifeCycleGraph;
\ No newline at end of file
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/android-enterprise/ManagedConfigurationsIframe/ManagedConfigurationsIframe.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/android-enterprise/ManagedConfigurationsIframe/ManagedConfigurationsIframe.js
index dcc994dad6..67b3804958 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/android-enterprise/ManagedConfigurationsIframe/ManagedConfigurationsIframe.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/android-enterprise/ManagedConfigurationsIframe/ManagedConfigurationsIframe.js
@@ -75,18 +75,7 @@ class ManagedConfigurationsIframe extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load configurations.",
- });
- }
-
+ handleApiError(error, "Error occurred while trying to load configurations.");
this.setState({loading: false, visible: false});
});
};
@@ -154,18 +143,7 @@ class ManagedConfigurationsIframe extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to update configurations.",
- });
- }
-
+ handleApiError(error, "Error occurred while trying to update configurations.");
this.setState({loading: false});
});
};
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageCategories.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageCategories.js
index 526d2a7b7a..984cd5d67d 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageCategories.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageCategories.js
@@ -38,6 +38,7 @@ import axios from "axios";
import {TweenOneGroup} from 'rc-tween-one';
import pSBC from "shade-blend-color";
import {withConfigContext} from "../../../context/ConfigContext";
+import {handleApiError} from "../../../js/Utils";
const {Title} = Typography;
@@ -69,12 +70,7 @@ class ManageCategories extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- message.warning('Something went wrong');
-
- }
+ handleApiError(error, "Error occured while trying to load categories");
this.setState({
loading: false
});
@@ -116,17 +112,7 @@ class ManageCategories extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load categories.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load categories.");
this.setState({
loading: false
});
@@ -264,17 +250,7 @@ class ManageCategories extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to add categories.",
- });
- }
+ handleApiError(error, "Error occurred while trying to add categories.");
this.setState({
loading: false
});
@@ -331,17 +307,7 @@ class ManageCategories extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to delete the category.",
- });
- }
+ handleApiError(error, "Error occurred while trying to delete the category.");
this.setState({
loading: false,
editingValue: null
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageTags.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageTags.js
index e204e4d99b..69c269bc17 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageTags.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/manage/categories/ManageTags.js
@@ -36,6 +36,7 @@ import {
import axios from "axios";
import {TweenOneGroup} from 'rc-tween-one';
import {withConfigContext} from "../../../context/ConfigContext";
+import {handleApiError} from "../../../js/Utils";
const {Title} = Typography;
@@ -67,16 +68,7 @@ class ManageTags extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load tags.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load tags.");
this.setState({
loading: false
});
@@ -120,17 +112,7 @@ class ManageTags extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to delete the tag.",
- });
- }
+ handleApiError(error, "Error occurred while trying to delete the tag.");
this.setState({
loading: false
});
@@ -265,17 +247,7 @@ class ManageTags extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to delete tag.",
- });
- }
+ handleApiError(error, "Error occurred while trying to delete tag.");
this.setState({
loading: false
});
@@ -332,17 +304,7 @@ class ManageTags extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to edit tag.",
- });
- }
+ handleApiError(error, "Error occurred while trying to edit tag.");
this.setState({
loading: false,
editingValue: null
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/AddNewAppForm.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/AddNewAppForm.js
index 7529778de5..4e1c89b6f2 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/AddNewAppForm.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/AddNewAppForm.js
@@ -33,6 +33,7 @@ import {withRouter} from 'react-router-dom';
import NewAppDetailsForm from "./subForms/NewAppDetailsForm";
import NewAppUploadForm from "./subForms/NewAppUploadForm";
import {withConfigContext} from "../../context/ConfigContext";
+import {handleApiError} from "../../js/Utils";
const {Step} = Steps;
@@ -103,16 +104,7 @@ class AddNewAppFormComponent extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "Something went wrong!",
- description:
- "Sorry, we were unable to complete your request.",
- });
-
- }
+ handleApiError(error, "Sorry, we were unable to complete your request.")
this.setState({
loading: false,
isError: true,
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/IconImg.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/IconImg.js
deleted file mode 100644
index 077ca6a3f9..0000000000
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/IconImg.js
+++ /dev/null
@@ -1,84 +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 { Upload, Icon, message } from 'antd';
-
-function getBase64(img, callback) {
- const reader = new FileReader();
- reader.addEventListener('load', () => callback(reader.result));
- reader.readAsDataURL(img);
-}
-
-function beforeUpload(file) {
- const isJPG = file.type === 'image/jpeg';
- if (!isJPG) {
- message.error('You can only upload JPG file!');
- }
- const isLt2M = file.size / 1024 / 1024 < 2;
- if (!isLt2M) {
- message.error('Image must smaller than 2MB!');
- }
- return isJPG && isLt2M;
-}
-
-
-class IconImage extends React.Component {
- state = {
- loading: false,
- };
-
- handleChange = (info) => {
- if (info.file.status === 'uploading') {
- this.setState({ loading: true });
- return;
- }
- if (info.file.status === 'done') {
- // Get this url from response in real world.
- getBase64(info.file.originFileObj, imageUrl => this.setState({
- imageUrl,
- loading: false,
- }));
- }
- };
-
- render() {
- const uploadButton = (
-
- );
- const imageUrl = this.state.imageUrl;
- return (
-
- {imageUrl ? : uploadButton}
-
- );
- }
-}
-
-export default IconImage;
\ No newline at end of file
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/UploadScreenshots.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/UploadScreenshots.js
deleted file mode 100644
index b5405e8748..0000000000
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/UploadScreenshots.js
+++ /dev/null
@@ -1,67 +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 { Upload, Icon, Modal} from 'antd';
-
-
-class UploadScreenshots extends React.Component {
- state = {
- previewVisible: false,
- previewImage: '',
- fileList: [],
- };
-
- handleCancel = () => this.setState({ previewVisible: false });
-
- handlePreview = (file) => {
- this.setState({
- previewImage: file.url || file.thumbUrl,
- previewVisible: true,
- });
- };
-
- handleChange = ({ fileList }) => this.setState({ fileList });
-
- render() {
- const { previewVisible, previewImage, fileList } = this.state;
- const uploadButton = (
-
- );
- return (
-
-
- {fileList.length >= 3 ? null : uploadButton}
-
-
-
-
-
- );
- }
-}
-export default UploadScreenshots;
\ No newline at end of file
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/subForms/NewAppDetailsForm.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/subForms/NewAppDetailsForm.js
index 94c37634e6..1acac2779e 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/subForms/NewAppDetailsForm.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-app/subForms/NewAppDetailsForm.js
@@ -20,6 +20,7 @@ import React from "react";
import {Button, Col, Divider, Form, Icon, Input, notification, Row, Select, Switch, Upload} from "antd";
import axios from "axios";
import {withConfigContext} from "../../../context/ConfigContext";
+import {handleApiError} from "../../../js/Utils";
const formItemLayout = {
labelCol: {
@@ -80,8 +81,6 @@ class NewAppDetailsForm extends React.Component {
componentDidMount() {
this.getCategories();
- this.getTags();
- this.getDeviceTypes();
}
getCategories = () => {
@@ -96,18 +95,10 @@ class NewAppDetailsForm extends React.Component {
loading: false
});
}
+ this.getTags();
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load categories.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load categories.");
this.setState({
loading: false
});
@@ -126,18 +117,10 @@ class NewAppDetailsForm extends React.Component {
loading: false,
});
}
+ this.getDeviceTypes();
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load tags.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load tags.");
this.setState({
loading: false
});
@@ -180,17 +163,7 @@ class NewAppDetailsForm extends React.Component {
}).catch((error) => {
- console.log(error);
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load device types.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load device types.");
this.setState({
loading: false
});
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-release/AddReleaseForm.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-release/AddReleaseForm.js
index 6bab749642..9d9b354157 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-release/AddReleaseForm.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/components/new-release/AddReleaseForm.js
@@ -36,6 +36,7 @@ import {
import axios from "axios";
import {withRouter} from 'react-router-dom'
import {withConfigContext} from "../../context/ConfigContext";
+import {handleApiError} from "../../js/Utils";
const {Option} = Select;
const {TextArea} = Input;
@@ -127,16 +128,7 @@ class AddNewReleaseFormComponent extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin+ '/publisher/login';
- } else {
- notification["error"]({
- message: "Something went wrong!",
- description:
- "Sorry, we were unable to complete your request.",
- });
-
- }
+ handleApiError(error, "Sorry, we were unable to complete your request.");
this.setState({
loading: false
});
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/js/Utils.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/js/Utils.js
index f8e4425e8d..9cbc439bba 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/js/Utils.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/js/Utils.js
@@ -20,12 +20,11 @@ import {message, notification} from "antd";
export const handleApiError = (error, message) => {
if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
window.location.href = window.location.origin + '/publisher/login';
} else {
notification["error"]({
message: "There was a problem",
- duration: 0,
+ duration: 10,
description: message,
});
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/Login.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/Login.js
index 82d4c3021e..1973099955 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/Login.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/Login.js
@@ -22,6 +22,7 @@ import './Login.css';
import axios from 'axios';
import "./Login.css";
import {withConfigContext} from "../context/ConfigContext";
+import {handleApiError} from "../js/Utils";
const {Title} = Typography;
const {Text} = Typography;
@@ -101,18 +102,7 @@ class NormalLoginForm extends React.Component {
window.location = window.location.origin+"/publisher";
}
}).catch(function (error) {
- if (error.hasOwnProperty("response") && error.response.status === 400) {
- thisForm.setState({
- inValid: true
- });
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to login.",
- });
- }
+ handleApiError(error, "Error occurred while trying to login.");
thisForm.setState({
loading: false
});
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/components/AddTagModal.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/components/AddTagModal.js
deleted file mode 100644
index 1088ce4d8c..0000000000
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/add-new-app/components/AddTagModal.js
+++ /dev/null
@@ -1,67 +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 { Upload, Icon, Modal} from 'antd';
-
-
-class AddTagModal extends React.Component {
- state = {
- previewVisible: false,
- previewImage: '',
- fileList: [],
- };
-
- handleCancel = () => this.setState({ previewVisible: false });
-
- handlePreview = (file) => {
- this.setState({
- previewImage: file.url || file.thumbUrl,
- previewVisible: true,
- });
- };
-
- handleChange = ({ fileList }) => this.setState({ fileList });
-
- render() {
- const { previewVisible, previewImage, fileList } = this.state;
- const uploadButton = (
-
- );
- return (
-
-
- {fileList.length >= 3 ? null : uploadButton}
-
-
-
-
-
- );
- }
-}
-export default AddTagModal;
\ No newline at end of file
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/Apps.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/Apps.js
index de480c0c5d..248fca92ae 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/Apps.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/Apps.js
@@ -27,8 +27,6 @@ class Apps extends React.Component {
}
-
-
render() {
return (
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/release/Release.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/release/Release.js
index 27439bd6da..06a6d89f6c 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/release/Release.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/apps/release/Release.js
@@ -23,6 +23,7 @@ import axios from 'axios';
import ReleaseView from "../../../../components/apps/release/ReleaseView";
import LifeCycle from "../../../../components/apps/release/lifeCycle/LifeCycle";
import {withConfigContext} from "../../../../context/ConfigContext";
+import {handleApiError} from "../../../../js/Utils";
const {Title} = Typography;
@@ -87,18 +88,7 @@ class Release extends React.Component {
}
}).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 + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load the release.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load the release.");
this.setState({loading: false});
});
@@ -118,16 +108,7 @@ class Release extends React.Component {
}
}).catch(function (error) {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to load lifecycle configuration.",
- });
- }
+ handleApiError(error, "Error occurred while trying to load lifecycle configuration.");
});
};
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/logout/Logout.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/logout/Logout.js
index 1c3fbcf50a..26e0e89bb6 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/logout/Logout.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/logout/Logout.js
@@ -52,7 +52,6 @@ class Logout extends React.Component {
window.location = window.location.origin + "/publisher/login";
}
}).catch(function (error) {
-
if (error.hasOwnProperty("response") && error.response.status === 400) {
thisForm.setState({
inValid: true
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js
index 087b58caff..bd4ad771e8 100644
--- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js
+++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/react-app/src/pages/dashboard/manage/android-enterprise/page/Page.js
@@ -37,6 +37,7 @@ import {withConfigContext} from "../../../../../context/ConfigContext";
import axios from "axios";
import Cluster from "../../../../../components/manage/android-enterprise/Pages/Cluster/Cluster";
import EditLinks from "../../../../../components/manage/android-enterprise/Pages/EditLinks/EditLinks";
+import {handleApiError} from "../../../../../js/Utils";
const {Option} = Select;
const {Title, Text} = Typography;
@@ -110,18 +111,7 @@ class Page extends React.Component {
}
}).catch((error) => {
- if (error.hasOwnProperty("response") && error.response.status === 401) {
- message.error('You are not logged in');
- window.location.href = window.location.origin + '/publisher/login';
- } else {
- notification["error"]({
- message: "There was a problem",
- duration: 0,
- description:
- "Error occurred while trying to save the page name.",
- });
- }
-
+ handleApiError(error, "Error occurred while trying to save the page name.");
this.setState({loading: false});
});
}