Example usage for org.apache.wicket.markup.html.list ListView ListView

List of usage examples for org.apache.wicket.markup.html.list ListView ListView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list ListView ListView.

Prototype

public ListView(final String id, final List<T> list) 

Source Link

Usage

From source file:com.mysticcoders.pastebin.web.pages.PasteListXmlPage.java

License:Apache License

/**
 * Creates a new instance.  No parameters are necessary.
 *///from  www. j a v  a 2s.c o  m
public PasteListXmlPage() {
    String privatePastebinName = ((PastebinApplication) Application.get()).getPrivatePastebinName();
    add(new ListView("pastes", new PasteEntriesModel(privatePastebinName)) {
        private static final long serialVersionUID = 1L;

        public void populateItem(ListItem item) {
            // paste element
            PasteEntry entry = (PasteEntry) item.getModelObject();
            item.add(new AttributeModifier("creationtime", new Model(DATE_FORMAT.format(entry.getCreated()))));
            item.add(new AttributeModifier("imagecount", new Model(entry.getImages().size())));
            item.add(new AttributeModifier("pasteid", new Model(entry.getId())));

            // channel element
            StringBuilder sb = new StringBuilder("<![CDATA[");
            sb.append(entry.getChannel() == null ? "" : entry.getChannel());
            sb.append("]]>");
            Label label = new Label("channel", new Model(sb.toString()));
            item.add(label);
            label.setEscapeModelStrings(false);
            label.setRenderBodyOnly(true);

            // line1 element
            sb = new StringBuilder("<![CDATA[");
            sb.append(entry.getCode().split("\\n|\\r\\n")[0]);
            sb.append("]]>");
            label = new Label("line1", new Model(sb.toString()));
            item.add(label);
            label.setEscapeModelStrings(false);
            label.setRenderBodyOnly(true);

            // url element
            HttpServletRequest req = ((WebRequest) getRequest()).getHttpServletRequest();
            StringBuilder url = new StringBuilder();
            //                StringBuilder url = new StringBuilder("http://");
            //                url.append(req.getServerName());
            //                if (req.getServerPort() != 80) {
            //                    url.append(':').append(req.getServerPort());
            //                }
            url.append(req.getContextPath());
            url.append('/');
            PageParameters parms = new PageParameters();
            parms.put("0", String.valueOf(entry.getId()));
            url.append(getPage().urlFor(PageMap.forName(PageMap.DEFAULT_NAME), ViewPastebinPage.class, parms));
            label = new Label("url", url.toString());
            item.add(label);
            label.setEscapeModelStrings(false);
            label.setRenderBodyOnly(true);

            // user element
            sb = new StringBuilder("<![CDATA[");
            sb.append(entry.getName());
            sb.append("]]>");
            label = new Label("user", sb.toString());
            item.add(label);
            label.setEscapeModelStrings(false);
            label.setRenderBodyOnly(true);
        }
    });
}

From source file:com.norconex.jefmon.instance.action.ActionsCell.java

License:Apache License

@SuppressWarnings("nls")
public ActionsCell(final String id, final JobStatusTreeNode job, final List<IJobAction> actions) {
    super(id);//  ww w. java2 s.c  om

    add(new ListView<IJobAction>("actions", actions) {
        private static final long serialVersionUID = 3635147316426384496L;

        @Override
        protected void populateItem(ListItem<IJobAction> item) {
            final IJobAction action = item.getModelObject();
            if (action.isVisible(job)) {
                String icon = action.getFontIcon();
                final String pageName = action.getName().getObject() + " - " + job.getJobId();
                Link<String> link = new Link<String>("actionLink") {
                    private static final long serialVersionUID = 3488334322744811811L;

                    @Override
                    public void onClick() {
                        Component comp = action.execute(job, ActionPage.COMPONENT_ID);
                        if (comp != null) {
                            setResponsePage(new ActionPage(comp, Model.of(pageName)));
                        }
                    }
                };
                PopupSettings popup = new PopupSettings(pageName, PopupSettings.RESIZABLE);
                popup.setWidth(800);
                link.setPopupSettings(popup);
                link.add(new Label("actionIcon").add(new CssClass(icon)));
                link.add(new BootstrapTooltip(action.getName()));
                item.add(link);
            } else {

                WebMarkupContainer empty = new WebMarkupContainer("actionLink");
                empty.add(new Label("actionIcon"));
                empty.setVisible(false);
                item.add(empty);
            }
        }
    });
}

From source file:com.norconex.jefmon.instances.InstancesPanel.java

License:Apache License

private ListView<JobState> createJobStateListView(final InstanceSummary instance) {
    return new ListView<JobState>("statuses", Arrays.asList(STATUSES)) {
        private static final long serialVersionUID = -716585245859081922L;

        @Override/*from   ww w .j ava 2  s  . c  o  m*/
        protected void populateItem(ListItem<JobState> item) {
            JobState status = item.getModelObject();
            MutableInt count = instance.getStatuses().get(status);
            if (count == null) {
                count = new MutableInt(0);
            }
            String css = "";
            if (instance.isInvalid()) {
                css = "fa fa-exclamation-circle nx-jef-status-error";
            } else if (status == null || count.getValue() == 0) {
                css = "jef-tree-job-blank";
            } else {
                switch (status) {
                case COMPLETED:
                    css = "fa fa-check-circle nx-jef-status-ok";
                    break;
                case RUNNING:
                    css = "fa fa-spinner fa-spin nx-jef-status-running";
                    break;
                default:
                    css = "fa fa-exclamation-circle nx-jef-status-error";
                    break;
                }
            }

            Label icon = new Label("statusIcon");
            icon.add(new CssClass(css));
            String countLabel = count.toString();
            if (instance.isInvalid()) {
                icon.setVisible(false);
                countLabel = StringUtils.EMPTY;
            }
            item.add(new Label("statusCount", countLabel));
            item.add(icon);
        }
    };
}

From source file:com.norconex.jefmon.settings.panels.JobActionsPanel.java

License:Apache License

public JobActionsPanel(String id, JEFMonConfig dirtyConfig) {
    super(id, dirtyConfig);
    setOutputMarkupId(true);/*from   w ww  .j  a  v a  2  s  .  com*/

    loadAllJobActions();

    // If we are configuring for the first time, configure default ones for
    // the user.
    if (JEFMonApplication.get().getConfig().getInstanceName() == null) {
        dirtyConfig.setJobActions(defaultActions);
    }

    availableActions.addAll(allActions.values());
    if (ArrayUtils.isNotEmpty(dirtyConfig.getJobActions())) {
        remove(availableActions, dirtyConfig.getJobActions());
        selectedActions.addAll(Arrays.asList(dirtyConfig.getJobActions()));
    }

    //--- Available actions ---
    ListView<IJobAction> avaiableActionsList = new ListView<IJobAction>("avaiableActions",
            Model.ofList(availableActions)) {
        private static final long serialVersionUID = 823045777818571044L;

        @Override
        protected void populateItem(ListItem<IJobAction> item) {
            populateActionItem(item);
        }
    };
    add(avaiableActionsList);

    //--- Selected actions ---
    ListView<IJobAction> selectedActionsList = new ListView<IJobAction>("selectedActions",
            Model.ofList(selectedActions)) {
        private static final long serialVersionUID = 386919939647830956L;

        @Override
        protected void populateItem(ListItem<IJobAction> item) {
            populateActionItem(item);
        }
    };
    add(selectedActionsList);

    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = -2113526159749269348L;

        @Override
        protected void respond(AjaxRequestTarget target) {
            IRequestParameters params = RequestCycle.get().getRequest().getRequestParameters();
            moveAction(params.getParameterValue("class").toString(),
                    params.getParameterValue("target").toString(),
                    params.getParameterValue("newindex").toInt());
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            String callbackUrl = getCallbackUrl().toString();

            Map<String, Object> map = new HashMap<>();
            map.put("callbackUrl", callbackUrl);

            PackageTextTemplate ptt = new PackageTextTemplate(JobActionsPanel.class, "JobActionsPanel.js");
            OnDomReadyHeaderItem onDomReadyHeaderItem = OnDomReadyHeaderItem.forScript(ptt.asString(map));
            response.render(onDomReadyHeaderItem);
            IOUtils.closeQuietly(ptt);
        }

    });
}

From source file:com.premiumminds.webapp.wicket.InfiniteScrollListView.java

License:Open Source License

@SuppressWarnings("serial")
@Override//from  w ww . j  a v  a  2s.  c o m
protected void onInitialize() {
    super.onInitialize();

    setOutputMarkupPlaceholderTag(true);

    add(listContainer = new WebMarkupContainer("list"));
    listContainer.setOutputMarkupPlaceholderTag(true);

    listContainer.add(upLoading = new WebMarkupContainer("upLoading"));
    upLoading.setOutputMarkupPlaceholderTag(true);
    upLoading.setVisible(false);

    add(upBehavior = new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = -1895111598850513557L;

        @Override
        protected void respond(AjaxRequestTarget target) {
            target.appendJavaScript("InfiniteScroll.getFromContainer('"
                    + InfiniteScrollListView.this.getMarkupId() + "').scrollDownTo('"
                    + getItemMarkupId(InfiniteScrollListView.this.getModel().getObject().get(0)) + "')");

            setStartIndex(InfiniteScrollListView.this.getModel().getStartIndex() - SCROLL_SIZE);

            refreshLoadings();

            target.add(listContainer);
        }
    });

    listView = new ListView<T>("list", new LoadableDetachableModel<List<? extends T>>() {
        @Override
        protected List<? extends T> load() {
            return getModel().getObject();
        }
    }) {
        private static final long serialVersionUID = -1218380580005295126L;

        @Override
        protected void populateItem(ListItem<T> item) {
            InfiniteScrollListView.this.populateItem(item);
            item.setMarkupId(getItemMarkupId(item.getModelObject()));
        }

        @Override
        public void renderHead(IHeaderResponse response) {
            String containerId = InfiniteScrollListView.this.getMarkupId();

            response.render(
                    JavaScriptHeaderItem.forReference(javascriptReference, "infinite-scroll-list-view-js"));

            response.render(OnDomReadyHeaderItem.forScript("InfiniteScroll.getFromContainer('" + containerId
                    + "').changeUp(" + Boolean.toString(isShowUpLoading()) + ")"));
            response.render(OnDomReadyHeaderItem.forScript("InfiniteScroll.getFromContainer('" + containerId
                    + "').changeDown(" + Boolean.toString(isShowDownLoading()) + ")"));

            super.renderHead(response);
        }
    };
    listContainer.add(listView);

    listContainer.add(downLoading = new WebMarkupContainer("downLoading"));
    downLoading.setOutputMarkupPlaceholderTag(true);
    downLoading.setVisible(getModel().getSize() > MAX_ELEMENTS);

    add(downBehavior = new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = -1895111598850513557L;

        @Override
        protected void respond(AjaxRequestTarget target) {
            target.appendJavaScript(
                    "InfiniteScroll.getFromContainer('" + InfiniteScrollListView.this.getMarkupId() + "')"
                            + ".scrollUpTo('"
                            + getItemMarkupId(InfiniteScrollListView.this.getModel().getObject()
                                    .get(Math.min(InfiniteScrollListView.this.getModel().getViewSize() - 1,
                                            InfiniteScrollListView.this.getModel().getObject().size() - 1)))
                            + "')");
            setStartIndex(getModel().getStartIndex() + SCROLL_SIZE);

            refreshLoadings();

            target.add(listContainer);
        }
    });

    add(getScrollBehaviour());
}

From source file:com.premiumminds.wicket.crudifier.form.CrudifierForm.java

License:Open Source License

public CrudifierForm(String id, IModel<T> model, CrudifierEntitySettings entitySettings,
        CrudifierFormSettings formSettings, Map<Class<?>, IObjectRenderer<?>> renderers) {
    super(id, model);

    setOutputMarkupId(true);//www. j av  a 2s  .  c  o  m

    this.formSettings = formSettings;
    this.entitySettings = entitySettings;
    this.renderers = renderers;

    add(new Label("legend", new StringResourceModel("legend", this, getModel(), "Unknown")) {
        private static final long serialVersionUID = -7854751811138463187L;

        @Override
        protected void onConfigure() {
            super.onConfigure();

            setVisible(!getDefaultModelObjectAsString().isEmpty());
        }
    });

    add(listControlGroups = new ListControlGroups<T>("controls", getModel(), entitySettings, renderers) {
        private static final long serialVersionUID = 8621555399423058702L;

        @Override
        protected EntityProvider<?> getEntityProvider(String name) {
            return CrudifierForm.this.getEntityProvider(name);
        }

    });

    add(new AjaxSubmitLink("submit", this) {
        private static final long serialVersionUID = -4527592607129929399L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            target.add(CrudifierForm.this);
            CrudifierForm.this.onSubmit(target, form);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(CrudifierForm.this);
            CrudifierForm.this.onError(target, form);
        }
    }.add(new Label("submitLabel", new StringResourceModel("submit.label", this, getModel(), "Submit"))));

    add(new ListView<Component>("buttons", buttons) {
        private static final long serialVersionUID = -8614436913101248043L;

        @Override
        protected void populateItem(ListItem<Component> item) {
            if (getApplication().usesDevelopmentConfig()) {
                if (!"button".equals(item.getModelObject().getId())) {
                    throw new WicketRuntimeException(
                            "custom buttons must have the wicket:id=\"button\" and must have a label with wicket:id=\"label\"");
                }
                if (item.getModelObject().get("label") == null) {
                    throw new WicketRuntimeException(
                            "custom buttons must have a label inside them with wicket:id=\"label\"");
                }
            }
            item.add(item.getModelObject());
        }
    });
}

From source file:com.premiumminds.wicket.crudifier.form.StatelessCrudifierForm.java

License:Open Source License

public StatelessCrudifierForm(String id, IModel<T> model, CrudifierEntitySettings entitySettings,
        CrudifierFormSettings formSettings, Map<Class<?>, IObjectRenderer<?>> renderers) {
    super(id, model);

    setOutputMarkupId(true);/*from w w  w  .  ja  v  a  2s.c o  m*/

    this.formSettings = formSettings;
    this.entitySettings = entitySettings;
    this.renderers = renderers;

    add(new Label("legend", new StringResourceModel("legend", this, getModel(), "Unknown")) {
        private static final long serialVersionUID = -7854751811138463187L;

        @Override
        protected void onConfigure() {
            super.onConfigure();

            setVisible(!getDefaultModelObjectAsString().isEmpty());
        }
    });

    add(listControlGroups = new ListControlGroups<T>("controls", getModel(), entitySettings, renderers) {
        private static final long serialVersionUID = 2855610861985645116L;

        @Override
        protected EntityProvider<?> getEntityProvider(String name) {
            return StatelessCrudifierForm.this.getEntityProvider(name);
        }
    });

    add(new Label("submitLabel", new StringResourceModel("submitLabel", this, getModel(), "Submit")));

    add(new ListView<Component>("buttons", buttons) {
        private static final long serialVersionUID = -8614436913101248043L;

        @Override
        protected void populateItem(ListItem<Component> item) {
            if (getApplication().usesDevelopmentConfig()) {
                if (!"button".equals(item.getModelObject().getId())) {
                    throw new WicketRuntimeException(
                            "custom buttons must have the wicket:id=\"button\" and must have a label with wicket:id=\"label\"");
                }
                if (item.getModelObject().get("label") == null) {
                    throw new WicketRuntimeException(
                            "custom buttons must have a label inside them with wicket:id=\"label\"");
                }
            }
            item.add(item.getModelObject());
        }
    });
}

From source file:com.premiumminds.wicket.crudifier.table.CrudifierTable.java

License:Open Source License

public CrudifierTable(String id, Map<Class<?>, IObjectRenderer<?>> renderers) {
    super(id);/*w w w  .  ja  va2s .  c  o  m*/

    this.renderers = renderers;

    add(table = new WebMarkupContainer("table"));

    table.add(headers);

    IModel<List<T>> modelList = new LoadableDetachableModel<List<T>>() {
        private static final long serialVersionUID = 3296835301481871094L;

        @Override
        protected List<T> load() {
            return CrudifierTable.this.load(0, 0);
        }
    };

    table.add(listView = new ListView<T>("list", modelList) {
        private static final long serialVersionUID = -2293426877086666745L;

        @Override
        protected void populateItem(final ListItem<T> item) {
            RepeatingView columns = new RepeatingView("columns");
            for (final IColumn<T> column : CrudifierTable.this.columns) {
                columns.add(column.createComponent(columns.newChildId(), item.getModelObject(),
                        CrudifierTable.this, CrudifierTable.this.renderers));
            }

            item.add(columns);
            CrudifierTable.this.populateItem(item);
            return;
        }
    }.setReuseItems(true));
}

From source file:com.przemo.projectmanagementweb.controls.SprintsListPanel.java

public SprintsListPanel(String id, IModel<List<Sprint>> model) {
    super(id, model);
    add(new ListView<Sprint>("sprintlistview", new SprintService().retrieveAllSprints()) {
        @Override/*from w  w w .j a  v a  2  s . co  m*/
        protected void populateItem(final ListItem<Sprint> li) {
            Link l = new Link("link", li.getModel()) {
                @Override
                public void onClick() {
                    setResponsePage(new SprintPage(new CompoundPropertyModel<>(li.getModel())));
                }
            };
            l.add(new Label("name", new PropertyModel(li.getModel(), "name")));
            li.add(l);
        }
    });
}

From source file:com.przemo.projectmanagementweb.pages.BasePMPage.java

private void addTopMenu() {
    addOrReplace(new ListView<MenuItem>("topMenu", getMenuModel()) {

        @Override/*  ww w.  j  a  va 2 s.  c  o  m*/
        protected void populateItem(ListItem<MenuItem> li) {
            if (getCurrentMenuClass().equals(li.getModel().getObject().menuClass)) {
                li.add(new AttributeModifier("class", Model.of("current_page_item")));
            }
            final Class cl = li.getModel().getObject().menuClass;
            li.add(new Link("link") {
                @Override
                public void onClick() {
                    setResponsePage(cl);
                }
            }.add(new Label("linkText", Model.of(li.getModel().getObject().menuWicketId))));
        }
    });
}