From b66ad9ab576af28dd530f484eb5e77567abcb44c Mon Sep 17 00:00:00 2001 From: sinthuja Date: Fri, 6 Oct 2017 13:49:48 +0530 Subject: [PATCH] Adding UserOptions drop down, and adding the store ui to the pom. --- .../src/main/resources/store/src/App.test.js | 26 --------- .../store/src/common/configuration.js | 3 +- .../components/AppStoreBase/BaseLayout.jsx | 18 ++----- .../UIComponents/UserOptions/UserOptions.jsx | 54 +++++++++++++++++++ .../src/main/resources/store/src/theme.js | 5 +- components/application-mgt/pom.xml | 1 + 6 files changed, 64 insertions(+), 43 deletions(-) delete mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/App.test.js create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/UIComponents/UserOptions/UserOptions.jsx diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/App.test.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/App.test.js deleted file mode 100644 index 79b7f3f6659..00000000000 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/App.test.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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 ReactDOM from 'react-dom'; -import App from './App'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); -}); diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/common/configuration.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/common/configuration.js index 0c999fd0611..61adb30f010 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/common/configuration.js +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/common/configuration.js @@ -25,6 +25,7 @@ class Configuration { constructor() { this.serverConfig = {}; + this.themeConfig = {}; this.hostConstants = { baseURL: window.location.origin, appContext: window.location.pathname.split("/")[1] @@ -35,8 +36,8 @@ class Configuration { let thisObject = this; axios.get(thisObject.hostConstants.baseURL + '/' + thisObject.hostConstants.appContext + "/config.json"). then(function (response) { - console.log('successfully loaded the configuration!'); thisObject.serverConfig = response.data.config; + thisObject.themeConfig = response.data.theme; Constants.load(); callback(); }).catch(function (error) { diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/AppStoreBase/BaseLayout.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/AppStoreBase/BaseLayout.jsx index 810fd33fa32..de64011fe00 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/AppStoreBase/BaseLayout.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/AppStoreBase/BaseLayout.jsx @@ -21,7 +21,7 @@ import React, {Component} from 'react'; import {withRouter} from 'react-router-dom'; import AuthHandler from "../../api/authHandler"; import {Col, Container, Input, Row,} from 'reactstrap'; -import FloatingButton from "../UIComponents/FloatingButton/FloatingButton"; +import UserOptions from '../UIComponents/UserOptions/UserOptions'; /** * Base Layout: @@ -46,12 +46,6 @@ class BaseLayout extends Component { this.handleHistory('/assets/apps'); } - handleApplicationCreateClick(event) { - event.preventDefault(); - event.stopPropagation(); - this.setState({openModal: true}); - } - /** * The method to update the history. * to: The URL to route. @@ -78,7 +72,9 @@ class BaseLayout extends Component {
- + + +
-
- -
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/UIComponents/UserOptions/UserOptions.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/UIComponents/UserOptions/UserOptions.jsx new file mode 100644 index 00000000000..d9c2fa86a63 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/components/UIComponents/UserOptions/UserOptions.jsx @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. 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, {Component} from 'react'; +import Theme from '../../../theme'; + +class UserOptions extends Component { + + constructor() { + super(); + this.scriptId = "userOptions"; + } + + componentWillMount() { + /** + *Loading the theme files based on the the user-preference. + */ + Theme.insertThemingScripts(this.scriptId); + } + + componentWillUnmount() { + Theme.removeThemingScripts(this.scriptId); + } + + render() { + const {height, width} = this.props; + return ( + + ) + } +} + +export default UserOptions; diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/theme.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/theme.js index 45127271fd2..f325026f76e 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/theme.js +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.store.ui/src/main/resources/store/src/theme.js @@ -17,6 +17,7 @@ */ import axios from 'axios'; +import Configuration from './common/configuration'; /** * This class will read through the configuration file and saves the theme names for the usage in other files. @@ -33,8 +34,8 @@ class Theme { this.selectedTheme = this.defaultThemeType; //TODO Need to get the app context properly when the server is ready - this.baseURL = window.location.origin; - this.appContext = window.location.pathname.split("/")[1]; + this.baseURL = Configuration.hostConstants.baseURL; + this.appContext = Configuration.hostConstants.appContext; this.loadThemeConfigs = this.loadThemeConfigs.bind(this); this.loadThemeFiles = this.loadThemeFiles.bind(this); this.insertThemingScripts = this.insertThemingScripts.bind(this); diff --git a/components/application-mgt/pom.xml b/components/application-mgt/pom.xml index 5b7f9cad9d9..856111ac6d1 100644 --- a/components/application-mgt/pom.xml +++ b/components/application-mgt/pom.xml @@ -38,6 +38,7 @@ org.wso2.carbon.device.application.mgt.common org.wso2.carbon.device.application.mgt.api org.wso2.carbon.device.application.mgt.publisher.ui + org.wso2.carbon.device.application.mgt.store.ui org.wso2.carbon.device.application.mgt.authhandler