Search in sources :

Example 16 with Anchor

use of org.gwtbootstrap3.client.ui.Anchor in project ovirt-engine by oVirt.

the class NotificationListWidget method setInternalRowData.

private void setInternalRowData(int start, List<? extends AuditLog> values) {
    // Compare the new values with the ones currently displayed, if no changes, don't refresh.
    if (values != null && !valuesEquals(values)) {
        rowCount = values.size();
        boolean collapsed = checkIfCollapsed();
        currentValues = values;
        content.clear();
        eventPanelHeading = new PanelHeader();
        Heading titleHeading = new Heading(HeadingSize.H4);
        titleHeading.addStyleName(PatternflyConstants.PF_PANEL_TITLE);
        titleAnchor = new Anchor(hashString(thisWidgetId));
        titleAnchor.setDataParent(hashString(parentWidgetId));
        titleAnchor.setDataTarget(hashString(thisWidgetId));
        titleAnchor.setDataToggle(this.toggle);
        titleAnchor.setText(this.title);
        titleAnchor.addClickHandler(e -> e.preventDefault());
        if (collapsed) {
            titleAnchor.addStyleName(PatternflyConstants.COLLAPSED);
        }
        titleHeading.add(titleAnchor);
        eventPanelHeading.add(titleHeading);
        content.add(eventPanelHeading);
        PanelCollapse eventCollapse = new PanelCollapse();
        eventCollapse.setId(thisWidgetId);
        eventPanelBody = new PanelBody();
        if (this.containerHeight > 0) {
            eventPanelBody.getElement().getStyle().setProperty(MAX_HEIGHT, containerHeight + Unit.PX.getType());
            eventPanelBody.getElement().getStyle().setOverflowY(Overflow.AUTO);
        }
        eventCollapse.add(eventPanelBody);
        if (collapsed) {
            eventCollapse.getElement().setAttribute(ARIA_EXPANDED, String.valueOf(false));
            eventCollapse.getElement().getStyle().setHeight(0, Unit.PX);
        } else {
            eventCollapse.getElement().setAttribute(ARIA_EXPANDED, String.valueOf(true));
            eventCollapse.addStyleName(Styles.IN);
        }
        content.add(eventCollapse);
        for (final AuditLog auditLog : values) {
            DrawerNotification notification = new DrawerNotification(auditLog);
            for (int i = 0; i < actionLabels.size(); i++) {
                final int index = i;
                ActionAnchorListItem listItem = new ActionAnchorListItem(actionLabels.get(index));
                listItem.addClickHandler(e -> auditLogActions.get(index).executeCommand(actionCommand.get(index), auditLog));
                notification.addActionButton(listItem);
            }
            eventPanelBody.add(notification);
        }
        if (clearAllActionLabel != null) {
            actionPanel = new FlowPanel();
            actionPanel.addStyleName(PatternflyConstants.PF_DRAWER_ACTION);
            eventCollapse.add(actionPanel);
            Button clearAllbutton = new Button(clearAllActionLabel);
            clearAllbutton.addStyleName(BTN_LINK);
            clearAllbutton.addStyleName(Styles.BTN_BLOCK);
            clearAllbutton.removeStyleName(BTN_DEFAULT);
            clearAllbutton.addClickHandler(event -> clearAllActionCallback.executeCommand(clearAllActionCommand, null));
            actionPanel.add(clearAllbutton);
            Button restoreAllbutton = new Button(restoreAllActionLabel);
            restoreAllbutton.addStyleName(BTN_LINK);
            restoreAllbutton.addStyleName(Styles.BTN_BLOCK);
            restoreAllbutton.removeStyleName(BTN_DEFAULT);
            restoreAllbutton.addClickHandler(event -> restoreAllActionCallback.executeCommand(restoreAllActionCommand, null));
            actionPanel.add(restoreAllbutton);
        }
    }
}
Also used : ActionAnchorListItem(org.ovirt.engine.ui.common.widget.action.ActionAnchorListItem) Heading(org.gwtbootstrap3.client.ui.Heading) Anchor(org.gwtbootstrap3.client.ui.Anchor) PanelHeader(org.gwtbootstrap3.client.ui.PanelHeader) Button(org.gwtbootstrap3.client.ui.Button) FlowPanel(com.google.gwt.user.client.ui.FlowPanel) PanelBody(org.gwtbootstrap3.client.ui.PanelBody) PanelCollapse(org.gwtbootstrap3.client.ui.PanelCollapse) AuditLog(org.ovirt.engine.core.common.businessentities.AuditLog)

Aggregations

Anchor (org.gwtbootstrap3.client.ui.Anchor)14 Span (org.gwtbootstrap3.client.ui.html.Span)5 ListGroupItem (org.gwtbootstrap3.client.ui.ListGroupItem)4 ClickEvent (com.google.gwt.event.dom.client.ClickEvent)3 ClickHandler (com.google.gwt.event.dom.client.ClickHandler)3 FlowPanel (com.google.gwt.user.client.ui.FlowPanel)3 Button (org.gwtbootstrap3.client.ui.Button)2 Heading (org.gwtbootstrap3.client.ui.Heading)2 IsWidget (com.google.gwt.user.client.ui.IsWidget)1 Widget (com.google.gwt.user.client.ui.Widget)1 Icon (org.gwtbootstrap3.client.ui.Icon)1 ListGroup (org.gwtbootstrap3.client.ui.ListGroup)1 ListItem (org.gwtbootstrap3.client.ui.ListItem)1 PanelBody (org.gwtbootstrap3.client.ui.PanelBody)1 PanelCollapse (org.gwtbootstrap3.client.ui.PanelCollapse)1 PanelHeader (org.gwtbootstrap3.client.ui.PanelHeader)1 Tooltip (org.gwtbootstrap3.client.ui.Tooltip)1 Div (org.gwtbootstrap3.client.ui.html.Div)1 Paragraph (org.gwtbootstrap3.client.ui.html.Paragraph)1 AuditLog (org.ovirt.engine.core.common.businessentities.AuditLog)1