org.bklab.flow.components.detailsdrawer.DetailsDrawerHeader Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fluent-vaadin-flow Show documentation
Show all versions of fluent-vaadin-flow Show documentation
Broderick Labs for fluent vaadin flow. Inherits common Vaadin components.
/*
* Copyright (c) 2008 - 2020. - Broderick Labs.
* Author: Broderick Johansson
* E-mail: [email protected]
* Modify date:2020-07-02 09:33:44
* _____________________________
* Project name: fluent-vaadin-flow
* Class name:org.bklab.flow.components.detailsdrawer.DetailsDrawerHeader
* Copyright (c) 2008 - 2020. - Broderick Labs.
*/
package org.bklab.flow.components.detailsdrawer;
import com.vaadin.flow.component.ClickEvent;
import com.vaadin.flow.component.ComponentEventListener;
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.html.Label;
import com.vaadin.flow.component.icon.VaadinIcon;
import com.vaadin.flow.component.orderedlayout.FlexComponent;
import com.vaadin.flow.component.orderedlayout.FlexLayout;
import com.vaadin.flow.component.tabs.Tabs;
import org.bklab.flow.layout.FlexBoxLayout;
import org.bklab.flow.layout.size.Horizontal;
import org.bklab.flow.layout.size.Right;
import org.bklab.flow.layout.size.Vertical;
import org.bklab.flow.util.lumo.BoxShadowBorders;
import org.bklab.flow.util.lumo.UIUtils;
public class DetailsDrawerHeader extends FlexBoxLayout {
private final Button close;
private final Label title;
public DetailsDrawerHeader(String title) {
addClassName(BoxShadowBorders.BOTTOM);
setFlexDirection(FlexLayout.FlexDirection.COLUMN);
setWidthFull();
this.close = UIUtils.createTertiaryInlineButton(VaadinIcon.CLOSE);
UIUtils.setLineHeight("1", this.close);
this.title = UIUtils.createH4Label(title);
FlexBoxLayout wrapper = new FlexBoxLayout(this.close, this.title);
wrapper.setAlignItems(FlexComponent.Alignment.CENTER);
wrapper.setPadding(Horizontal.RESPONSIVE_L, Vertical.M);
wrapper.setSpacing(Right.L);
add(wrapper);
}
public DetailsDrawerHeader(String title, Tabs tabs) {
this(title);
add(tabs);
}
public void setTitle(String title) {
this.title.setText(title);
}
public void addCloseListener(ComponentEventListener> listener) {
this.close.addClickListener(listener);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy