Blended Management UI
This project contains the Scala.js project implementing a management console that can be used as a client to a blended container hosting the blended management REST Api.
The overall project contains several subprojects:
contains reusable objects which may be of use in any Scala.js/react4s application such as a simple logger and internationalization support.
contains reusable higher level React components, such as a ReactTable.
contains a simple generator which reads the
files of Material-UI React and generates simple Scala.js wrappers to use those components in Scala.js / react4s.
uses the generated components and is the place to enrich the Material-API manually to make it more Scala-ish. For now the manual code is around customizing the styles used in Material-Ui-React-Components.
is essentially taken from https://github.com/werk/router4s with some more options for variable paths and some test cases. Once the management console reaches it’s final stages the changes will be contributed back to the original project.
contains the actual management console.
contains a sample application that can be used as a playground to test out React Components without breaking the management console. Over time this subproject will become obsolete.
contains the setup for testing the management console with Selenium. For now it just has a very simple test and the setup. The test performs tests on the management console built wih
and requires the SeleniumDriver for Chrome to be set up correctly. Test can be executed from the command line with
The fastest way to build the management console ist to run
. This will build everything into the directory
The console can be displayed in a browser by opening
from that directory within a browser.
Alternatively, a webpack dev server can be started with
. This will run a node server on port 9000 hosting the management console.
The management console requires a running management container hosting the REST- and WebSocket API to connect to.
All web ui projects implicitly define a bundle that can be hosted by a blended container with Akka HTTP support. For example, the web bundle for the
can be publish to the local ivy directory with
. This will run webpack on the web application, generate an
, generate an activator compatible with blended’s Akka HTTP suport and finally publish everything as an OSGi bundle.
to execute all Unit- and Selenium-Tests.
to publish all relevant artifacts in the local Ivy repository. This is required to use the server bundle in a management container packaging.