Search in sources :

Example 36 with Label

use of org.apache.wicket.markup.html.basic.Label in project midpoint by Evolveum.

the class SampleFormFocusTabPanel method initLayout.

private void initLayout(final LoadableModel<ObjectWrapper<F>> focusModel, LoadableModel<List<AssignmentEditorDto>> assignmentsModel, PageBase pageBase) {
    add(new Label(ID_HEADER, "Object details"));
    WebMarkupContainer body = new WebMarkupContainer("body");
    add(body);
    addPrismPropertyPanel(body, ID_PROP_NAME, FocusType.F_NAME);
    addPrismPropertyPanel(body, ID_PROP_FULL_NAME, UserType.F_FULL_NAME);
    // TODO: create proxy for these operations
    Task task = pageBase.createSimpleTask(OPERATION_SEARCH_ROLES);
    List<PrismObject<RoleType>> availableRoles;
    try {
        availableRoles = pageBase.getModelService().searchObjects(RoleType.class, null, null, task, task.getResult());
    } catch (SchemaException | ObjectNotFoundException | SecurityViolationException | CommunicationException | ConfigurationException | ExpressionEvaluationException e) {
        task.getResult().recordFatalError(e);
        LoggingUtils.logUnexpectedException(LOGGER, "Couldn't load roles", e);
        availableRoles = new ArrayList<>();
    // TODO: better errror reporting
    }
    add(new SimpleRoleSelector<F, RoleType>(ID_ROLES, assignmentsModel, availableRoles));
}
Also used : SchemaException(com.evolveum.midpoint.util.exception.SchemaException) Task(com.evolveum.midpoint.task.api.Task) ExpressionEvaluationException(com.evolveum.midpoint.util.exception.ExpressionEvaluationException) SecurityViolationException(com.evolveum.midpoint.util.exception.SecurityViolationException) CommunicationException(com.evolveum.midpoint.util.exception.CommunicationException) RoleType(com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType) Label(org.apache.wicket.markup.html.basic.Label) ArrayList(java.util.ArrayList) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) PrismObject(com.evolveum.midpoint.prism.PrismObject) ConfigurationException(com.evolveum.midpoint.util.exception.ConfigurationException) ObjectNotFoundException(com.evolveum.midpoint.util.exception.ObjectNotFoundException)

Example 37 with Label

use of org.apache.wicket.markup.html.basic.Label in project midpoint by Evolveum.

the class ScannerHandlerPanel method initLayout.

private void initLayout() {
    WebMarkupContainer lastScanTimestampContainer = new WebMarkupContainer(ID_LAST_SCAN_TIMESTAMP_CONTAINER);
    //		lastScanTimestampContainer.add(new VisibleEnableBehaviour() {
    //			@Override
    //			public boolean isVisible() {
    //				return getModelObject().getTaskDto().getObjectRefOid() != null;
    //			}
    //		});
    lastScanTimestampContainer.add(new Label(ID_LAST_SCAN_TIMESTAMP, new PropertyModel<>(getModel(), ScannerHandlerDto.F_LAST_SCAN_TIMESTAMP)));
    add(lastScanTimestampContainer);
}
Also used : Label(org.apache.wicket.markup.html.basic.Label) PropertyModel(org.apache.wicket.model.PropertyModel) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer)

Example 38 with Label

use of org.apache.wicket.markup.html.basic.Label in project midpoint by Evolveum.

the class AbstractRoleMemberPanel method createMembersColumns.

protected List<IColumn<SelectableBean<ObjectType>, String>> createMembersColumns() {
    List<IColumn<SelectableBean<ObjectType>, String>> columns = new ArrayList<>();
    IColumn<SelectableBean<ObjectType>, String> column = new AbstractExportableColumn<SelectableBean<ObjectType>, String>(createStringResource("TreeTablePanel.fullName.displayName")) {

        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<SelectableBean<ObjectType>>> cellItem, String componentId, IModel<SelectableBean<ObjectType>> rowModel) {
            SelectableBean<ObjectType> bean = rowModel.getObject();
            ObjectType object = bean.getValue();
            cellItem.add(new Label(componentId, getMemberObjectDisplayName(object)));
        }

        @Override
        public IModel<String> getDataModel(IModel<SelectableBean<ObjectType>> rowModel) {
            return Model.of(getMemberObjectDisplayName(rowModel.getObject().getValue()));
        }
    };
    columns.add(column);
    column = new AbstractExportableColumn<SelectableBean<ObjectType>, String>(createStringResource("TreeTablePanel.identifier.description")) {

        private static final long serialVersionUID = 1L;

        @Override
        public void populateItem(Item<ICellPopulator<SelectableBean<ObjectType>>> cellItem, String componentId, IModel<SelectableBean<ObjectType>> rowModel) {
            SelectableBean<ObjectType> bean = rowModel.getObject();
            ObjectType object = bean.getValue();
            cellItem.add(new Label(componentId, getMemberObjectIdentifier(object)));
        }

        @Override
        public IModel<String> getDataModel(IModel<SelectableBean<ObjectType>> rowModel) {
            return Model.of(getMemberObjectIdentifier(rowModel.getObject().getValue()));
        }
    };
    columns.add(column);
    return columns;
}
Also used : IModel(org.apache.wicket.model.IModel) AbstractExportableColumn(org.apache.wicket.extensions.markup.html.repeater.data.table.export.AbstractExportableColumn) ArrayList(java.util.ArrayList) Label(org.apache.wicket.markup.html.basic.Label) ICellPopulator(org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator) ObjectType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType) Item(org.apache.wicket.markup.repeater.Item) InlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem) IColumn(org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn) SelectableBean(com.evolveum.midpoint.web.component.util.SelectableBean)

Example 39 with Label

use of org.apache.wicket.markup.html.basic.Label in project midpoint by Evolveum.

the class PageUsers method initColumns.

private List<IColumn<SelectableBean<UserType>, String>> initColumns() {
    List<IColumn<SelectableBean<UserType>, String>> columns = new ArrayList<IColumn<SelectableBean<UserType>, String>>();
    IColumn<SelectableBean<UserType>, String> column = new PropertyColumn(createStringResource("UserType.givenName"), UserType.F_GIVEN_NAME.getLocalPart(), SelectableBean.F_VALUE + ".givenName");
    columns.add(column);
    column = new PropertyColumn(createStringResource("UserType.familyName"), UserType.F_FAMILY_NAME.getLocalPart(), SelectableBean.F_VALUE + ".familyName");
    columns.add(column);
    column = new PropertyColumn(createStringResource("UserType.fullName"), UserType.F_FULL_NAME.getLocalPart(), SelectableBean.F_VALUE + ".fullName");
    columns.add(column);
    column = new PropertyColumn(createStringResource("UserType.emailAddress"), null, SelectableBean.F_VALUE + ".emailAddress");
    columns.add(column);
    column = new AbstractExportableColumn<SelectableBean<UserType>, String>(createStringResource("pageUsers.accounts")) {

        @Override
        public void populateItem(Item<ICellPopulator<SelectableBean<UserType>>> cellItem, String componentId, IModel<SelectableBean<UserType>> model) {
            cellItem.add(new Label(componentId, model.getObject().getValue() != null ? model.getObject().getValue().getLinkRef().size() : null));
        }

        @Override
        public IModel<String> getDataModel(IModel<SelectableBean<UserType>> rowModel) {
            return Model.of(rowModel.getObject().getValue() != null ? Integer.toString(rowModel.getObject().getValue().getLinkRef().size()) : "");
        }
    };
    columns.add(column);
    return columns;
}
Also used : IModel(org.apache.wicket.model.IModel) PropertyColumn(org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn) ArrayList(java.util.ArrayList) Label(org.apache.wicket.markup.html.basic.Label) ICellPopulator(org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator) IColumn(org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn) SelectableBean(com.evolveum.midpoint.web.component.util.SelectableBean)

Example 40 with Label

use of org.apache.wicket.markup.html.basic.Label in project hale by halestudio.

the class BasePage method addControls.

/**
 * Add page controls
 *
 * @param loggedIn if a user is logged in
 */
protected void addControls(boolean loggedIn) {
    add(new HtmlTag("html"));
    add(new OptimizedMobileViewportMetaTag("viewport"));
    add(new ChromeFrameMetaTag("chrome-frame"));
    // enable theme switching
    add(new BootstrapBaseBehavior());
    // set link to home page
    WebApplication app = (WebApplication) this.getApplication();
    // set application title & determine if login page is enabled
    String applicationTitle = BaseWebApplication.DEFAULT_TITLE;
    boolean loginEnabled = false;
    if (app instanceof BaseWebApplication) {
        BaseWebApplication bwa = (BaseWebApplication) app;
        applicationTitle = bwa.getMainTitle();
        loginEnabled = bwa.getLoginPageClass() != null;
    }
    String pageTitle = applicationTitle.replace("-", "&raquo;");
    // Label applicatonTitleLabel = new Label("base-application-title", applicationTitle);
    // applicatonTitleLabel.setEscapeModelStrings(false);
    // add(applicatonTitleLabel);
    // get specific page title
    PageDescription anno = getClass().getAnnotation(PageDescription.class);
    if (anno != null && anno.title() != null) {
        pageTitle = pageTitle + " &raquo " + anno.title();
    }
    Label pageTitleLabel = new Label("base-page-title", pageTitle);
    pageTitleLabel.setEscapeModelStrings(false);
    add(pageTitleLabel);
    // create navigation bar
    this.navbar = new Navbar("navbar");
    add(navbar);
    navbar.setPosition(Position.TOP);
    // navbar.setBrandImage(new PackageResourceReference(BasePage.class, "graphics/logo.png"),
    // Model.<String> of());
    navbar.brandName(Model.of(applicationTitle));
    navbar.setInverted(true);
    if (loginEnabled) {
        if (!loggedIn) {
            // login link
            NavbarButton<Void> loginButton = new NavbarButton<>(((BaseWebApplication) app).getLoginPageClass(), Model.of("Login"));
            navbar.addComponents(NavbarComponents.transform(ComponentPosition.RIGHT, loginButton));
        } else {
            // logout link
            String logoutUrl = ((WebApplication) getApplication()).getServletContext().getContextPath() + "/j_spring_security_logout";
            NavbarExternalLink logoutLink = new NavbarExternalLink(logoutUrl, "Logout");
            logoutLink.setIconType(IconType.off);
            logoutLink.setInverted(true);
            // user settings
            NavbarButton<Void> userButton = new NavbarButton<Void>(UserSettingsPage.class, Model.of(UserUtil.getUserName(null)));
            if (UserUtil.isAdmin()) {
                userButton.setIconType(IconType.star);
            } else {
                userButton.setIconType(IconType.user);
            }
            /*
				 * XXX instead of getting the user name each time from DB, store
				 * it somewhere?
				 */
            navbar.addComponents(NavbarComponents.transform(ComponentPosition.RIGHT, userButton, logoutLink));
        }
    }
    // breadcrumbs
    if (Boolean.parseBoolean(System.getProperty("hale.webapp.breadcrumbs", "false"))) {
        add(new SimpleBreadcrumbPanel("breadcrumb", this.getClass(), "Home", "/"));
    } else {
        add(new WebMarkupContainer("breadcrumb"));
    }
    // about
    add(new BookmarkablePageLink<>("about", AboutPage.class));
    // contact
    add(new BookmarkablePageLink<>("contact", ContactPage.class));
    if (app instanceof BaseWebApplication) {
        BaseWebApplication bwa = (BaseWebApplication) app;
        bwa.addNavBarExtras(navbar, loggedIn);
    }
}
Also used : ChromeFrameMetaTag(de.agilecoders.wicket.core.markup.html.bootstrap.html.ChromeFrameMetaTag) Label(org.apache.wicket.markup.html.basic.Label) OptimizedMobileViewportMetaTag(de.agilecoders.wicket.core.markup.html.bootstrap.html.OptimizedMobileViewportMetaTag) HtmlTag(de.agilecoders.wicket.core.markup.html.bootstrap.html.HtmlTag) PageDescription(eu.esdihumboldt.hale.server.webapp.util.PageDescription) NavbarExternalLink(eu.esdihumboldt.hale.server.webapp.components.bootstrap.NavbarExternalLink) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) SimpleBreadcrumbPanel(eu.esdihumboldt.hale.server.webapp.components.SimpleBreadcrumbPanel) NavbarButton(de.agilecoders.wicket.core.markup.html.bootstrap.navbar.NavbarButton) BootstrapBaseBehavior(de.agilecoders.wicket.core.markup.html.bootstrap.behavior.BootstrapBaseBehavior) Navbar(de.agilecoders.wicket.core.markup.html.bootstrap.navbar.Navbar) BaseWebApplication(eu.esdihumboldt.hale.server.webapp.BaseWebApplication) WebApplication(org.apache.wicket.protocol.http.WebApplication) BaseWebApplication(eu.esdihumboldt.hale.server.webapp.BaseWebApplication)

Aggregations

Label (org.apache.wicket.markup.html.basic.Label)519 WebMarkupContainer (org.apache.wicket.markup.html.WebMarkupContainer)189 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)181 VisibleEnableBehaviour (com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour)121 IModel (org.apache.wicket.model.IModel)116 ListItem (org.apache.wicket.markup.html.list.ListItem)84 ListView (org.apache.wicket.markup.html.list.ListView)70 ArrayList (java.util.ArrayList)68 AjaxLink (org.apache.wicket.ajax.markup.html.AjaxLink)65 PropertyModel (org.apache.wicket.model.PropertyModel)61 Test (org.junit.Test)56 List (java.util.List)51 InfoTooltipBehavior (com.evolveum.midpoint.web.util.InfoTooltipBehavior)47 VisibleBehaviour (com.evolveum.midpoint.web.component.util.VisibleBehaviour)46 IColumn (org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn)41 Model (org.apache.wicket.model.Model)36 Item (org.apache.wicket.markup.repeater.Item)35 AttributeAppender (org.apache.wicket.behavior.AttributeAppender)34 AttributeModifier (org.apache.wicket.AttributeModifier)32 Component (org.apache.wicket.Component)30