Files
hawkbit/hawkbit-ui
Marcel Mager 11fa4469dd Replace server-side dnd validation with client-side validation: (#368)
* Replace server-side dnd validation with client-side validation:

Client-side validation means:
* Custom widgetset is used to introduce the client-side validation
* Accept-calculation is performed on client-side
* Drop-hints are calculated on client-side (show/hide)
* Row count decoration is calculated on client-side (multi-selection)
* Notification box is triggered from client-side

Beside the migration from server-side validation to client-side
validation there are few improvements:
* Improvement1: If drag is aborted outside the components by releasing
the mouse or the drag aborts by pressing the ESC key) -> drop area hints
are removed
* Improvement2: If multiple rows are selected in table, but drag is
performed on a non-selected single element from table -> the single
drag-element is not decorated with the row selection count
* Improvement3: Upload View: Component 'Drop files to upload' only
accepts files (and no drags from filter and software module component)

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Improve code quality

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Fix formatting of license headers

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Fix scopes and modifiers

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Externalize key-strings used for dnd-data transfer from server to client

Minor issues:
* improve naming schema of control variables (no more i-s)
* add final modifier

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Add license header

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>
2016-12-06 19:56:10 +01:00
..
2016-05-18 13:48:04 +02:00
2016-05-18 13:48:04 +02:00

hawkBit User Interface

The hawkBit user interface is based on the Vaadin and Vaadin-Spring framework and allows to manage software updates and large scale roll-outs via a user interface.

Debugging client-side code

Debug using SuperDevMode

The SuperDevMode can be used to debug client side code without any browser plugin.

Using SuperDevMode with chrome :

  • Add required maven dependencies
    • Add vaadin-client-compiler dependency
    • Add jetty dependencies (version : 8.1x)
  • Set redirect property in the AppWidgetSet.gwt.xml module descriptor as follows
    • < set-configuration-property name="devModeRedirectEnabled" value="true" />
  • Create launch configuration for the SuperDevMode
    • The main class to execute should be com.google.gwt.dev.codeserver.CodeServer.
    • Add fully-qualified class name of widgetset (org.eclipse.hawkbit.ui.AppWidgetSet) as parameter
  • Enable debug in chrome
    • Chrome inspector window ▸ Click on settings icon ▸ Scripts ▸ Enable source maps option
  • Run the SuperDevMode Code Server with the launch configuration created above
  • Open http://localhost:8080/UI/?debug .Click on "SuperDev" button in debug console (Alternatively can directly add ?superdevmode parameter to URL)
  • Widgetset is compiled and you can see the java code files loaded in 'Chrome inspector window ▸ Source tab'

Using SuperDevMode with Eclipse :