List of usage examples for org.apache.wicket.markup.html.list ListView setReuseItems
public ListView<T> setReuseItems(boolean reuseItems)
From source file:org.geoserver.web.services.BaseServiceAdminPage.java
License:Open Source License
void init(final IModel<T> infoModel) { T service = infoModel.getObject();/*from ww w. j a va2s.com*/ dialog = new GeoServerDialog("dialog"); add(dialog); Form form = new Form("form", new CompoundPropertyModel(infoModel)); add(form); if (service.getWorkspace() == null) { //create the panel that has the drop down list to switch between workspace form.add(new GlobalWorkspacePanel("workspace")); } else { //create just a panel with a label that signifies the workspace form.add(new LocalWorkspacePanel("workspace", service)); } form.add(new HelpLink("workspaceHelp").setDialog(dialog)); form.add(new Label("service.enabled", new StringResourceModel("service.enabled", this, null, new Object[] { getServiceName() }))); form.add(new TextField("maintainer")); TextField onlineResource = new TextField("onlineResource"); onlineResource.add(new UrlValidator()); form.add(onlineResource); form.add(new CheckBox("enabled")); form.add(new CheckBox("citeCompliant")); form.add(new TextField("title")); form.add(new TextArea("abstract")); form.add( new KeywordsEditor("keywords", LiveCollectionModel.list(new PropertyModel(infoModel, "keywords")))); form.add(new TextField("fees")); form.add(new TextField("accessConstraints")); build(infoModel, form); //add the extension panels ListView extensionPanels = createExtensionPanelList("extensions", infoModel); extensionPanels.setReuseItems(true); form.add(extensionPanels); SubmitLink submit = new SubmitLink("submit", new StringResourceModel("save", (Component) null, null)) { @Override public void onSubmit() { try { handleSubmit((T) infoModel.getObject()); doReturn(); } catch (Exception e) { error(e); } } }; form.add(submit); Button cancel = new Button("cancel", new StringResourceModel("cancel", (Component) null, null)) { public void onSubmit() { doReturn(); } }; form.add(cancel); //cancel.setDefaultFormProcessing( false ); }
From source file:org.geoserver.web.wicket.GeoServerTablePanel.java
License:Open Source License
protected void buildRowListView(final GeoServerDataProvider<T> dataProvider, Item item, final IModel itemModel) { // create one component per viewable property ListView items = new ListView("itemProperties", dataProvider.getVisibleProperties()) { @Override/* ww w.j a v a2 s. c o m*/ protected void populateItem(ListItem item) { Property<T> property = (Property<T>) item.getModelObject(); Component component = getComponentForProperty("component", itemModel, property); if (component == null) { // show a plain label if the the subclass did not create any component component = new Label("component", property.getModel(itemModel)); } else if (!"component".equals(component.getId())) { // add some checks for the id, the error message // that wicket returns in case of mismatch is not // that helpful throw new IllegalArgumentException("getComponentForProperty asked " + "to build a component " + "with id = 'component' " + "for property '" + property.getName() + "', but got '" + component.getId() + "' instead"); } item.add(component); onPopulateItem(property, item); } }; items.setReuseItems(true); item.add(items); }
From source file:org.geoserver.web.wicket.ReorderableTablePanel.java
License:Open Source License
protected void buildRowListView(final GeoServerDataProvider<T> dataProvider, Item item, final IModel itemModel) { // create one component per viewable property ListView items = new ListView("itemProperties", dataProvider.getVisibleProperties()) { @Override/*from w w w .j a v a2s . co m*/ protected void populateItem(ListItem item) { Property<T> property = (Property<T>) item.getModelObject(); Component component = null; if (property == POSITION) { ParamResourceModel upTitle = new ParamResourceModel("moveToTop", this); ParamResourceModel downTitle = new ParamResourceModel("moveToBottom", this); component = new UpDownPanel<T>("component", (T) itemModel.getObject(), dataProvider.getItems(), ReorderableTablePanel.this, upTitle, downTitle); } else if (property == RENDERING_ORDER) { component = new Label("component", new Model()); } else { component = getComponentForProperty("component", itemModel, property); } if (component == null) { // show a plain label if the the subclass did not create any component component = new Label("component", property.getModel(itemModel)); } else if (!"component".equals(component.getId())) { // add some checks for the id, the error message // that wicket returns in case of mismatch is not // that helpful throw new IllegalArgumentException("getComponentForProperty asked " + "to build a component " + "with id = 'component' " + "for property '" + property.getName() + "', but got '" + component.getId() + "' instead"); } item.add(component); onPopulateItem(property, item); } }; items.setReuseItems(true); item.add(items); this.setOutputMarkupId(true); }
From source file:org.hippoecm.frontend.dialog.AbstractDialog.java
License:Apache License
public AbstractDialog(IModel<T> model) { super("form", model); container = new Container(IDialogService.DIALOG_WICKET_ID); container.add(this); feedback = newFeedbackPanel("feedback"); IFeedbackMessageFilter filter = feedback.getFilter(); if (filter == null) { // make sure the feedback filters out messages unrelated to this dialog feedback.setFilter(new ContainerFeedbackMessageFilter(this)); } else if (!(filter instanceof ContainerFeedbackMessageFilter)) { log.warn(/*www . j av a 2 s .com*/ "The dialog '{}' uses a feedback panel with a filter that does not extend ContainerFeedbackMessageFilter." + "As a result, this dialog may show unrelated feedback messages.", getClass()); } feedback.setOutputMarkupId(true); add(feedback); buttons = new LinkedList<>(); ListView<ButtonWrapper> buttonsView = new ListView<ButtonWrapper>("buttons", buttons) { @Override protected void populateItem(ListItem<ButtonWrapper> item) { final Button button = item.getModelObject().getButton(); if (StringUtils.isNotEmpty(buttonCssClass)) { button.add(CssClass.append(buttonCssClass)); } item.add(button); } }; buttonsView.setReuseItems(true); buttonsView.setOutputMarkupId(true); add(buttonsView); ok = new ButtonWrapper(new ResourceModel("ok")) { @Override protected void onSubmit() { handleSubmit(); } @Override protected void onUpdateAjaxAttributes(final AjaxRequestAttributes attributes) { attributes.setChannel(ajaxChannel); } }; ok.setKeyType(KeyType.Enter); buttons.add(ok); cancel = new ButtonWrapper(new ResourceModel("cancel")) { @Override protected void onSubmit() { cancelled = true; onCancel(); closeDialog(); } @Override protected Button decorate(final Button button) { button.add(new AjaxEventBehavior("onclick") { @Override protected void onComponentTag(final ComponentTag tag) { super.onComponentTag(tag); tag.put("type", "button"); } @Override protected void onEvent(final AjaxRequestTarget target) { onSubmit(); } }); button.setDefaultFormProcessing(false); return super.decorate(button); } }; cancel.setKeyType(KeyType.Escape); buttons.add(cancel); if (isFullscreenEnabled()) { final AjaxButton goFullscreen = new AjaxButton(DialogConstants.BUTTON, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getString(fullscreen ? "exit-fullscreen" : "fullscreen"); } }) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { target.appendJavaScript(getFullscreenScript()); target.add(this); //update button label fullscreen = !fullscreen; } }; addButton(goFullscreen); } if (addAjaxIndicator()) { add(indicator = new AjaxIndicatorAppender() { @Override protected CharSequence getIndicatorUrl() { return RequestCycle.get() .urlFor(new ResourceReferenceRequestHandler(DialogConstants.AJAX_LOADER_GIF)); } }); } }
From source file:org.jabylon.rest.ui.wicket.components.ClientSideTabbedPanel.java
License:Open Source License
public ClientSideTabbedPanel(final String id, List<T> tabs, boolean vertical, String persistenceKey) { super(id);//from w w w . j a v a2s. c o m WebMarkupContainer tabbable = new WebMarkupContainer("tabbable"); if (vertical) { tabbable.add(new AttributeAppender("class", " tabs-left")); } if (persistenceKey != null) { tabbable.add(new AttributeModifier("data-tabsheet", persistenceKey)); } add(tabbable); ListView<T> listView = new ListView<T>("tab-handles", tabs) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<T> item) { int index = item.getIndex(); if (index == activeTab.getObject()) item.add(new AttributeAppender("class", " active")); item.add(new ExternalLink("link", Model.of("#" + id + index), item.getModelObject().getTitle())); } }; listView.setReuseItems(true); tabContents = new ArrayList<WebMarkupContainer>(); ListView<T> tabContent = new ListView<T>("tab-content", tabs) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<T> item) { int index = item.getIndex(); if (index == activeTab.getObject()) item.add(new AttributeAppender("class", " active")); item.setMarkupId(id + index); Object object = item.getDefaultModelObject(); if (object instanceof ITab) { ITab tab = (ITab) object; WebMarkupContainer panel = tab.getPanel("content"); panel.setOutputMarkupId(true); tabContents.add(panel); item.add(panel); } } }; tabContent.setReuseItems(true); tabbable.add(tabContent); tabbable.add(listView); }
From source file:org.jabylon.rest.ui.wicket.config.ConfigTabPanel.java
License:Open Source License
public ConfigTabPanel(String id, final List<ConfigSection<T>> sections, final IModel<T> model, final Preferences preferences) { super(id, model); ListView<ConfigSection<T>> view = new ListView<ConfigSection<T>>("sections", sections) { private static final long serialVersionUID = 1L; @Override/*from w w w . j a v a 2 s . c o m*/ protected void populateItem(ListItem<ConfigSection<T>> arg0) { ConfigSection<T> object = arg0.getModelObject(); WebMarkupContainer container = object.createContents("content", model, preferences); arg0.add(container); container.setVisibilityAllowed(hasPermission(object)); } }; view.setReuseItems(true); add(view); }
From source file:org.jabylon.rest.ui.wicket.config.sections.ProjectVersionsConfigSection.java
License:Open Source License
public ProjectVersionsConfigSection(String id, IModel<Project> model, Preferences config) { super(id, model); add(buildAddNewLink(model));/* w ww . j a v a 2 s. c o m*/ ComplexEObjectListDataProvider<ProjectVersion> provider = new ComplexEObjectListDataProvider<ProjectVersion>( model, PropertiesPackage.Literals.RESOLVABLE__CHILDREN); ListView<ProjectVersion> project = new ListView<ProjectVersion>("versions", provider) { private static final long serialVersionUID = 1L; private ProgressionModel progressModel; @Override protected void populateItem(ListItem<ProjectVersion> item) { item.setOutputMarkupId(true); item.add(new Label("name", item.getModelObject().getName())); item.add(new Label("summary", new StringResourceModel("ProjectVersionsConfigSection.summary", item, null, item.getModel().getObject().getChildren().size()))); progressModel = new ProgressionModel(""); final ProgressPanel progressPanel = new ProgressPanel("progress", progressModel); item.add(progressPanel); ProjectVersion projectVersion = item.getModelObject(); item.add(new BookmarkablePageLink<Void>("edit", SettingsPage.class, WicketUtil.buildPageParametersFor(projectVersion))); item.add(createCheckoutAction(progressPanel, item.getModel())); item.add(createRescanAction(progressPanel, item.getModel())); item.add(createUpdateAction(progressPanel, item.getModel())); item.add(createResetAction(progressPanel, item.getModel())); item.add(createCommitAction(progressPanel, item.getModel())); item.add(createDeleteAction(progressPanel, item.getModel())); } }; project.setReuseItems(true); project.setOutputMarkupId(true); add(project); }
From source file:org.jabylon.rest.ui.wicket.config.sections.security.RolesConfigSection.java
License:Open Source License
public RolesConfigSection(String id, IModel<UserManagement> model) { super(id, model); ComplexEObjectListDataProvider<Role> provider = new ComplexEObjectListDataProvider<Role>(model, UsersPackage.Literals.USER_MANAGEMENT__ROLES); ListView<Role> roleList = new ListView<Role>("role.row", provider) { private static final long serialVersionUID = 1L; @Override//from w w w . j a va 2s .c om protected void populateItem(ListItem<Role> item) { IModel<String> nameProperty = new EObjectPropertyModel<String, Role>(item.getModel(), UsersPackage.Literals.ROLE__NAME); item.add(new Label("rolename", nameProperty)); item.add(new Label("roles", buildRoles(item.getModelObject()))); PageParameters params = new PageParameters(getPage().getPageParameters()); params.set(params.getIndexedCount(), "roles"); params.set(params.getIndexedCount(), item.getModelObject().getName()); item.add(new BookmarkablePageLink<Void>("edit", SettingsPage.class, params)); item.add(new Link<Role>("delete", item.getModel()) { private static final long serialVersionUID = 1L; @Override public void onClick() { try { TransactionUtil.deleteWithCrossRefs(getModelObject()); } catch (CommitException e) { getSession().error(e.getMessage()); logger.error("Failed to commit", e); } } }); } }; add(roleList); roleList.setReuseItems(true); add(buildAddNewLink(getModel())); }
From source file:org.jabylon.rest.ui.wicket.config.sections.security.RoleUsersConfigSection.java
License:Open Source License
public RoleUsersConfigSection(String id, IModel<UserManagement> model) { super(id, model); ComplexEObjectListDataProvider<Role> provider = new ComplexEObjectListDataProvider<Role>(model, UsersPackage.Literals.USER_MANAGEMENT__ROLES); ListView<Role> roleList = new ListView<Role>("role.row", provider) { private static final long serialVersionUID = 1L; @Override/* w w w .j av a 2s .c o m*/ protected void populateItem(ListItem<Role> item) { IModel<String> nameProperty = new EObjectPropertyModel<String, Role>(item.getModel(), UsersPackage.Literals.ROLE__NAME); item.add(new Label("rolename", nameProperty)); item.add(new Label("roles", buildRoles(item.getModelObject()))); PageParameters params = new PageParameters(getPage().getPageParameters()); params.set(params.getIndexedCount(), "roles"); params.set(params.getIndexedCount(), item.getModelObject().getName()); item.add(new BookmarkablePageLink<Void>("edit", SettingsPage.class, params)); item.add(new Link<Role>("delete", item.getModel()) { private static final long serialVersionUID = 1L; @Override public void onClick() { try { TransactionUtil.deleteWithCrossRefs(getModelObject()); } catch (CommitException e) { getSession().error(e.getMessage()); logger.error("Failed to commit", e); } } }); } }; roleList.setReuseItems(true); add(roleList); add(buildAddNewLink(getModel())); }
From source file:org.jabylon.rest.ui.wicket.config.sections.security.UsersConfigSection.java
License:Open Source License
public UsersConfigSection(String id, IModel<UserManagement> model) { super(id, model); ComplexEObjectListDataProvider<User> provider = new ComplexEObjectListDataProvider<User>(model, UsersPackage.Literals.USER_MANAGEMENT__USERS); ListView<User> userList = new ListView<User>("user.row", provider) { private static final long serialVersionUID = 1L; @Override// w w w .j av a2s. c om protected void populateItem(ListItem<User> item) { item.add(new UserImagePanel("username", item.getModel())); item.add(new Label("roles", buildRoles(item.getModelObject()))); PageParameters params = new PageParameters(getPage().getPageParameters()); params.set(params.getIndexedCount(), "users"); String name = item.getModelObject().getName(); //so it doesn't crash on a broken model if (name == null) name = ""; params.set(params.getIndexedCount(), name); item.add(new BookmarkablePageLink<Void>("edit", SettingsPage.class, params)); item.add(new Link<User>("delete", item.getModel()) { private static final long serialVersionUID = 1L; @Override public void onClick() { try { TransactionUtil.deleteWithCrossRefs(getModelObject()); } catch (CommitException e) { getSession().error(e.getMessage()); logger.error("Failed to commit", e); } } }); } }; userList.setReuseItems(true); add(userList); add(buildAddNewLink(getModel())); }