* 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>
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 :
- Install the plugin from http://sdbg.github.io/p2
- Start the server and Super Dev Mode as mentioned above
- Create a new launch configuration in Eclipse
- Type is "Launch Chrome"
- http://localhost:8080/UI/?superdevmode
- Launch the new configuration in debug mode
- Now breakpoints in eclipse can be set