Search in sources :

Example 46 with ListView

use of org.apache.wicket.markup.html.list.ListView in project midpoint by Evolveum.

the class RunReportPopupPanel method initLayout.

protected void initLayout() {
    Form<?> mainForm = new Form<>(ID_MAIN_FORM);
    add(mainForm);
    ListView<JasperReportParameterDto> paramListView = new ListView<JasperReportParameterDto>(ID_PARAMETERS, new PropertyModel<>(reportModel, "jasperReportDto.parameters")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<JasperReportParameterDto> paramItem) {
            paramItem.add(createParameterPanel(paramItem.getModel()));
        }
    };
    paramListView.setOutputMarkupId(true);
    mainForm.add(paramListView);
    AjaxSubmitButton addButton = new AjaxSubmitButton(ID_RUN, createStringResource("runReportPopupContent.button.run")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            runConfirmPerformed(target, reportModel);
        }
    };
    mainForm.add(addButton);
}
Also used : AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) AjaxSubmitButton(com.evolveum.midpoint.web.component.AjaxSubmitButton) ListView(org.apache.wicket.markup.html.list.ListView) Form(org.apache.wicket.markup.html.form.Form) ListItem(org.apache.wicket.markup.html.list.ListItem) JasperReportParameterDto(com.evolveum.midpoint.web.page.admin.reports.dto.JasperReportParameterDto)

Example 47 with ListView

use of org.apache.wicket.markup.html.list.ListView in project midpoint by Evolveum.

the class RunReportPopupPanel method createParameterPanel.

private WebMarkupContainer createParameterPanel(final IModel<JasperReportParameterDto> parameterModel) {
    WebMarkupContainer paramPanel = new WebMarkupContainer("paramPanel");
    paramPanel.setOutputMarkupId(true);
    String paramValue = new PropertyModel<String>(parameterModel, "name").getObject();
    StringResourceModel paramDisplay = PageBase.createStringResourceStatic(RunReportPopupPanel.this, "runReportPopupContent.param.name." + paramValue, new Object[] {});
    // use display name rather than property name
    paramPanel.add(new Label("name", paramDisplay));
    String paramClass = new PropertyModel<String>(parameterModel, "nestedTypeAsString").getObject();
    if (StringUtils.isBlank(paramClass)) {
        paramClass = new PropertyModel<String>(parameterModel, "typeAsString").getObject();
    }
    paramClass = paramClass == null ? "" : paramClass.substring(paramClass.lastIndexOf(".") + 1);
    paramPanel.add(new Label("type", paramClass));
    ListView<JasperReportValueDto> listView = new ListView<JasperReportValueDto>(ID_VALUE_LIST, new PropertyModel<>(parameterModel, "value")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<JasperReportValueDto> item) {
            item.add(createInputMarkup(item.getModel(), parameterModel.getObject()));
        }
    };
    listView.setOutputMarkupId(true);
    paramPanel.add(listView);
    return paramPanel;
}
Also used : JasperReportValueDto(com.evolveum.midpoint.web.page.admin.reports.dto.JasperReportValueDto) ListView(org.apache.wicket.markup.html.list.ListView) Label(org.apache.wicket.markup.html.basic.Label) LookupPropertyModel(com.evolveum.midpoint.web.model.LookupPropertyModel) PropertyModel(org.apache.wicket.model.PropertyModel) PolyString(com.evolveum.midpoint.prism.polystring.PolyString) ListItem(org.apache.wicket.markup.html.list.ListItem) StringResourceModel(org.apache.wicket.model.StringResourceModel) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer)

Example 48 with ListView

use of org.apache.wicket.markup.html.list.ListView in project midpoint by Evolveum.

the class PrismPropertyPanel method initLayout.

private void initLayout(final IModel<IW> model, final Form form) {
    WebMarkupContainer labelContainer = new WebMarkupContainer(ID_LABEL_CONTAINER);
    labelContainer.setOutputMarkupId(true);
    labelContainer.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return labelContainerVisible;
        }
    });
    add(labelContainer);
    final IModel<String> label = createDisplayName(model);
    labelContainer.add(new Label(ID_LABEL, label));
    final IModel<String> helpText = new LoadableModel<String>(false) {

        private static final long serialVersionUID = 1L;

        @Override
        protected String load() {
            return loadHelpText(model);
        }
    };
    Label help = new Label(ID_HELP);
    help.add(AttributeModifier.replace("title", helpText));
    help.add(new InfoTooltipBehavior());
    help.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return StringUtils.isNotEmpty(helpText.getObject());
        }
    });
    labelContainer.add(help);
    WebMarkupContainer required = new WebMarkupContainer("required");
    required.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            IW wrapper = model.getObject();
            ItemDefinition def = wrapper.getItemDefinition();
            if (ObjectType.F_NAME.equals(def.getName())) {
                //fix for "name as required" MID-789
                return true;
            }
            return def.isMandatory();
        }
    });
    labelContainer.add(required);
    WebMarkupContainer hasOutbound = new WebMarkupContainer("hasOutbound");
    hasOutbound.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return hasOutbound(model);
        }
    });
    labelContainer.add(hasOutbound);
    WebMarkupContainer hasPendingModification = new WebMarkupContainer(ID_HAS_PENDING_MODIFICATION);
    hasPendingModification.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return hasPendingModification(model);
        }
    });
    labelContainer.add(hasPendingModification);
    ListView<ValueWrapper> values = new ListView<ValueWrapper>("values", new PropertyModel<List<ValueWrapper>>(model, "values")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<ValueWrapper> item) {
            PrismValuePanel panel = new PrismValuePanel("value", item.getModel(), label, form, getValueCssClass(), getInputCssClass(), pageBase);
            item.add(panel);
            item.add(AttributeModifier.append("class", createStyleClassModel(item.getModel())));
            item.add(new VisibleEnableBehaviour() {

                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return isVisibleValue(item.getModel());
                }
            });
        }
    };
    values.add(new AttributeModifier("class", getValuesClass()));
    values.setReuseItems(true);
    add(values);
}
Also used : Label(org.apache.wicket.markup.html.basic.Label) AttributeModifier(org.apache.wicket.AttributeModifier) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) InfoTooltipBehavior(com.evolveum.midpoint.web.util.InfoTooltipBehavior) ListView(org.apache.wicket.markup.html.list.ListView) LoadableModel(com.evolveum.midpoint.gui.api.model.LoadableModel) List(java.util.List) VisibleEnableBehaviour(com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour) ListItem(org.apache.wicket.markup.html.list.ListItem)

Example 49 with ListView

use of org.apache.wicket.markup.html.list.ListView in project midpoint by Evolveum.

the class PrismValuePanel method addValue.

private void addValue(AjaxRequestTarget target) {
    Component inputPanel = this.get(ID_VALUE_CONTAINER).get(ID_INPUT);
    ValueWrapper wrapper = valueWrapperModel.getObject();
    ItemWrapper propertyWrapper = wrapper.getItem();
    LOGGER.debug("Adding value of {}", propertyWrapper);
    propertyWrapper.addValue();
    ListView parent = findParent(ListView.class);
    target.add(parent.getParent());
}
Also used : ListView(org.apache.wicket.markup.html.list.ListView) Component(org.apache.wicket.Component) FormComponent(org.apache.wicket.markup.html.form.FormComponent)

Example 50 with ListView

use of org.apache.wicket.markup.html.list.ListView in project midpoint by Evolveum.

the class InlineMenu method initLayout.

@Override
protected void initLayout() {
    WebMarkupContainer menuItemContainer = new WebMarkupContainer(ID_MENU_ITEM_CONTAINER);
    menuItemContainer.setOutputMarkupId(true);
    menuItemContainer.add(new AttributeAppender("class", getMenuItemContainerClass()));
    menuItemContainer.add(new AttributeAppender("style", getMenuItemContainerStyle()));
    add(menuItemContainer);
    AjaxButton menuItemButton = new AjaxButton(ID_MENU_ITEM_BUTTON) {

        @Override
        public void onClick(AjaxRequestTarget ajaxRequestTarget) {
        }
    };
    menuItemButton.setOutputMarkupId(true);
    menuItemButton.add(new AttributeAppender("class", "dropdown-toggle " + getAdditionalButtonClass()));
    menuItemButton.add(new AttributeAppender("style", getMenuItemButtonStyle()));
    menuItemContainer.add(menuItemButton);
    WebMarkupContainer icon = new WebMarkupContainer(ID_MENU_ITEM_ICON);
    icon.setOutputMarkupId(true);
    icon.add(new AttributeAppender("class", getIconClass()));
    menuItemButton.add(icon);
    ListView<InlineMenuItem> li = new ListView<InlineMenuItem>(ID_MENU_ITEM, getModel()) {

        @Override
        protected void populateItem(ListItem<InlineMenuItem> item) {
            initMenuItem(item);
        }
    };
    li.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            List list = InlineMenu.this.getModel().getObject();
            return list != null && !list.isEmpty();
        }
    });
    menuItemContainer.add(li);
}
Also used : AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) AjaxButton(com.evolveum.midpoint.web.component.AjaxButton) ListView(org.apache.wicket.markup.html.list.ListView) List(java.util.List) ListItem(org.apache.wicket.markup.html.list.ListItem) VisibleEnableBehaviour(com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) AttributeAppender(org.apache.wicket.behavior.AttributeAppender)

Aggregations

ListView (org.apache.wicket.markup.html.list.ListView)54 ListItem (org.apache.wicket.markup.html.list.ListItem)51 WebMarkupContainer (org.apache.wicket.markup.html.WebMarkupContainer)39 Label (org.apache.wicket.markup.html.basic.Label)39 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)33 AbstractReadOnlyModel (org.apache.wicket.model.AbstractReadOnlyModel)27 VisibleEnableBehaviour (com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour)25 List (java.util.List)21 AjaxLink (org.apache.wicket.ajax.markup.html.AjaxLink)17 PropertyModel (org.apache.wicket.model.PropertyModel)15 ArrayList (java.util.ArrayList)14 TextField (org.apache.wicket.markup.html.form.TextField)13 Form (org.apache.wicket.markup.html.form.Form)10 AjaxFormComponentUpdatingBehavior (org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior)9 AttributeModifier (org.apache.wicket.AttributeModifier)8 Model (org.apache.wicket.model.Model)8 AttributeAppender (org.apache.wicket.behavior.AttributeAppender)7 IModel (org.apache.wicket.model.IModel)7 StringResourceModel (org.apache.wicket.model.StringResourceModel)6 LoadableModel (com.evolveum.midpoint.gui.api.model.LoadableModel)5