Skip to content

Geodashboard skeleton with text widget#2594

Merged
offtherailz merged 29 commits intogeosolutions-it:masterfrom
offtherailz:geodashboard
Feb 13, 2018
Merged

Geodashboard skeleton with text widget#2594
offtherailz merged 29 commits intogeosolutions-it:masterfrom
offtherailz:geodashboard

Conversation

@offtherailz
Copy link
Copy Markdown
Member

@offtherailz offtherailz commented Feb 9, 2018

Description

With this pull request we have a first skeleton of a geodashboard, to add features as for the mockup.
The dashboard is accessible at #dashboard of the demo and supports charts and text widgets.

Issues

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (check one with "x", remove the others)

  • Feature
    Does this PR introduce a breaking change? (check one with "x", remove the other)

  • No

Other information:
This pull request contain many changes so a small guide can be useful for the review:
general:

  • Introduced a localizeProps enhancer that allows to replace a msgId string with the localized string in props (for some components that need strings and not messages, like the input placeholder
  • Reorganized loaders a little bit to have the reusable tools as for the mockup.
  • Introduced some enhancers for infinite scroll (for catalog inside widget builder)
    widgets builder:
  • Enhancers and components that can be reused in any other future wizard of the current widget bulder (e.g. map, table, counter...)
  • Added some enhancer for the widget builder to select the widget type (and in case of chart the target layer) before to start the wizard. This way the wizards can be reused
    catalog (for widget builder):
  • Introduced a first reusable catalog that should replace the existing one in the future. This has been done by extracting some features from current catalog component into utility functions and using the above enhancers.
    page layout:
  • Added a HolyGrail plugin container that allow to render plugins in a borderlayout, so the plugins can be rendered into different areas via configuration. This is needed for the current dashboard and the future new home page
  • Added the text widget
  • Created the dashboard on top of all the changes above.

 - Support for shared state for widgets and widget builder
 - Auto recognize if a layer is selected to prompt catalog for layer's choice
 - Catalog selector (WIP)
 - Notification for layer selected that doesn't allow the charts
 - localizedProps enhancer
 - Retrieve wms describelayer and add wfs url
 - Improved wizard style (catalog)
 - small bugfixes/adjustments
 - Some improvements to the catalog
 - Reorganized loading spinners and views
() => ({
glyph: "dashboard",
title: "The dashboard is empty" // TODO i18n
})
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

todo i18n

@geosolutions-it geosolutions-it deleted a comment from coveralls Feb 9, 2018
@mbarto mbarto changed the title Geodashboard scheleton with text widget Geodashboard skeleton with text widget Feb 9, 2018
@@ -0,0 +1,8 @@
const SET_EDITOR_AVAILABLE = "DASHBOARD:SET_AVAILABLE";
const SET_EDITING = "DASHBOARD:SET_EDITOR_AVAILABLE";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SET_EDITING, not SET_EDITOR_AVAILABLE

*/
const {compose} = require('recompose');
const deleteWidget = require('./deleteWidget');
module.exports = compose(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

???

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, compose only one enhancer is unnecessary

monitoredState: PluginsUtils.getMonitoredState(state, ConfigUtils.getConfigProp('monitorState'))
}))(require('../components/plugins/PluginsContainer'));

class HolyGrail extends React.Component {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HolyGrail?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mbarto
Copy link
Copy Markdown
Contributor

mbarto commented Feb 9, 2018

In general, it looks difficult to review such big PRs

@offtherailz
Copy link
Copy Markdown
Member Author

Yes I know is a little hard, but I had to reorganize a lot of file to do that. Please take a look to the P.R. information to get the points you can focus on.

@geosolutions-it geosolutions-it deleted a comment Feb 12, 2018
 - Add translations for empty dashboard
 - Fixed test that fail
 - Fixed wrong constant strings
 - clean up of the text widget
@geosolutions-it geosolutions-it deleted a comment Feb 12, 2018
@geosolutions-it geosolutions-it deleted a comment Feb 12, 2018
@offtherailz offtherailz merged commit 36d1594 into geosolutions-it:master Feb 13, 2018
@geosolutions-it geosolutions-it deleted a comment Feb 13, 2018
@offtherailz offtherailz deleted the geodashboard branch February 18, 2020 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add geodashboard skeleton Introduce text widget

4 participants