Skip to content

Custom view ​

A view is a reusable side / centre / bottom panel. Add one with a WebJar module under components/ui/view-<name>/.

Module layout ​

components/ui/view-<name>/
  pom.xml
  src/main/resources/META-INF/dirigible/view-<name>/
    <name>.html
    configs/
      <name>-view.js

View config ​

js
const viewData = {
    id: 'reports-summary',
    label: 'Summary',
    region: 'center',          // 'left' | 'center' | 'right' | 'bottom'
    lazyLoad: true,
    autoFocusTab: false,
    path: '/services/web/view-reports-summary/summary.html'
};
if (typeof exports !== 'undefined') {
    exports.getView = () => viewData;
}

Wire to a perspective ​

Inside the perspective's index.html, reference the view by id. The platform's layout engine reads the config and positions the view in the named region.

HTML ​

Use BlimpKit components throughout. See /help/extend/blimpkit-ui for the rules - no hard-coded colors, no custom CSS that replicates a BlimpKit utility class.

DialogHub ​

Never embed <bk-dialog> markup in a view. Instead use the platform's DialogHub API:

js
const dialogs = new DialogHub();
dialogs.showAlert({
    type: 'confirmation',
    title: 'Confirm',
    message: 'Delete this report?',
    buttons: [{ id: 'b1', label: 'Delete' }, { id: 'b2', label: 'Cancel' }]
});

Register with the group aggregator ​

Add the module to the matching components/group/group-*/pom.xml.

See also ​

Released under the EPL-2.0 License.