Example usage for org.apache.wicket.markup.html.panel Fragment add

List of usage examples for org.apache.wicket.markup.html.panel Fragment add

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.panel Fragment add.

Prototype

public MarkupContainer add(final Component... children) 

Source Link

Document

Adds the child component(s) to this container.

Usage

From source file:com.evolveum.midpoint.gui.api.component.FocusTypeAssignmentPopupTabPanel.java

License:Apache License

@Override
protected void initParametersPanel(Fragment parametersPanel) {
    WebMarkupContainer relationContainer = new WebMarkupContainer(ID_RELATION_CONTAINER);
    relationContainer.setOutputMarkupId(true);
    parametersPanel.add(relationContainer);

    relationContainer.add(new RelationDropDownChoicePanel(ID_RELATION, null, getSupportedRelations(), false));
}

From source file:com.evolveum.midpoint.gui.api.component.MemberPopupTabPanel.java

License:Apache License

@Override
protected void initParametersPanel(Fragment parametersPanel) {
    WebMarkupContainer relationContainer = new WebMarkupContainer(ID_RELATION_CONTAINER);
    relationContainer.setOutputMarkupId(true);
    relationContainer.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override/*from   w w  w  .  j  a  v  a 2s . c  o  m*/
        public boolean isVisible() {
            return CollectionUtils.isNotEmpty(supportedRelationList);
        }

        @Override
        public boolean isEnabled() {
            return CollectionUtils.isNotEmpty(supportedRelationList) && supportedRelationList.size() > 1;
        }
    });
    parametersPanel.add(relationContainer);

    relationContainer.add(new RelationDropDownChoicePanel(ID_RELATION, null, supportedRelationList, false));
}

From source file:com.evolveum.midpoint.gui.api.component.ResourceTypeAssignmentPopupTabPanel.java

License:Apache License

@Override
protected void initParametersPanel(Fragment parametersPanel) {
    initModels();// w  w  w  .j a  va 2 s.c o  m

    WebMarkupContainer kindContainer = new WebMarkupContainer(ID_KIND_CONTAINER);
    kindContainer.setOutputMarkupId(true);
    parametersPanel.add(kindContainer);

    DropDownChoicePanel<ShadowKindType> kindSelector = WebComponentUtil.createEnumPanel(ShadowKindType.class,
            ID_KIND, WebComponentUtil.createReadonlyModelFromEnum(ShadowKindType.class), Model.of(),
            ResourceTypeAssignmentPopupTabPanel.this, true);
    kindSelector.setOutputMarkupId(true);
    kindSelector.getBaseFormComponent().add(new AjaxFormComponentUpdatingBehavior("change") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            kindValueUpdatePerformed(target);
        }
    });
    kindSelector.getBaseFormComponent().add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isEnabled() {
            return getSelectedObjectsList() != null && getSelectedObjectsList().size() > 0;
        }
    });
    kindSelector.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    kindSelector.setOutputMarkupPlaceholderTag(true);
    kindContainer.add(kindSelector);

    WebMarkupContainer intentContainer = new WebMarkupContainer(ID_INTENT_CONTAINER);
    intentContainer.setOutputMarkupId(true);
    parametersPanel.add(intentContainer);

    DropDownChoicePanel<String> intentSelector = new DropDownChoicePanel<String>(ID_INTENT, Model.of(),
            intentValues, true);
    intentSelector.getBaseFormComponent().add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isEnabled() {
            return getKindValue() != null && getSelectedObjectsList() != null
                    && getSelectedObjectsList().size() > 0;
        }
    });
    intentSelector.getBaseFormComponent().add(new AjaxFormComponentUpdatingBehavior("change") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            intentValueUpdatePerformed(target);
        }
    });
    intentSelector.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    intentSelector.setOutputMarkupId(true);
    intentSelector.setOutputMarkupPlaceholderTag(true);
    intentContainer.add(intentSelector);

    WebMarkupContainer associationContainer = new WebMarkupContainer(ID_ASSOCIATION_CONTAINER);
    associationContainer.setOutputMarkupId(true);
    associationContainer.add(new VisibleBehaviour(() -> isEntitlementAssignment()));
    parametersPanel.add(associationContainer);

    DropDownChoicePanel<RefinedAssociationDefinition> associationSelector = new DropDownChoicePanel<>(
            ID_ASSOCIATION, Model.of(), associationValuesModel,
            new IChoiceRenderer<RefinedAssociationDefinition>() {
                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(RefinedAssociationDefinition refinedAssociationDefinition) {
                    return WebComponentUtil.getAssociationDisplayName(refinedAssociationDefinition);
                }

                @Override
                public String getIdValue(RefinedAssociationDefinition refinedAssociationDefinition, int index) {
                    return Integer.toString(index);
                }

                @Override
                public RefinedAssociationDefinition getObject(String id,
                        IModel<? extends List<? extends RefinedAssociationDefinition>> choices) {
                    return StringUtils.isNotBlank(id) ? choices.getObject().get(Integer.parseInt(id)) : null;
                }
            }, true);
    associationSelector.setOutputMarkupId(true);
    associationSelector.getBaseFormComponent().add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isEnabled() {
            return getSelectedObjectsList() != null && getSelectedObjectsList().size() > 0
                    && getKindValue() != null && StringUtils.isNotEmpty(getIntentValue());
        }
    });
    associationSelector.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    associationSelector.setOutputMarkupPlaceholderTag(true);
    associationContainer.add(associationSelector);

}

From source file:com.evolveum.midpoint.gui.impl.page.admin.configuration.component.LoggingConfigurationTabPanel.java

License:Apache License

protected void initLayout() {
    PrismContainerPanel<LoggingConfigurationType> loggingPanel = new PrismContainerPanel<LoggingConfigurationType>(
            ID_LOGGING, getModel(), true, new Form<>("form"),
            itemWrapper -> getLoggingVisibility(itemWrapper.getPath()), getPageBase());
    add(loggingPanel);/*from   w  ww . j a  v  a  2 s  . c  om*/

    TableId tableIdLoggers = UserProfileStorage.TableId.LOGGING_TAB_LOGGER_TABLE;
    PageStorage pageStorageLoggers = getPageBase().getSessionStorage()
            .getLoggingConfigurationTabLoggerTableStorage();

    IModel<ContainerWrapper<ClassLoggerConfigurationType>> loggerModel = new ContainerWrapperFromObjectWrapperModel<ClassLoggerConfigurationType, SystemConfigurationType>(
            Model.of(getModelObject().getObjectWrapper()),
            ItemPath.create(SystemConfigurationType.F_LOGGING, LoggingConfigurationType.F_CLASS_LOGGER));

    MultivalueContainerListPanel<ClassLoggerConfigurationType> loggersMultivalueContainerListPanel = new MultivalueContainerListPanel<ClassLoggerConfigurationType>(
            ID_LOGGERS, loggerModel, tableIdLoggers, pageStorageLoggers) {

        private static final long serialVersionUID = 1L;

        @Override
        protected List<ContainerValueWrapper<ClassLoggerConfigurationType>> postSearch(
                List<ContainerValueWrapper<ClassLoggerConfigurationType>> items) {
            for (int i = 0; i < items.size(); i++) {
                ContainerValueWrapper<ClassLoggerConfigurationType> logger = items.get(i);
                if (ProfilingConfigurationTabPanel.LOGGER_PROFILING
                        .equals(((ClassLoggerConfigurationType) logger.getContainerValue().getRealValue())
                                .getPackage())) {
                    items.remove(logger);
                    continue;
                }
            }
            return items;
        }

        @Override
        protected void newItemPerformed(AjaxRequestTarget target) {
            PrismContainerValue<ClassLoggerConfigurationType> newLogger = loggerModel.getObject().getItem()
                    .createNewValue();
            ContainerValueWrapper<ClassLoggerConfigurationType> newLoggerWrapper = getLoggersMultivalueContainerListPanel()
                    .createNewItemContainerValueWrapper(newLogger, loggerModel);
            newLoggerWrapper.setShowEmpty(true, false);
            newLoggerWrapper.computeStripes();
            loggerEditPerformed(target, Model.of(newLoggerWrapper), null);
        }

        @Override
        protected void initPaging() {
            initLoggerPaging();
        }

        @Override
        protected boolean enableActionNewObject() {
            return true;
        }

        @Override
        protected ObjectQuery createQuery() {
            return null;
        }

        @Override
        protected List<IColumn<ContainerValueWrapper<ClassLoggerConfigurationType>, String>> createColumns() {
            return initLoggersBasicColumns();
        }

        @Override
        protected void initCustomLayout() {

        }

        @Override
        protected void itemPerformedForDefaultAction(AjaxRequestTarget target,
                IModel<ContainerValueWrapper<ClassLoggerConfigurationType>> rowModel,
                List<ContainerValueWrapper<ClassLoggerConfigurationType>> listItems) {
            loggerEditPerformed(target, rowModel, listItems);
        }

        @Override
        protected List<SearchItemDefinition> initSearchableItems(
                PrismContainerDefinition<ClassLoggerConfigurationType> containerDef) {
            List<SearchItemDefinition> defs = new ArrayList<>();

            return defs;
        }
    };
    add(loggersMultivalueContainerListPanel);

    TableId tableIdAppenders = UserProfileStorage.TableId.LOGGING_TAB_APPENDER_TABLE;
    PageStorage pageStorageAppenders = getPageBase().getSessionStorage()
            .getLoggingConfigurationTabAppenderTableStorage();

    IModel<ContainerWrapper<AppenderConfigurationType>> appenderModel = new ContainerWrapperFromObjectWrapperModel<AppenderConfigurationType, SystemConfigurationType>(
            Model.of(getModelObject().getObjectWrapper()),
            ItemPath.create(SystemConfigurationType.F_LOGGING, LoggingConfigurationType.F_APPENDER));

    MultivalueContainerListPanelWithDetailsPanel<AppenderConfigurationType> appendersMultivalueContainerListPanel = new MultivalueContainerListPanelWithDetailsPanel<AppenderConfigurationType>(
            ID_APPENDERS, appenderModel, tableIdAppenders, pageStorageAppenders) {

        private static final long serialVersionUID = 1L;

        @Override
        protected List<ContainerValueWrapper<AppenderConfigurationType>> postSearch(
                List<ContainerValueWrapper<AppenderConfigurationType>> items) {
            return items;
        }

        @Override
        protected void newItemPerformed(AjaxRequestTarget target) {
            newAppendersClickPerformed(target);
        }

        @Override
        protected void initPaging() {
            initAppenderPaging();
        }

        @Override
        protected boolean enableActionNewObject() {
            return true;
        }

        @Override
        protected ObjectQuery createQuery() {
            return null;
        }

        @Override
        protected List<IColumn<ContainerValueWrapper<AppenderConfigurationType>, String>> createColumns() {
            return initAppendersBasicColumns();
        }

        @Override
        protected MultivalueContainerDetailsPanel<AppenderConfigurationType> getMultivalueContainerDetailsPanel(
                ListItem<ContainerValueWrapper<AppenderConfigurationType>> item) {
            return LoggingConfigurationTabPanel.this.getAppendersMultivalueContainerDetailsPanel(item);
        }

        @Override
        protected List<SearchItemDefinition> initSearchableItems(
                PrismContainerDefinition<AppenderConfigurationType> containerDef) {
            List<SearchItemDefinition> defs = new ArrayList<>();

            return defs;
        }

        @Override
        protected WebMarkupContainer initButtonToolbar(String contentAreaId) {
            Fragment searchContainer = new Fragment(contentAreaId, ID_BUTTON_TOOLBAR_FRAGMENT,
                    LoggingConfigurationTabPanel.this);

            Form appenderTypeForm = new Form(ID_CHOICE_APPENDER_TYPE_FORM);
            searchContainer.add(appenderTypeForm);

            AjaxSubmitButton newObjectIcon = new AjaxSubmitButton(ID_NEW_ITEM_BUTTON,
                    new Model<>("<i class=\"fa fa-plus\"></i>")) {

                private static final long serialVersionUID = 1L;

                @Override
                protected void onSubmit(AjaxRequestTarget target) {
                    newItemPerformed(target);
                }
            };

            newObjectIcon.add(new VisibleEnableBehaviour() {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return enableActionNewObject();
                }

                @Override
                public boolean isEnabled() {
                    return isNewObjectButtonEnabled();
                }
            });
            newObjectIcon.add(AttributeModifier.append("class", createStyleClassModelForNewObjectIcon()));
            appenderTypeForm.add(newObjectIcon);
            List<QName> appendersChoicesList = new ArrayList<QName>();
            appendersChoicesList.add(FileAppenderConfigurationType.COMPLEX_TYPE);
            appendersChoicesList.add(SyslogAppenderConfigurationType.COMPLEX_TYPE);
            DropDownChoicePanel<QName> appenderChoise = new DropDownChoicePanel(ID_APPENDERS_CHOICE,
                    new Model(FileAppenderConfigurationType.COMPLEX_TYPE), Model.of(appendersChoicesList),
                    new QNameIChoiceRenderer("LoggingConfigurationTabPanel." + ID_APPENDERS_CHOICE));
            appenderChoise.setOutputMarkupId(true);
            appenderTypeForm.addOrReplace(appenderChoise);
            return searchContainer;
        }

    };
    add(appendersMultivalueContainerListPanel);

    IModel<ContainerWrapper<AuditingConfigurationType>> auditModel = new ContainerWrapperFromObjectWrapperModel<AuditingConfigurationType, SystemConfigurationType>(
            Model.of(getModelObject().getObjectWrapper()),
            ItemPath.create(SystemConfigurationType.F_LOGGING, LoggingConfigurationType.F_AUDITING));
    PrismContainerPanel<AuditingConfigurationType> auditPanel = new PrismContainerPanel<>(ID_AUDITING,
            auditModel, true, new Form<>("form"), null, getPageBase());
    add(auditPanel);
    setOutputMarkupId(true);
}

From source file:com.evolveum.midpoint.web.component.assignment.AbstractRoleAssignmentPanel.java

License:Apache License

protected Fragment initCustomButtonToolbar(String contentAreaId) {
    Fragment searchContainer = new Fragment(contentAreaId, ID_BUTTON_TOOLBAR_FRAGMENT, this);

    AjaxIconButton newObjectIcon = getMultivalueContainerListPanel().getNewItemButton(ID_NEW_ITEM_BUTTON);
    searchContainer.add(newObjectIcon);

    AjaxIconButton showAllAssignmentsButton = new AjaxIconButton(ID_SHOW_ALL_ASSIGNMENTS_BUTTON,
            new Model<>("fa fa-address-card"),
            createStringResource("AssignmentTablePanel.menu.showAllAssignments")) {

        private static final long serialVersionUID = 1L;

        @Override//  ww  w .  ja v a2s.c o m
        public void onClick(AjaxRequestTarget ajaxRequestTarget) {
            showAllAssignments(ajaxRequestTarget);
        }
    };
    searchContainer.addOrReplace(showAllAssignmentsButton);
    showAllAssignmentsButton.setOutputMarkupId(true);
    showAllAssignmentsButton.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        public boolean isVisible() {
            return showAllAssignmentsVisible();
        }
    });
    return searchContainer;
}

From source file:com.evolveum.midpoint.web.component.assignment.AbstractRoleAssignmentPanel.java

License:Apache License

@Override
protected Fragment getCustomSpecificContainers(String contentAreaId,
        ContainerValueWrapper<AssignmentType> modelObject) {
    Fragment specificContainers = new Fragment(contentAreaId, AssignmentPanel.ID_SPECIFIC_CONTAINERS_FRAGMENT,
            this);
    specificContainers.add(getSpecificContainerPanel(modelObject));
    return specificContainers;
}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentPanel.java

License:Apache License

private MultivalueContainerDetailsPanel<AssignmentType> createMultivalueContainerDetailsPanel(
        ListItem<ContainerValueWrapper<AssignmentType>> item) {
    if (isAssignmentsLimitReached()) {
        item.getModelObject().setReadonly(true, true);
    } else if (item.getModelObject().isReadonly()) {
        item.getModelObject().setReadonly(false, true);
    }//from   w  ww.jav a2  s  .  co  m
    MultivalueContainerDetailsPanel<AssignmentType> detailsPanel = new MultivalueContainerDetailsPanel<AssignmentType>(
            MultivalueContainerListPanelWithDetailsPanel.ID_ITEM_DETAILS, item.getModel()) {

        private static final long serialVersionUID = 1L;

        @Override
        protected ItemVisibility getBasicTabVisibity(ItemWrapper itemWrapper, ItemPath parentAssignmentPath) {
            return AssignmentPanel.this.getBasicTabVisibity(itemWrapper, parentAssignmentPath, item.getModel());
        }

        @Override
        protected void addBasicContainerValuePanel(String idPanel) {
            add(getBasicContainerPanel(idPanel, item.getModel()));
        }

        @Override
        protected Fragment getSpecificContainers(String contentAreaId) {
            Fragment specificContainers = getCustomSpecificContainers(contentAreaId, item.getModelObject());
            Form form = this.findParent(Form.class);

            ItemPath assignmentPath = item.getModelObject().getContainerValue().getValue()
                    .asPrismContainerValue().getPath();
            ContainerWrapperFromObjectWrapperModel<ActivationType, FocusType> activationModel = new ContainerWrapperFromObjectWrapperModel<ActivationType, FocusType>(
                    ((PageAdminObjectDetails<FocusType>) getPageBase()).getObjectModel(),
                    assignmentPath.append(AssignmentType.F_ACTIVATION));
            PrismContainerPanel<ActivationType> acitvationContainer = new PrismContainerPanel<ActivationType>(
                    ID_ACTIVATION_PANEL, IModel.of(activationModel), true, form,
                    itemWrapper -> getActivationVisibileItems(itemWrapper.getPath(), assignmentPath),
                    getPageBase());
            specificContainers.add(acitvationContainer);

            return specificContainers;
        }

        @Override
        protected DisplayNamePanel<AssignmentType> createDisplayNamePanel(String displayNamePanelId) {
            IModel<AssignmentType> displayNameModel = getDisplayModel(
                    item.getModelObject().getContainerValue().getValue());
            return new DisplayNamePanel<AssignmentType>(displayNamePanelId, displayNameModel) {

                private static final long serialVersionUID = 1L;

                @Override
                protected QName getRelation() {
                    return getRelationForDisplayNamePanel(item.getModelObject());
                }

                @Override
                protected IModel<String> getKindIntentLabelModel() {
                    return getKindIntentLabelModelForDisplayNamePanel(item.getModelObject());
                }

            };
        }

    };
    return detailsPanel;
}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentPanel.java

License:Apache License

protected Fragment getCustomSpecificContainers(String contentAreaId,
        ContainerValueWrapper<AssignmentType> modelObject) {
    Fragment specificContainers = new Fragment(contentAreaId, AssignmentPanel.ID_SPECIFIC_CONTAINERS_FRAGMENT,
            this);
    specificContainers.add(getSpecificContainerPanel(modelObject));
    return specificContainers;
}

From source file:com.evolveum.midpoint.web.component.assignment.InducedEntitlementsPanel.java

License:Apache License

@Override
protected Fragment getCustomSpecificContainers(String contentAreaId,
        ContainerValueWrapper<AssignmentType> modelObject) {
    Fragment specificContainers = new Fragment(contentAreaId, AssignmentPanel.ID_SPECIFIC_CONTAINERS_FRAGMENT,
            this);
    specificContainers.add(getConstructionAssociationPanel(modelObject));

    specificContainers.add(super.getBasicContainerPanel(ID_ASSIGNMENT_DETAILS, new Model(modelObject)));
    return specificContainers;
}

From source file:com.evolveum.midpoint.web.page.login.PageAbstractFlow.java

License:Apache License

private void initLayout() {

    //      initAccessBehaviour(mainForm);
    //      add(mainForm);

    Form<?> mainForm = new Form<>(ID_MAIN_FORM);
    mainForm.setMultiPart(true);/*from w  w w . j  a v  a2 s.  c o m*/
    add(mainForm);

    WebMarkupContainer content = null;
    Fragment fragment = null;
    if (!isCustomFormDefined()) {
        fragment = new Fragment(ID_CONTENT_AREA, "staticContent", this);
        content = initStaticLayout();

    } else {
        fragment = new Fragment(ID_CONTENT_AREA, "dynamicContent", this);
        content = initDynamicLayout();

    }

    fragment.setOutputMarkupId(true);
    content.setOutputMarkupId(true);
    initCaptchaAndButtons(fragment);
    fragment.add(content);
    mainForm.add(fragment);

}