Search in sources :

Example 1 with ITab

use of org.apache.wicket.extensions.markup.html.tabs.ITab in project midpoint by Evolveum.

the class PageUserHistory method createMainPanel.

@Override
protected AbstractObjectMainPanel<UserType> createMainPanel(String id) {
    return new FocusMainPanel<UserType>(id, getObjectModel(), getAssignmentsModel(), getProjectionModel(), this) {

        @Override
        protected List<ITab> createTabs(final PageAdminObjectDetails<UserType> parentPage) {
            List<ITab> tabs = new ArrayList<>();
            FocusTabVisibleBehavior authorization = new FocusTabVisibleBehavior(unwrapModel(), ComponentConstants.UI_FOCUS_TAB_BASIC_URL);
            tabs.add(new PanelTab(parentPage.createStringResource("pageAdminFocus.basic"), authorization) {

                private static final long serialVersionUID = 1L;

                @Override
                public WebMarkupContainer createPanel(String panelId) {
                    return createFocusDetailsTabPanel(panelId, parentPage);
                }
            });
            //hidden, will be displayed in future version
            //                authorization = new FocusTabVisibleBehavior(unwrapModel(), ComponentConstants.UI_FOCUS_TAB_PROJECTIONS_URL);
            //                tabs.add(
            //                        new CountablePanelTab(parentPage.createStringResource("pageAdminFocus.projections"), authorization) {
            //
            //                            private static final long serialVersionUID = 1L;
            //
            //                            @Override
            //                            public WebMarkupContainer createPanel(String panelId) {
            //                                return createFocusProjectionsTabPanel(panelId, parentPage);
            //                            }
            //
            //                            @Override
            //                            public String getCount() {
            //                                return Integer.toString(getProjectionModel().getObject() == null ?
            //                                        0 : getProjectionModel().getObject().size());
            //                            }
            //                        });
            authorization = new FocusTabVisibleBehavior(unwrapModel(), ComponentConstants.UI_FOCUS_TAB_ASSIGNMENTS_URL);
            tabs.add(new CountablePanelTab(parentPage.createStringResource("pageAdminFocus.assignments"), authorization) {

                private static final long serialVersionUID = 1L;

                @Override
                public WebMarkupContainer createPanel(String panelId) {
                    return createFocusAssignmentsTabPanel(panelId, parentPage);
                }

                @Override
                public String getCount() {
                    return Integer.toString(getAssignmentsModel().getObject() == null ? 0 : getAssignmentsModel().getObject().size());
                }
            });
            authorization = new FocusTabVisibleBehavior(unwrapModel(), ComponentConstants.UI_FOCUS_TAB_DELEGATED_TO_ME_URL);
            tabs.add(new CountablePanelTab(parentPage.createStringResource("FocusType.delegatedToMe"), authorization) {

                private static final long serialVersionUID = 1L;

                @Override
                public WebMarkupContainer createPanel(String panelId) {
                    return new AssignmentTablePanel<UserType>(panelId, parentPage.createStringResource("FocusType.delegatedToMe"), getDelegatedToMeModel()) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void populateAssignmentDetailsPanel(ListItem<AssignmentEditorDto> item) {
                            DelegationEditorPanel editor = new DelegationEditorPanel(ID_ROW, item.getModel(), true, new ArrayList<AssignmentsPreviewDto>(), PageUserHistory.this);
                            item.add(editor);
                        }

                        @Override
                        public String getExcludeOid() {
                            return getObject().getOid();
                        }

                        @Override
                        protected List<InlineMenuItem> createAssignmentMenu() {
                            return new ArrayList<>();
                        }
                    };
                }

                @Override
                public String getCount() {
                    return Integer.toString(getDelegatedToMeModel().getObject() == null ? 0 : getDelegatedToMeModel().getObject().size());
                }
            });
            return tabs;
        }

        @Override
        protected boolean getOptionsPanelVisibility() {
            return false;
        }
    };
}
Also used : PanelTab(com.evolveum.midpoint.gui.api.component.tabs.PanelTab) CountablePanelTab(com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab) DelegationEditorPanel(com.evolveum.midpoint.web.component.assignment.DelegationEditorPanel) AssignmentEditorDto(com.evolveum.midpoint.web.component.assignment.AssignmentEditorDto) ArrayList(java.util.ArrayList) CountablePanelTab(com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab) PageAdminObjectDetails(com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails) ITab(org.apache.wicket.extensions.markup.html.tabs.ITab) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) FocusMainPanel(com.evolveum.midpoint.web.component.objectdetails.FocusMainPanel) FocusTabVisibleBehavior(com.evolveum.midpoint.gui.api.util.FocusTabVisibleBehavior) ArrayList(java.util.ArrayList) List(java.util.List) UserType(com.evolveum.midpoint.xml.ns._public.common.common_3.UserType)

Example 2 with ITab

use of org.apache.wicket.extensions.markup.html.tabs.ITab in project midpoint by Evolveum.

the class TaskMainPanel method initTabPanel.

protected void initTabPanel(Form mainForm) {
    List<ITab> tabs = createTabs();
    TabbedPanel<ITab> tabPanel = WebComponentUtil.createTabPanel(ID_TAB_PANEL, parentPage, tabs, new TabbedPanel.RightSideItemProvider() {

        @Override
        public Component createRightSideItem(String id) {
            VisibleEnableBehaviour boxEnabled = new VisibleEnableBehaviour() {

                @Override
                public boolean isEnabled() {
                    return !parentPage.isEdit();
                }
            };
            TaskShowAdvancedFeaturesPanel advancedFeaturesPanel = new TaskShowAdvancedFeaturesPanel(id, showAdvancedFeaturesModel, boxEnabled) {

                @Override
                protected void onAdvancedFeaturesUpdate(AjaxRequestTarget target) {
                    target.add(getTabPanel());
                    target.add(getButtonPanel());
                // we DO NOT call parentPage.refresh here because in edit mode this would erase any model changes
                // (well, because - for some strange reasons - even this code erases name and description input fields
                // occassionally, we hide 'advanced features' checkbox in editing mode)
                }
            };
            advancedFeaturesPanel.add(new VisibleEnableBehaviour() {

                @Override
                public boolean isVisible() {
                    // we don't distinguish between basic/advanced features for other task types yet
                    return parentPage.getTaskDto().isWorkflow();
                }
            });
            return advancedFeaturesPanel;
        }
    });
    mainForm.add(tabPanel);
}
Also used : AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) TabbedPanel(com.evolveum.midpoint.web.component.TabbedPanel) VisibleEnableBehaviour(com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour) Component(org.apache.wicket.Component) ITab(org.apache.wicket.extensions.markup.html.tabs.ITab)

Example 3 with ITab

use of org.apache.wicket.extensions.markup.html.tabs.ITab in project midpoint by Evolveum.

the class AbstractRoleMainPanel method createTabs.

@Override
protected List<ITab> createTabs(final PageAdminObjectDetails<R> parentPage) {
    List<ITab> tabs = super.createTabs(parentPage);
    FocusTabVisibleBehavior authorization = new FocusTabVisibleBehavior(unwrapModel(), ComponentConstants.UI_FOCUS_TAB_INDUCEMENTS_URL);
    tabs.add(new CountablePanelTab(parentPage.createStringResource("FocusType.inducement"), authorization) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new AssignmentTablePanel<R>(panelId, parentPage.createStringResource("FocusType.inducement"), inducementsModel) {

                private static final long serialVersionUID = 1L;

                @Override
                public List<AssignmentType> getAssignmentTypeList() {
                    return getObject().asObjectable().getInducement();
                }

                @Override
                public String getExcludeOid() {
                    return getObject().getOid();
                }

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

        @Override
        public String getCount() {
            return Integer.toString(inducementsModel.getObject() == null ? 0 : inducementsModel.getObject().size());
        }
    });
    authorization = new FocusTabVisibleBehavior(unwrapModel(), ComponentConstants.UI_FOCUS_TAB_MEMBERS_URL);
    tabs.add(new PanelTab(parentPage.createStringResource("pageRole.members"), authorization) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return createMemberPanel(panelId);
        }

        @Override
        public boolean isVisible() {
            return super.isVisible() && getObjectWrapper().getStatus() != ContainerStatus.ADDING && isAllowedToReadRoleMembership(getObjectWrapper().getOid(), parentPage);
        }
    });
    return tabs;
}
Also used : PanelTab(com.evolveum.midpoint.gui.api.component.tabs.PanelTab) CountablePanelTab(com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab) FocusTabVisibleBehavior(com.evolveum.midpoint.gui.api.util.FocusTabVisibleBehavior) CountablePanelTab(com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab) PageAssignmentsList(com.evolveum.midpoint.web.page.self.PageAssignmentsList) List(java.util.List) ITab(org.apache.wicket.extensions.markup.html.tabs.ITab) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer)

Example 4 with ITab

use of org.apache.wicket.extensions.markup.html.tabs.ITab in project midpoint by Evolveum.

the class PageResource method createTabsPanel.

private AjaxTabbedPanel<ITab> createTabsPanel() {
    List<ITab> tabs = new ArrayList<ITab>();
    tabs.add(new PanelTab(createStringResource("PageResource.tab.details")) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new ResourceDetailsTabPanel(panelId, resourceModel, PageResource.this);
        }
    });
    tabs.add(new PanelTab(createStringResource("PageResource.tab.content.tasks")) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new ResourceTasksPanel(panelId, true, resourceModel, PageResource.this);
        }
    });
    tabs.add(new PanelTab(createStringResource("PageResource.tab.content.account")) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new ResourceContentTabPanel(panelId, ShadowKindType.ACCOUNT, resourceModel, PageResource.this);
        }
    });
    tabs.add(new PanelTab(createStringResource("PageResource.tab.content.entitlement")) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new ResourceContentTabPanel(panelId, ShadowKindType.ENTITLEMENT, resourceModel, PageResource.this);
        }
    });
    tabs.add(new PanelTab(createStringResource("PageResource.tab.content.generic")) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new ResourceContentTabPanel(panelId, ShadowKindType.GENERIC, resourceModel, PageResource.this);
        }
    });
    tabs.add(new PanelTab(createStringResource("PageResource.tab.content.others")) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new ResourceContentTabPanel(panelId, null, resourceModel, PageResource.this);
        }
    });
    tabs.add(new PanelTab(createStringResource("PageResource.tab.connector")) {

        private static final long serialVersionUID = 1L;

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new ResourceConnectorPanel(panelId, null, resourceModel, PageResource.this);
        }
    });
    AjaxTabbedPanel<ITab> resourceTabs = new AjaxTabbedPanel<ITab>(ID_TAB_PANEL, tabs) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onTabChange(int index) {
            updateBreadcrumbParameters(PARAMETER_SELECTED_TAB, index);
        }
    };
    resourceTabs.setOutputMarkupId(true);
    return resourceTabs;
}
Also used : PanelTab(com.evolveum.midpoint.gui.api.component.tabs.PanelTab) ArrayList(java.util.ArrayList) ITab(org.apache.wicket.extensions.markup.html.tabs.ITab) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) AjaxTabbedPanel(com.evolveum.midpoint.web.component.AjaxTabbedPanel)

Example 5 with ITab

use of org.apache.wicket.extensions.markup.html.tabs.ITab in project midpoint by Evolveum.

the class PageCertDefinition method initTabs.

private void initTabs(Form mainForm) {
    List<ITab> tabs = new ArrayList<>();
    tabs.add(new AbstractTab(createStringResource("PageCertDefinition.basic")) {

        @Override
        public WebMarkupContainer getPanel(String panelId) {
            return new DefinitionBasicPanel(panelId, definitionModel);
        }
    });
    tabs.add(new AbstractTab(createStringResource("PageCertDefinition.scopeDefinition")) {

        @Override
        public WebMarkupContainer getPanel(String panelId) {
            return new DefinitionScopePanel(panelId, new PropertyModel<>(definitionModel, CertDefinitionDto.F_SCOPE_DEFINITION));
        }
    });
    tabs.add(new CountablePanelTab(createStringResource("PageCertDefinition.stagesDefinition")) {

        @Override
        public WebMarkupContainer createPanel(String panelId) {
            return new DefinitionStagesPanel(panelId, new PropertyModel<>(definitionModel, CertDefinitionDto.F_STAGE_DEFINITION), PageCertDefinition.this);
        }

        @Override
        public String getCount() {
            return String.valueOf(definitionModel.getObject().getNumberOfStages());
        }
    });
    tabs.add(new AbstractTab(createStringResource("PageCertDefinition.xmlDefinition")) {

        @Override
        public WebMarkupContainer getPanel(String panelId) {
            return new DefinitionXmlPanel(panelId, definitionModel);
        }
    });
    TabbedPanel tabPanel = WebComponentUtil.createTabPanel(ID_TAB_PANEL, this, tabs, null);
    mainForm.add(tabPanel);
}
Also used : ArrayList(java.util.ArrayList) PropertyModel(org.apache.wicket.model.PropertyModel) CountablePanelTab(com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab) TabbedPanel(com.evolveum.midpoint.web.component.TabbedPanel) ITab(org.apache.wicket.extensions.markup.html.tabs.ITab) WebMarkupContainer(org.apache.wicket.markup.html.WebMarkupContainer) AbstractTab(org.apache.wicket.extensions.markup.html.tabs.AbstractTab)

Aggregations

ITab (org.apache.wicket.extensions.markup.html.tabs.ITab)17 WebMarkupContainer (org.apache.wicket.markup.html.WebMarkupContainer)14 ArrayList (java.util.ArrayList)12 AbstractTab (org.apache.wicket.extensions.markup.html.tabs.AbstractTab)8 PanelTab (com.evolveum.midpoint.gui.api.component.tabs.PanelTab)6 TabbedPanel (com.evolveum.midpoint.web.component.TabbedPanel)6 List (java.util.List)5 CountablePanelTab (com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab)4 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)4 FocusTabVisibleBehavior (com.evolveum.midpoint.gui.api.util.FocusTabVisibleBehavior)3 VisibleEnableBehaviour (com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour)3 Form (org.apache.wicket.markup.html.form.Form)3 AjaxTabbedPanel (com.evolveum.midpoint.web.component.AjaxTabbedPanel)2 AssignmentEditorDto (com.evolveum.midpoint.web.component.assignment.AssignmentEditorDto)2 FocusMainPanel (com.evolveum.midpoint.web.component.objectdetails.FocusMainPanel)2 PageAdminObjectDetails (com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails)2 IModel (org.apache.wicket.model.IModel)2 Model (org.apache.wicket.model.Model)2 PropertyModel (org.apache.wicket.model.PropertyModel)2 BasePanel (com.evolveum.midpoint.gui.api.component.BasePanel)1