From 9c490d1989fe63a9091778534f45a1670b45e803 Mon Sep 17 00:00:00 2001 From: megala21 Date: Tue, 12 Sep 2017 16:55:15 +0530 Subject: [PATCH] Adding the flexibility to change the css files --- .../src/main/resources/publisher/src/App.jsx | 13 +- .../Application/ApplicationCreate.jsx | 24 +++- .../Application/ApplicationListing.jsx | 22 +++- .../Application/CreateSteps/Step1.jsx | 19 ++- .../Application/CreateSteps/Step2.jsx | 83 ++++++------ .../Application/CreateSteps/Step3.jsx | 28 ++-- .../src/components/Base/BaseLayout.jsx | 25 ++-- .../components/Platform/PlatformCreate.jsx | 42 +++--- .../components/Platform/PlatformListing.jsx | 23 +++- .../src/components/UIComponents/DataTable.jsx | 18 ++- .../UIComponents/DataTableHeader.jsx | 28 ++-- .../components/UIComponents/DataTableRow.jsx | 16 ++- .../main/resources/publisher/src/config.json | 9 +- .../publisher/src/themes/custom-theme.js | 12 -- .../src/themes/custom-theme/theme.js | 39 ++++++ .../default/application-create-step1.css | 25 ++++ .../default/application-create-step2.css | 120 ++++++++++++++++++ .../default/application-create-step3.css | 29 +++++ .../src/themes/default/application-create.css | 36 ++++++ .../themes/default/application-listing.css | 38 ++++++ .../src/themes/default/basic-layout.css | 26 ++++ .../src/themes/default/data-table.css | 44 +++++++ .../src/themes/default/platform-create.css | 68 ++++++++++ .../src/themes/default/platform-listing.css | 39 ++++++ .../resources/publisher/src/themes/theme.js | 35 +++++ 25 files changed, 721 insertions(+), 140 deletions(-) delete mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme.js create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme/theme.js create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step1.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step2.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step3.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-listing.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/basic-layout.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/data-table.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-create.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-listing.css create mode 100644 components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/theme.js diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/App.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/App.jsx index 58002cfb62d..8859f1897f1 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/App.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/App.jsx @@ -31,18 +31,21 @@ import { PlatformCreate, PlatformListing } from './components'; +import Theme from './themes/theme'; + + const history = createHistory({basename: '/publisher'}); /** - * User can define the themes in the config.json. The themes will be loaded based on the user preference. + *Loading the theme files based on the the user-preference. */ -const theme = require("./config.json").theme; let muiTheme = null; -if (theme.current === "default") { - let defaultTheme = require("material-ui/styles/baseThemes/" + theme.default); +let selected = Theme.selectedTheme; +if (Theme.currentTheme === "default") { + let defaultTheme = require("material-ui/styles/baseThemes/" + selected); muiTheme = getMuiTheme(defaultTheme.default); } else { - let customTheme = require("./themes/" + theme.custom); + let customTheme = require("./themes/" + selected + "/theme.js"); muiTheme = getMuiTheme(customTheme.default); } diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationCreate.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationCreate.jsx index 86ad0961ff6..afb03ffbaa0 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationCreate.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationCreate.jsx @@ -24,7 +24,7 @@ import {Step1, Step2, Step3} from './CreateSteps'; import RaisedButton from 'material-ui/RaisedButton'; import {Card, CardActions, CardTitle} from 'material-ui/Card'; import {Step, StepLabel, Stepper,} from 'material-ui/Stepper'; - +import Theme from '../../themes/theme'; /** * The App Create Component. @@ -51,6 +51,20 @@ class ApplicationCreate extends Component { }; } + componentWillMount() { + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../themes/default/application-create.css"); + } else { + try { + require("../../themes/" + selected + "/application-create.css"); + } catch (ex){ + // If the particular customized file does not exist, use the default one. + require("../../themes/default/application-create.css"); + } + } + } + /** * Handles next button click event. * */ @@ -179,15 +193,15 @@ class ApplicationCreate extends Component { return ( -
- +
+ {/** * The stepper goes here. */} -
+
Select Application Platform @@ -199,7 +213,7 @@ class ApplicationCreate extends Component { Release -
+
{finished ? (

Create App?

diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationListing.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationListing.jsx index d0df14fb181..2b33e409f28 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationListing.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/ApplicationListing.jsx @@ -21,6 +21,7 @@ import {withRouter} from 'react-router-dom'; import TextField from 'material-ui/TextField'; import DataTable from '../UIComponents/DataTable'; import {Card, CardActions, CardTitle} from 'material-ui/Card'; +import Theme from '../../themes/theme'; /** * The App Create Component. @@ -112,6 +113,18 @@ class ApplicationListing extends Component { componentWillMount() { //Fetch all the applications from backend and create application objects. this.setState({data: this.data}); + + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../themes/default/application-listing.css"); + } else { + try { + require("../../themes/" + selected + "/application-listing.css"); + } catch (ex) { + // If the particular customized file does not exist, use the default one. + require("../../themes/default/application-listing.css"); + } + } } /** @@ -156,12 +169,11 @@ class ApplicationListing extends Component { render() { return ( -
- - + + - + diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/CreateSteps/Step1.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/CreateSteps/Step1.jsx index 971821d063c..63ee4eb6b1f 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/CreateSteps/Step1.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Application/CreateSteps/Step1.jsx @@ -22,6 +22,9 @@ import MenuItem from 'material-ui/MenuItem'; import TextField from 'material-ui/TextField'; import SelectField from 'material-ui/SelectField'; import RaisedButton from 'material-ui/RaisedButton'; +import Theme from '../../../themes/theme'; + + /** * The first step of the application creation wizard. @@ -51,6 +54,17 @@ class Step1 extends Component { } componentWillMount() { + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../../themes/default/application-create-step1.css"); + } else { + try { + require("../../../themes/" + selected + "/application-create-step1.css"); + } catch (ex){ + // If the particular customized file does not exist, use the default one. + require("../../../themes/default/application-create-step1.css"); + } + } //Get the list of available platforms and set to the state. } @@ -105,10 +119,9 @@ class Step1 extends Component { }; render() { - const contentStyle = {margin: '0 16px'}; return (
-
+

-
+
this._handleRequestDelete(data.key)} - style={this.styles.chip} - > + className="applicationCreateChip"> {data.value} ); @@ -299,9 +302,8 @@ class Step2 extends Component { render() { console.log(this.state.visibilityComponent); - const contentStyle = {margin: '0 16px'}; return ( -
+

-
+
{this.state.tags.map(this._renderChip, this)}

@@ -365,18 +367,14 @@ class Step2 extends Component {
{/*Platform Specific Properties.*/} -
-

Platform Specific Properties

+
+

Platform Specific Properties


-

{this.state.errors["Banner"]}

-

Banner*:

- +

{this.state.errors["Banner"]}

+

Banner*:

+ {this.state.banner.map((tile) => ( ))} {this.state.banner.length === 0 ? - { this.setState({banner, rejected}); }}> -

+

+

+

:
} @@ -400,13 +397,9 @@ class Step2 extends Component {

-

{this.state.errors["Screenshots"]}

-

Screenshots*:

- +

{this.state.errors["Screenshots"]}

+

Screenshots*:

+ {this.state.screenshots.map((file) => ( ))} {this.state.screenshots.length < 3 ? - { let tmpScreenshots = this.state.screenshots; @@ -425,19 +418,15 @@ class Step2 extends Component { this.setState({ screenshots: tmpScreenshots}); }}> -

+

+

+

:
}

-

{this.state.errors["Icon"]}

-

Icon*:

- +

{this.state.errors["Icon"]}

+

Icon*:

+ {this.state.icon.map((tile) => ( ))} {this.state.icon.length === 0 ? - {this.setState({icon, rejected});}}> -

+

+

+

:
}
@@ -460,12 +449,12 @@ class Step2 extends Component {

-
+
+

} -
- +
+
-
+
{this.props.children}
); diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformCreate.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformCreate.jsx index c6604187a88..fc6663f7f4a 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformCreate.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformCreate.jsx @@ -31,6 +31,7 @@ import {GridList, GridTile} from 'material-ui/GridList'; import Close from 'material-ui/svg-icons/navigation/close'; import {Card, CardActions, CardTitle} from 'material-ui/Card'; import AddCircleOutline from 'material-ui/svg-icons/content/add-circle-outline'; +import Theme from '../../themes/theme'; /** * Platform Create component. @@ -64,6 +65,20 @@ class PlatformCreate extends Component { } } + componentWillMount() { + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../themes/default/platform-create.css"); + } else { + try { + require("../../themes/" + selected + "/platform-create.css"); + } catch (ex) { + // If the particular customized file does not exist, use the default one. + require("../../themes/default/platform-create.css"); + } + } + } + /** * Handles toggle button actions. * One method is used for all the toggle buttons and, each toggle is identified by the id. @@ -184,12 +199,12 @@ class PlatformCreate extends Component { property} = this.state; return ( -
+
-
+

-

Platform Properties

+

Platform Properties

{platformProperties.map((p) => { return
{p.key} : {p.value} - +
})}
-
+
- {/*

{this.state.errors["Icon"]}

*/} -

Platform Icon*:

- +

Platform Icon*:

+ {this.state.icon.map((tile) => ( ))} {this.state.icon.length === 0 ? - {this.setState({icon, rejected})}}> -

+

+

+

:
}
diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformListing.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformListing.jsx index 6a749d205e5..6904d2fc86b 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformListing.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/Platform/PlatformListing.jsx @@ -21,6 +21,7 @@ import {withRouter} from 'react-router-dom'; import TextField from 'material-ui/TextField'; import DataTable from '../UIComponents/DataTable'; import {Card, CardActions, CardTitle} from 'material-ui/Card'; +import Theme from '../../themes/theme'; /** * The App Create Component. @@ -40,6 +41,17 @@ class PlatformListing extends Component { } componentWillMount() { + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../themes/default/platform-listing.css"); + } else { + try { + require("../../themes/" + selected + "/platform-listing.css"); + } catch (ex) { + // If the particular customized file does not exist, use the default one. + require("../../themes/default/platform-listing.css"); + } + } //Fetch all the applications from backend and create application objects. } @@ -75,12 +87,11 @@ class PlatformListing extends Component { render() { return ( -
- - - +
+ + + diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTable.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTable.jsx index e82528da081..badc608bcb7 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTable.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTable.jsx @@ -22,6 +22,7 @@ import DataTableRow from './DataTableRow'; import DataTableHeader from './DataTableHeader'; import RaisedButton from 'material-ui/RaisedButton'; import {Table, TableBody, TableHeader, TableRow} from 'material-ui/Table'; +import Theme from '../../themes/theme'; /** * The Custom Table Component. @@ -60,7 +61,18 @@ class DataTable extends Component { }; componentWillMount() { - this.setState({data: this.props.data, headers: this.props.headers}) + this.setState({data: this.props.data, headers: this.props.headers}); + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../themes/default/data-table.css"); + } else { + try { + require("../../themes/" + selected + "/data-table.css"); + } catch (ex) { + // If the particular customized file does not exist, use the default one. + require("../../themes/default/data-table.css"); + } + } } shouldComponentUpdate(nextProps, nextState) { @@ -95,8 +107,8 @@ class DataTable extends Component { adjustForCheckbox={ false }> {headers.map((header) => { - return () + return () } )} diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableHeader.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableHeader.jsx index 2f6285a8dda..fda698d9119 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableHeader.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableHeader.jsx @@ -20,6 +20,7 @@ import PropTypes from 'prop-types'; import React, {Component} from 'react'; import FlatButton from 'material-ui/FlatButton'; import {TableHeaderColumn} from 'material-ui/Table'; +import Theme from '../../themes/theme'; /** * Data Table header component. @@ -31,6 +32,20 @@ class DataTableHeader extends Component { super(); } + componentWillMount() { + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../themes/default/data-table.css"); + } else { + try { + require("../../themes/" + selected + "/data-table.css"); + } catch (ex) { + // If the particular customized file does not exist, use the default one. + require("../../themes/default/data-table.css"); + } + } + } + /** * The onClick function of the table header. * Invokes the function passed in the header object. @@ -48,20 +63,13 @@ class DataTableHeader extends Component { * */ if (this.props.header.sortable) { headerCell = ; + onClick={this._tableHeaderClick.bind(this)} className="sortableHeaderCell"/>; } else { - headerCell = {this.props.header.label}; + headerCell = {this.props.header.label}; } return ( - + {headerCell} ); diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableRow.jsx b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableRow.jsx index 6a2a0d1e809..8162b900a95 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableRow.jsx +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/components/UIComponents/DataTableRow.jsx @@ -19,6 +19,7 @@ import PropTypes from 'prop-types'; import React, {Component} from 'react'; import {TableRow, TableRowColumn} from 'material-ui/Table'; +import Theme from '../../themes/theme'; /** * Data table row component. @@ -34,7 +35,18 @@ class DataTableRow extends Component { } componentWillMount() { - this.setState({dataItem: this.props.dataItem}) + this.setState({dataItem: this.props.dataItem}); + let selected = Theme.selectedTheme; + if (Theme.currentTheme === "default") { + require("../../themes/default/data-table.css"); + } else { + try { + require("../../themes/" + selected + "/data-table.css"); + } catch (ex) { + // If the particular customized file does not exist, use the default one. + require("../../themes/default/data-table.css"); + } + } } /** @@ -50,7 +62,7 @@ class DataTableRow extends Component { {Object.keys(dataItem).map((key) => { if (key !== 'id') { - return {dataItem[key]} } else { return diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/config.json b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/config.json index cb7ead56b15..6cbee10974d 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/config.json +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/config.json @@ -1,7 +1,6 @@ { - "theme" : { - "current" : "default", - "default" : "lightBaseTheme", - "custom" : "custom-theme" + "theme": { + "type": "default", + "value": "lightBaseTheme" } -} +} \ No newline at end of file diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme.js deleted file mode 100644 index 8342d4da36d..00000000000 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme.js +++ /dev/null @@ -1,12 +0,0 @@ -import { - indigo500, indigo700, redA200, -} from 'material-ui/styles/colors'; - -export default { - palette: { - primary1Color: indigo500, - primary2Color: indigo700, - accent1Color: redA200, - pickerHeaderColor: indigo500, - }, -}; diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme/theme.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme/theme.js new file mode 100644 index 00000000000..f8cfdff1bf4 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/custom-theme/theme.js @@ -0,0 +1,39 @@ +/* + * 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. + */ + +/** + * This a sample custom theme file. In config.json, if the following changes are done, this theme will be applied. + * { + * "theme" : { + * "type" : "custom", + * "value" : "custom-theme" + * } + * } + */ +import { + indigo500, indigo700, redA200, +} from 'material-ui/styles/colors'; + +export default { + palette: { + primary1Color: indigo500, + primary2Color: indigo700, + accent1Color: redA200, + pickerHeaderColor: indigo500, + }, +}; diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step1.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step1.css new file mode 100644 index 00000000000..166de9e3883 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step1.css @@ -0,0 +1,25 @@ +/* + * 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. + */ + +.creatediv { + margin: 0 16px; +} + +.nextButton { + margin-top: 12px; +} \ No newline at end of file diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step2.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step2.css new file mode 100644 index 00000000000..00da1e2e107 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step2.css @@ -0,0 +1,120 @@ +/* + * 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. + */ + +.applicationCreateChip { + margin: 4px; +} + +.createStep2Content { + margin: 0 16px; +} + + +.applicationCreateWrapper { + display: flex; + flex-wrap: wrap; +} + + +.platformSpecificPropertyDiv { + border: solid #BDBDBD 1px; +} + +.platformSpecificPropertyP { + color: #BDBDBD; +} + +.applicationCreateBannerError { + color: #f44336; +} + +.applicationCreateBannerTitle { + color: #BDBDBD; +} + +.applicationCreateGrid { + display: flex; + flex-wrap: nowrap; + overflow-x: auto; +} + +.applicationCreateBannerDropZone { + width: 300px; + height: 150px; + border: dashed #BDBDBD 1px +} + +.applicationCreateBannerp { + margin: 70px 40px 40px 150px; +} + +.applicationCreateScreenshotError { + color: #f44336; +} + +.applicationCreateScreenshotTitle { + color: #BDBDBD; +} + +.applicationCreateScreenshotGrid { + display: flex; + flex-wrap: nowrap; + overflow-x: auto; +} + +.applicationCreateScreenshotDropZone { + width: 150px; + height: 150px; + border: dashed #BDBDBD 1px; +} + +.applicationCreateScreenshotp { + margin: 70px 40px 70px 70px; +} + +.applcationCreateIconError { + color: #f44336; +} + +.applicationCreateIconTitle { + color: #BDBDBD; +} + +.applicationCreateIconGrid { + display: flex; + flex-wrap: nowrap; + overflow-x: auto; +} + +.applicationCreateIconDropZone { + width: 150px; + height: 150px; + border: dashed #BDBDBD 1px; +} + +.applicationCreateIconp { + margin: 70px 40px 70px 70px; +} + +.applicationCreateBackAndNext { + margin-top: 12px; +} + +.applicationCreateBack { + margin-right: 12px; +} diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step3.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step3.css new file mode 100644 index 00000000000..84c798ea426 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create-step3.css @@ -0,0 +1,29 @@ +/* + * 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. + */ + +.applicationCreateStepMiddle { + margin: 0 16px; +} + +.applicationCreateBackAndFinish { + margin-top: 12px; +} + +.applicationCreateFinish { + margin-right: 12px; +} \ No newline at end of file diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create.css new file mode 100644 index 00000000000..27b2a51cae7 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-create.css @@ -0,0 +1,36 @@ +/* + * 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. + */ + +.createapplicationmiddle { + width: 95%; + height: 100%; + margin-top: 1%; +} + +.creataapplicationcard { + max-height: 700px; + overflow: auto; +} +.createapplicationcardaction { + width: 100%; + margin: auto; +} + +.createapplicationcontent { + margin: 0 16px; +} \ No newline at end of file diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-listing.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-listing.css new file mode 100644 index 00000000000..ebf44d33bd6 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/application-listing.css @@ -0,0 +1,38 @@ +/* + * 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. + */ + +.applicationListingMiddle { + width: 95%; + height: 100%; + margin-top: 1%; +} + +.applicationListingCard { + display: flex; + flex-wrap: wrap; +} + +.applicationListingSearch { + float:right; + padding-right: 2px; +} + +.applicationListTitle { + display: flex; + flex-wrap: wrap; +} \ No newline at end of file diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/basic-layout.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/basic-layout.css new file mode 100644 index 00000000000..360a0eb8db0 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/basic-layout.css @@ -0,0 +1,26 @@ +/* + * 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. + */ + +.basicLayoutDiv { + height: calc(100% - 64px); + margin-left: 16%; + width: calc(100% - 15%); + top: 64px; + left: -100px; +} + diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/data-table.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/data-table.css new file mode 100644 index 00000000000..787c221d6a5 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/data-table.css @@ -0,0 +1,44 @@ +/* + * 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. + */ + +.tableRow { + display: flex; +} + +.datatableRowColumn { + align-items: center; +} + +.sortableHeaderCell { + color: #bdbdbd; +} + +.notsortableHeaderCell { + position: relative; + padding-left: 16px; + padding-right: 16px; + text-transform: uppercase; + font-weight: normal; + color: #bdbdbd; + font-size: 14px; +} + +.datatableHeaderColumn { + padding-left: 0; +} + diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-create.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-create.css new file mode 100644 index 00000000000..234e0937b27 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-create.css @@ -0,0 +1,68 @@ +/* + * 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. + */ + +.createplatformmiddle { + width: 95%; + height: 100%; + margin-top: 1% +} + +.createplatformcardaction { + width: 100%; + margin: auto; + padding-left: 10px; +} + +.createplatformproperties { + color: #BaBaBa; +} + +.createplatformpropertyclose { + height: 10px; + width: 10px; +} + + +.createplatformproperty { + display: flex; +} + +.createplatformpropertyselect { + flex: 1 1 23% 1; + margin: 0 1% +} + +.createplatformicon { + display: flex; + flex-wrap: nowrap; + overflow-x: auto; +} + +.createplatformiconp { + color: #BDBDBD; +} + +.createplatformdropzone { + width: 150px; + height: 150px; + border: dashed #BDBDBD 1px; +} + +.createplatformdropzonep { + margin: 70px 40px 70px 70px +} \ No newline at end of file diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-listing.css b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-listing.css new file mode 100644 index 00000000000..b92a31736f3 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/default/platform-listing.css @@ -0,0 +1,39 @@ +/* + * 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. + */ + + +.listingplatformmiddle { + width: 95%; + height: 100%; + margin-top: 1%; +} + +.listingplatformcard { + display: flex; + flex-wrap: wrap; +} + +.listingplatformsearch { + float:right; + padding-right: 2px; +} + +.listingplatformTitle { + display: flex; + flex-wrap: wrap; +} \ No newline at end of file diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/theme.js b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/theme.js new file mode 100644 index 00000000000..11f0d46f895 --- /dev/null +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.ui/src/main/resources/publisher/src/themes/theme.js @@ -0,0 +1,35 @@ +/* + * 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. + */ + +/** + * This class will read through the configuration file and saves the theme names for the usage in other files. + * User can define the themes in the config.json. The themes will be loaded based on the user preference. + */ +class Theme { + constructor() { + const theme = require("../config.json").theme; + this.currentTheme = theme.type; + if (this.currentTheme === "default") { + this.selectedTheme = theme.value; + } else { + this.selectedTheme = theme.value; + } + } +} + +export default (new Theme); \ No newline at end of file