From 5ecb254e13a92ff7270379e6e44ac818113fb712 Mon Sep 17 00:00:00 2001 From: Laura Fuentes Grau Date: Tue, 29 Oct 2019 14:41:35 +0100 Subject: [PATCH] renamed visualization to dashboard --- src/app.js | 4 +- src/common/array-store.js | 1 + src/common/home.js | 2 +- .../dashboard-store.js} | 6 +- .../dashboard.js} | 134 +++++++++--------- .../dashboards-data-manager.js} | 4 +- src/{visualization => dashboard}/dropzone.js | 0 .../edit-dashboard.js} | 12 +- src/{visualization => dashboard}/grid.js | 0 .../import-dashboard.js} | 14 +- .../new-dashboard.js} | 4 +- .../toolbox-item.js | 0 src/project/project.js | 70 ++++----- src/scenario/scenarios.js | 1 + src/styles/app.css | 2 +- src/user/edit-own-user.js | 1 - src/widget/widgets/topology.js | 14 +- 17 files changed, 135 insertions(+), 134 deletions(-) rename src/{visualization/visualization-store.js => dashboard/dashboard-store.js} (83%) rename src/{visualization/visualization.js => dashboard/dashboard.js} (77%) rename src/{visualization/visualizations-data-manager.js => dashboard/dashboards-data-manager.js} (89%) rename src/{visualization => dashboard}/dropzone.js (100%) rename src/{visualization/edit-visualization.js => dashboard/edit-dashboard.js} (84%) rename src/{visualization => dashboard}/grid.js (100%) rename src/{visualization/import-visualization.js => dashboard/import-dashboard.js} (85%) rename src/{visualization/new-visualization.js => dashboard/new-dashboard.js} (91%) rename src/{visualization => dashboard}/toolbox-item.js (100%) diff --git a/src/app.js b/src/app.js index ea6bb5f..92bb42c 100644 --- a/src/app.js +++ b/src/app.js @@ -43,7 +43,7 @@ import HeaderMenu from './common/header-menu'; //import Projects from './project/projects'; //import Project from './project/project'; import Simulators from './simulator/simulators'; -import Visualization from './visualization/visualization'; +import Dashboard from './dashboard/dashboard'; //import Simulations from './simulation/simulations'; //import Simulation from './simulation/simulation'; import Scenarios from './scenario/scenarios'; @@ -145,7 +145,7 @@ class App extends React.Component {
- + diff --git a/src/common/array-store.js b/src/common/array-store.js index dbff5c3..1d76845 100644 --- a/src/common/array-store.js +++ b/src/common/array-store.js @@ -68,6 +68,7 @@ class ArrayStore extends ReduceStore { reduce(state, action) { switch (action.type) { case this.type + '/start-load': + if (Array.isArray(action.data)) { action.data.forEach((id) => { this.dataManager.load(id, action.token); diff --git a/src/common/home.js b/src/common/home.js index ed298ce..654ea6d 100644 --- a/src/common/home.js +++ b/src/common/home.js @@ -68,7 +68,7 @@ class Home extends React.Component {

{/*

- This instance is hosting {this.getCounts('projects')} projects consisting of {this.getCounts('simulators')} simulators, {this.getCounts('visualizations')} visualizations and {this.getCounts('simulations')} simulations. + This instance is hosting {this.getCounts('projects')} projects consisting of {this.getCounts('simulators')} simulators, {this.getCounts('dashboards')} dashboards and {this.getCounts('simulations')} simulations. A total of {this.getCounts('users')} users are registered.

*/} diff --git a/src/visualization/visualization-store.js b/src/dashboard/dashboard-store.js similarity index 83% rename from src/visualization/visualization-store.js rename to src/dashboard/dashboard-store.js index adadd2d..28bb9cb 100644 --- a/src/visualization/visualization-store.js +++ b/src/dashboard/dashboard-store.js @@ -1,5 +1,5 @@ /** - * File: visualization-store.js + * File: dashboard-store.js * Author: Markus Grigull * Date: 02.03.2017 * @@ -20,6 +20,6 @@ ******************************************************************************/ import ArrayStore from '../common/array-store'; -import VisualizationsDataManager from './visualizations-data-manager'; +import DashboardsDataManager from './dashboards-data-manager'; -export default new ArrayStore('visualizations', VisualizationsDataManager); +export default new ArrayStore('dashboards', DashboardsDataManager); diff --git a/src/visualization/visualization.js b/src/dashboard/dashboard.js similarity index 77% rename from src/visualization/visualization.js rename to src/dashboard/dashboard.js index 59ffbc1..1683bd3 100644 --- a/src/visualization/visualization.js +++ b/src/dashboard/dashboard.js @@ -1,5 +1,5 @@ /** - * File: visualization.js + * File: dashboard.js * Author: Markus Grigull * Date: 02.03.2017 * @@ -36,7 +36,7 @@ import EditWidget from '../widget/edit-widget'; import Grid from './grid'; import UserStore from '../user/user-store'; -import VisualizationStore from './visualization-store'; +import DashboardStore from './dashboard-store'; import ProjectStore from '../project/project-store'; import SimulationStore from '../simulation/simulation-store'; import SimulationModelStore from '../simulationmodel/simulation-model-store'; @@ -47,9 +47,9 @@ import NotificationsFactory from '../common/data-managers/notifications-factory' import 'react-contexify/dist/ReactContexify.min.css'; -class Visualization extends React.Component { +class Dashboard extends React.Component { static getStores() { - return [ VisualizationStore, ProjectStore, SimulationStore, SimulationModelStore, FileStore, UserStore ]; + return [ DashboardStore, ProjectStore, SimulationStore, SimulationModelStore, FileStore, UserStore ]; } static calculateState(prevState, props) { @@ -64,12 +64,12 @@ class Visualization extends React.Component { return { sessionToken: UserStore.getState().token, - visualizations: VisualizationStore.getState(), + dashboards: DashboardStore.getState(), projects: ProjectStore.getState(), simulations: SimulationStore.getState(), files: FileStore.getState(), - visualization: prevState.visualization || {}, + dashboard: prevState.dashboard || {}, project: prevState.project || null, simulation: prevState.simulation || null, simulationModels, @@ -92,7 +92,7 @@ class Visualization extends React.Component { //document.addEventListener('keydown', this.handleKeydown.bind(this)); AppDispatcher.dispatch({ - type: 'visualizations/start-load', + type: 'dashboards/start-load', token }); } @@ -102,14 +102,14 @@ class Visualization extends React.Component { } componentDidUpdate() { - if (this.state.visualization._id !== this.props.match.params.visualization) { - this.reloadVisualization(); + if (this.state.dashboard._id !== this.props.match.params.dashboard) { + this.reloadDashboard(); } // load depending project if (this.state.project == null && this.state.projects) { this.state.projects.forEach((project) => { - if (project._id === this.state.visualization.project) { + if (project._id === this.state.dashboard.project) { this.setState({ project: project, simulation: null }); const token = localStorage.getItem('token'); @@ -161,25 +161,25 @@ class Visualization extends React.Component { return Object.keys(widgets).map( (key) => widgets[key]); } - reloadVisualization() { - // select visualization by param id - this.state.visualizations.forEach((tempVisualization) => { - if (tempVisualization._id === this.props.match.params.visualization) { + reloadDashboard() { + // select dashboard by param id + this.state.dashboards.forEach((tempDashboard) => { + if (tempDashboard._id === this.props.match.params.dashboard) { // convert widgets list to a dictionary - var visualization = Object.assign({}, tempVisualization, { - widgets: tempVisualization.widgets ? this.transformToWidgetsDict(tempVisualization.widgets) : {} + var dashboard = Object.assign({}, tempDashboard, { + widgets: tempDashboard.widgets ? this.transformToWidgetsDict(tempDashboard.widgets) : {} }); - this.computeHeightWithWidgets(visualization.widgets); + this.computeHeightWithWidgets(dashboard.widgets); - this.setState({ visualization: visualization, project: null }); + this.setState({ dashboard: dashboard, project: null }); const token = localStorage.getItem('token'); AppDispatcher.dispatch({ type: 'projects/start-load', - data: visualization.project, + data: dashboard.project, token }); } @@ -187,9 +187,9 @@ class Visualization extends React.Component { } snapToGrid(value) { - if (this.state.visualization.grid === 1) return value; + if (this.state.dashboard.grid === 1) return value; - return Math.round(value / this.state.visualization.grid) * this.state.visualization.grid; + return Math.round(value / this.state.dashboard.grid) * this.state.dashboard.grid; } handleDrop(item, position) { @@ -210,17 +210,17 @@ class Visualization extends React.Component { // create new widget widget = WidgetFactory.createWidgetOfType(item.name, position, defaultSimulationModel); - var new_widgets = this.state.visualization.widgets; + var new_widgets = this.state.dashboard.widgets; var new_key = Object.keys(new_widgets).length; new_widgets[new_key] = widget; - var visualization = Object.assign({}, this.state.visualization, { + var dashboard = Object.assign({}, this.state.dashboard, { widgets: new_widgets }); this.increaseHeightWithWidget(widget); - this.setState({ visualization: visualization }); + this.setState({ dashboard: dashboard }); } widgetStatusChange(updated_widget, key) { @@ -231,17 +231,17 @@ class Visualization extends React.Component { widgetChange(updated_widget, key, callback = null) { var widgets_update = {}; widgets_update[key] = updated_widget; - var new_widgets = Object.assign({}, this.state.visualization.widgets, widgets_update); + var new_widgets = Object.assign({}, this.state.dashboard.widgets, widgets_update); - var visualization = Object.assign({}, this.state.visualization, { + var dashboard = Object.assign({}, this.state.dashboard, { widgets: new_widgets }); // Check if the height needs to be increased, the section may have shrunk if not if (!this.increaseHeightWithWidget(updated_widget)) { - this.computeHeightWithWidgets(visualization.widgets); + this.computeHeightWithWidgets(dashboard.widgets); } - this.setState({ visualization: visualization }, callback); + this.setState({ dashboard: dashboard }, callback); } /* @@ -279,7 +279,7 @@ class Visualization extends React.Component { } editWidget(e, data) { - this.setState({ editModal: true, modalData: this.state.visualization.widgets[data.key], modalIndex: data.key }); + this.setState({ editModal: true, modalData: this.state.dashboard.widgets[data.key], modalIndex: data.key }); } closeEdit(data) { @@ -288,24 +288,24 @@ class Visualization extends React.Component { var widgets_update = {}; widgets_update[this.state.modalIndex] = data; - var new_widgets = Object.assign({}, this.state.visualization.widgets, widgets_update); + var new_widgets = Object.assign({}, this.state.dashboard.widgets, widgets_update); - var visualization = Object.assign({}, this.state.visualization, { + var dashboard = Object.assign({}, this.state.dashboard, { widgets: new_widgets }); - this.setState({ editModal: false, visualization: visualization }); + this.setState({ editModal: false, dashboard: dashboard }); } else { this.setState({ editModal: false }); } } deleteWidget(e, data) { - delete this.state.visualization.widgets[data.key]; - var visualization = Object.assign({}, this.state.visualization, { - widgets: this.state.visualization.widgets + delete this.state.dashboard.widgets[data.key]; + var dashboard = Object.assign({}, this.state.dashboard, { + widgets: this.state.dashboard.widgets }); - this.setState({ visualization: visualization }); + this.setState({ dashboard: dashboard }); } stopEditing() { @@ -315,36 +315,36 @@ class Visualization extends React.Component { saveChanges() { // Transform to a list - var visualization = Object.assign({}, this.state.visualization, { - widgets: this.transformToWidgetsList(this.state.visualization.widgets) + var dashboard = Object.assign({}, this.state.dashboard, { + widgets: this.transformToWidgetsList(this.state.dashboard.widgets) }); const token = localStorage.getItem('token'); AppDispatcher.dispatch({ - type: 'visualizations/start-edit', - data: visualization, + type: 'dashboards/start-edit', + data: dashboard, token }); } discardChanges() { - this.setState({ editing: false, visualization: {} }); + this.setState({ editing: false, dashboard: {} }); - this.reloadVisualization(); + this.reloadDashboard(); } moveWidget(e, data, applyDirection) { - var widget = this.state.visualization.widgets[data.key]; + var widget = this.state.dashboard.widgets[data.key]; var updated_widgets = {}; updated_widgets[data.key] = applyDirection(widget); - var new_widgets = Object.assign({}, this.state.visualization.widgets, updated_widgets); + var new_widgets = Object.assign({}, this.state.dashboard.widgets, updated_widgets); - var visualization = Object.assign({}, this.state.visualization, { + var dashboard = Object.assign({}, this.state.dashboard, { widgets: new_widgets }); - this.setState({ visualization: visualization }); + this.setState({ dashboard: dashboard }); } moveAbove(widget) { @@ -380,39 +380,39 @@ class Visualization extends React.Component { value = 1; } - let visualization = Object.assign({}, this.state.visualization, { + let dashboard = Object.assign({}, this.state.dashboard, { grid: value }); - this.setState({ visualization }); + this.setState({ dashboard }); } lockWidget(data) { // lock the widget - let widget = this.state.visualization.widgets[data.key]; + let widget = this.state.dashboard.widgets[data.key]; widget.locked = true; - // update visualization + // update dashboard let widgets = {}; widgets[data.key] = widget; - widgets = Object.assign({}, this.state.visualization.widgets, widgets); + widgets = Object.assign({}, this.state.dashboard.widgets, widgets); - const visualization = Object.assign({}, this.state.visualization, { widgets }); - this.setState({ visualization }); + const dashboard = Object.assign({}, this.state.dashboard, { widgets }); + this.setState({ dashboard }); } unlockWidget(data) { // lock the widget - let widget = this.state.visualization.widgets[data.key]; + let widget = this.state.dashboard.widgets[data.key]; widget.locked = false; - // update visualization + // update dashboard let widgets = {}; widgets[data.key] = widget; - widgets = Object.assign({}, this.state.visualization.widgets, widgets); + widgets = Object.assign({}, this.state.dashboard.widgets, widgets); - const visualization = Object.assign({}, this.state.visualization, { widgets }); - this.setState({ visualization }); + const dashboard = Object.assign({}, this.state.dashboard, { widgets }); + this.setState({ dashboard }); } pauseData = () => { @@ -424,7 +424,7 @@ class Visualization extends React.Component { } render() { - const current_widgets = this.state.visualization.widgets; + const current_widgets = this.state.dashboard.widgets; let boxClasses = classNames('section', 'box', { 'fullscreen-container': this.props.isFullscreen }); @@ -437,8 +437,8 @@ class Visualization extends React.Component { buttons.push({ click: () => this.discardChanges(), icon: 'ban', text: 'Cancel' }); gridControl =
- Grid: {this.state.visualization.grid > 1 ? this.state.visualization.grid : 'Disabled'} - this.setGrid(value)} /> + Grid: {this.state.dashboard.grid > 1 ? this.state.dashboard.grid : 'Disabled'} + this.setGrid(value)} />
} @@ -464,7 +464,7 @@ class Visualization extends React.Component {
- {this.state.visualization.name} + {this.state.dashboard.name}
@@ -511,20 +511,20 @@ class Visualization extends React.Component { onWidgetStatusChange={(w, k) => this.widgetStatusChange(w, k)} editing={this.state.editing} index={widget_key} - grid={this.state.visualization.grid} + grid={this.state.dashboard.grid} paused={this.state.paused} /> ))} - + {current_widgets != null && Object.keys(current_widgets).map(widget_key => { const data = { key: widget_key }; - const locked = this.state.visualization.widgets[widget_key].locked; - const disabledMove = locked || this.state.visualization.widgets[widget_key].type === 'Box'; + const locked = this.state.dashboard.widgets[widget_key].locked; + const disabledMove = locked || this.state.dashboard.widgets[widget_key].type === 'Box'; return this.editWidget(e, data)}>Edit @@ -548,4 +548,4 @@ class Visualization extends React.Component { } let fluxContainerConverter = require('../common/FluxContainerConverter'); -export default Fullscreenable()(Container.create(fluxContainerConverter.convert(Visualization), { withProps: true })); +export default Fullscreenable()(Container.create(fluxContainerConverter.convert(Dashboard), { withProps: true })); diff --git a/src/visualization/visualizations-data-manager.js b/src/dashboard/dashboards-data-manager.js similarity index 89% rename from src/visualization/visualizations-data-manager.js rename to src/dashboard/dashboards-data-manager.js index ee12b3e..a39e017 100644 --- a/src/visualization/visualizations-data-manager.js +++ b/src/dashboard/dashboards-data-manager.js @@ -1,5 +1,5 @@ /** - * File: visualizations-data-manager.js + * File: dashboards-data-manager.js * Author: Markus Grigull * Date: 03.03.2017 * @@ -21,4 +21,4 @@ import RestDataManager from '../common/data-managers/rest-data-manager'; -export default new RestDataManager('visualization', '/visualizations'); +export default new RestDataManager('dashboard', '/dashboards'); diff --git a/src/visualization/dropzone.js b/src/dashboard/dropzone.js similarity index 100% rename from src/visualization/dropzone.js rename to src/dashboard/dropzone.js diff --git a/src/visualization/edit-visualization.js b/src/dashboard/edit-dashboard.js similarity index 84% rename from src/visualization/edit-visualization.js rename to src/dashboard/edit-dashboard.js index c8514c8..1e2fdd6 100644 --- a/src/visualization/edit-visualization.js +++ b/src/dashboard/edit-dashboard.js @@ -1,5 +1,5 @@ /** - * File: new-visualization.js + * File: new-dashboard.js * Author: Markus Grigull * Date: 03.03.2017 * @@ -24,7 +24,7 @@ import { FormGroup, FormControl, FormLabel } from 'react-bootstrap'; import Dialog from '../common/dialogs/dialog'; -class EditVisualizationDialog extends React.Component { +class EditDashboardDialog extends React.Component { valid: false; constructor(props) { @@ -52,8 +52,8 @@ class EditVisualizationDialog extends React.Component { resetState() { this.setState({ - name: this.props.visualization.name, - _id: this.props.visualization._id + name: this.props.dashboard.name, + _id: this.props.dashboard._id }); } @@ -75,7 +75,7 @@ class EditVisualizationDialog extends React.Component { render() { return ( - this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}> + this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}>
Name @@ -88,4 +88,4 @@ class EditVisualizationDialog extends React.Component { } } -export default EditVisualizationDialog; +export default EditDashboardDialog; diff --git a/src/visualization/grid.js b/src/dashboard/grid.js similarity index 100% rename from src/visualization/grid.js rename to src/dashboard/grid.js diff --git a/src/visualization/import-visualization.js b/src/dashboard/import-dashboard.js similarity index 85% rename from src/visualization/import-visualization.js rename to src/dashboard/import-dashboard.js index a833d70..8144193 100644 --- a/src/visualization/import-visualization.js +++ b/src/dashboard/import-dashboard.js @@ -24,7 +24,7 @@ import { FormGroup, FormControl, FormLabel } from 'react-bootstrap'; import Dialog from '../common/dialogs/dialog'; -class ImportVisualizationDialog extends React.Component { +class ImportDashboardDialog extends React.Component { valid = false; imported = false; @@ -69,14 +69,14 @@ class ImportVisualizationDialog extends React.Component { reader.onload = function(event) { // read simulator - const visualization = JSON.parse(event.target.result); + const dashboard = JSON.parse(event.target.result); let defaultSimulator = ""; if (self.props.simulation.models != null) { defaultSimulator = self.props.simulation.models[0].simulator; } - visualization.widgets.forEach(widget => { + dashboard.widgets.forEach(widget => { switch (widget.type) { case 'Value': case 'Plot': @@ -93,7 +93,7 @@ class ImportVisualizationDialog extends React.Component { self.imported = true; self.valid = true; - self.setState({ name: visualization.name, widgets: visualization.widgets, grid: visualization.grid }); + self.setState({ name: dashboard.name, widgets: dashboard.widgets, grid: dashboard.grid }); }; reader.readAsText(file); @@ -115,10 +115,10 @@ class ImportVisualizationDialog extends React.Component { render() { return ( - this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}> + this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}> - Visualization File + Dashboard File this.loadFile(e.target.files)} /> @@ -133,4 +133,4 @@ class ImportVisualizationDialog extends React.Component { } } -export default ImportVisualizationDialog; +export default ImportDashboardDialog; diff --git a/src/visualization/new-visualization.js b/src/dashboard/new-dashboard.js similarity index 91% rename from src/visualization/new-visualization.js rename to src/dashboard/new-dashboard.js index 5618c14..cbac2cb 100644 --- a/src/visualization/new-visualization.js +++ b/src/dashboard/new-dashboard.js @@ -1,5 +1,5 @@ /** - * File: new-visualization.js + * File: new-dashboard.js * Author: Markus Grigull * Date: 03.03.2017 * @@ -71,7 +71,7 @@ class NewVisualzationDialog extends React.Component { render() { return ( - this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}> + this.onClose(c)} onReset={() => this.resetState()} valid={this.valid}> Name diff --git a/src/visualization/toolbox-item.js b/src/dashboard/toolbox-item.js similarity index 100% rename from src/visualization/toolbox-item.js rename to src/dashboard/toolbox-item.js diff --git a/src/project/project.js b/src/project/project.js index 78679d7..f6c9530 100644 --- a/src/project/project.js +++ b/src/project/project.js @@ -27,21 +27,21 @@ import FileSaver from 'file-saver'; import AppDispatcher from '../common/app-dispatcher'; import ProjectStore from './project-store'; import UserStore from '../user/user-store'; -import VisualizationStore from '../visualization/visualization-store'; +import DashboardStore from '../dashboard/dashboard-store'; import SimulationStore from '../simulation/simulation-store'; import Icon from '../common/icon'; import CustomTable from '../common/table'; import TableColumn from '../common/table-column'; -import NewVisualzationDialog from '../visualization/new-visualization'; -import EditVisualizationDialog from '../visualization/edit-visualization'; -import ImportVisualizationDialog from '../visualization/import-visualization'; +import NewVisualzationDialog from '../dashboard/new-dashboard'; +import EditDashboardDialog from '../dashboard/edit-dashboard'; +import ImportDashboardDialog from '../dashboard/import-dashboard'; import DeleteDialog from '../common/dialogs/delete-dialog'; -class Visualizations extends Component { +class Dashboards extends Component { static getStores() { - return [ ProjectStore, VisualizationStore, UserStore, SimulationStore ]; + return [ ProjectStore, DashboardStore, UserStore, SimulationStore ]; } static calculateState(prevState, props) { @@ -68,15 +68,15 @@ class Visualizations extends Component { simulation = SimulationStore.getState().find(simulation => simulation._id === project.simulation); } - // load visualizations - let visualizations = []; + // load dashboards + let dashboards = []; - if (project.visualizations != null) { - visualizations = VisualizationStore.getState().filter(visualization => project.visualizations.includes(visualization._id)); + if (project.dashboards != null) { + dashboards = DashboardStore.getState().filter(dashboard => project.dashboards.includes(dashboard._id)); } return { - visualizations, + dashboards, project, simulation, sessionToken, @@ -91,7 +91,7 @@ class Visualizations extends Component { componentDidMount() { AppDispatcher.dispatch({ - type: 'visualizations/start-load', + type: 'dashboards/start-load', token: this.state.sessionToken }); @@ -105,11 +105,11 @@ class Visualizations extends Component { this.setState({ newModal: false }); if (data) { - // add project to visualization + // add project to dashboard data.project = this.state.project._id; AppDispatcher.dispatch({ - type: 'visualizations/start-add', + type: 'dashboards/start-add', data: data, token: this.state.sessionToken }); @@ -132,7 +132,7 @@ class Visualizations extends Component { } AppDispatcher.dispatch({ - type: 'visualizations/start-remove', + type: 'dashboards/start-remove', data: this.state.modalData, token: this.state.sessionToken }); @@ -143,7 +143,7 @@ class Visualizations extends Component { if (data) { AppDispatcher.dispatch({ - type: 'visualizations/start-edit', + type: 'dashboards/start-edit', data: data, token: this.state.sessionToken }); @@ -157,7 +157,7 @@ class Visualizations extends Component { data.project = this.state.project._id; AppDispatcher.dispatch({ - type: 'visualizations/start-add', + type: 'dashboards/start-add', data, token: this.state.sessionToken }); @@ -172,20 +172,20 @@ class Visualizations extends Component { } } - exportVisualization(index) { + exportDashboard(index) { // filter properties - let visualization = Object.assign({}, this.state.visualizations[index]); - delete visualization._id; - delete visualization.project; - delete visualization.user; + let dashboard = Object.assign({}, this.state.dashboards[index]); + delete dashboard._id; + delete dashboard.project; + delete dashboard.user; - visualization.widgets.forEach(widget => { + dashboard.widgets.forEach(widget => { delete widget.simulator; }); // show save dialog - const blob = new Blob([JSON.stringify(visualization, null, 2)], { type: 'application/json' }); - FileSaver.saveAs(blob, 'visualization - ' + visualization.name + '.json'); + const blob = new Blob([JSON.stringify(dashboard, null, 2)], { type: 'application/json' }); + FileSaver.saveAs(blob, 'dashboard - ' + dashboard.name + '.json'); } onModalKeyPress = (event) => { @@ -205,31 +205,31 @@ class Visualizations extends Component {

{this.state.project.name}

- - + + this.setState({ editModal: true, modalData: this.state.visualizations[index] })} - onDelete={(index) => this.setState({ deleteModal: true, modalData: this.state.visualizations[index] })} - onExport={index => this.exportVisualization(index)} + onEdit={(index) => this.setState({ editModal: true, modalData: this.state.dashboards[index] })} + onDelete={(index) => this.setState({ deleteModal: true, modalData: this.state.dashboards[index] })} + onExport={index => this.exportDashboard(index)} /> - + this.closeNewModal(data)} /> - this.closeEditModal(data)} visualization={this.state.modalData} /> - this.closeImportModal(data)} simulation={this.state.simulation} /> + this.closeEditModal(data)} dashboard={this.state.modalData} /> + this.closeImportModal(data)} simulation={this.state.simulation} /> - +
); } } let fluxContainerConverter = require('../common/FluxContainerConverter'); -export default Container.create(fluxContainerConverter.convert(Visualizations), {withProps: true}); +export default Container.create(fluxContainerConverter.convert(Dashboards), {withProps: true}); diff --git a/src/scenario/scenarios.js b/src/scenario/scenarios.js index ab6e173..5789e31 100644 --- a/src/scenario/scenarios.js +++ b/src/scenario/scenarios.js @@ -45,6 +45,7 @@ class Scenarios extends Component { static calculateState() { const scenarios = ScenarioStore.getState(); const sessionToken = UserStore.getState().token; + console.log(scenarios); return { scenarios, diff --git a/src/styles/app.css b/src/styles/app.css index 552f7ed..45e8557 100644 --- a/src/styles/app.css +++ b/src/styles/app.css @@ -216,7 +216,7 @@ body { } /** - * Visualizations + * Dashboards */ .fullscreen-container { padding: 10px; diff --git a/src/user/edit-own-user.js b/src/user/edit-own-user.js index 3ec5d23..bb37f50 100644 --- a/src/user/edit-own-user.js +++ b/src/user/edit-own-user.js @@ -60,7 +60,6 @@ class EditOwnUserDialog extends React.Component { handleChange(e) { let user = UserStore.getState().currentUser; - console.log("edit-own-user, handlechange methode called"); this.setState({ [e.target.id]: e.target.value }); // check all controls diff --git a/src/widget/widgets/topology.js b/src/widget/widgets/topology.js index c47b155..bd7c62a 100644 --- a/src/widget/widgets/topology.js +++ b/src/widget/widgets/topology.js @@ -86,7 +86,7 @@ class WidgetTopology extends React.Component { this.Viewer = null; this.state = { - visualizationState: 'initial' + dashboardState: 'initial' }; } @@ -108,13 +108,13 @@ class WidgetTopology extends React.Component { componentWillReceiveProps(nextProps) { const file = nextProps.files.find(file => file._id === nextProps.widget.file); // Ensure model is requested only once or a different was selected - if (this.props.widget.file !== nextProps.widget.file || (this.state.visualizationState === 'initial' && file)) { - this.setState({'visualizationState': 'loading' }); + if (this.props.widget.file !== nextProps.widget.file || (this.state.dashboardState === 'initial' && file)) { + this.setState({'dashboardState': 'loading' }); if (file) { fetch(new Request('/' + config.publicPathBase + file.path)) .then( response => { if (response.status === 200) { - this.setState({'visualizationState': 'ready' }); + this.setState({'dashboardState': 'ready' }); return response.text().then( contents => { if (this.svgElem) { let cimsvgInstance = new cimsvg(this.svgElem.current); @@ -135,7 +135,7 @@ class WidgetTopology extends React.Component { .catch(error => { console.error(error); this.setState({ - 'visualizationState': 'show_message', + 'dashboardState': 'show_message', 'message': 'Topology could not be loaded.'}); }); } @@ -143,7 +143,7 @@ class WidgetTopology extends React.Component { // No file has been selected if (!nextProps.widget.file) { this.setState({ - 'visualizationState': 'show_message', + 'dashboardState': 'show_message', 'message': 'Select a topology model first.'}); } } @@ -152,7 +152,7 @@ class WidgetTopology extends React.Component { render() { var markup = null; - switch(this.state.visualizationState) { + switch(this.state.dashboardState) { case 'loading': markup =
; break; case 'show_message':