Example usage for org.apache.wicket Component add

List of usage examples for org.apache.wicket Component add

Introduction

In this page you can find the example usage for org.apache.wicket Component add.

Prototype

public Component add(final Behavior... behaviors) 

Source Link

Document

Adds a behavior modifier to the component.

Usage

From source file:com.userweave.components.navigation.breadcrumb.BreadcrumbPanel.java

License:Open Source License

/**
 * Builds the navigation by recursing from the entity
 * through all parent entities./* w ww  . j  av  a 2s  .  c o  m*/
 * 
 * @param entity
 *       Entity to start recursion from.
 * @param callback
 *       Callback to fire, when a link is clicked.
 */
private void init(EntityBase entity, final EventHandler callback) {
    WebMarkupContainer homePageLinkContainer = new WebMarkupContainer("homePageLinkContainer");

    AjaxLink homePageLink = getHomePageLink(callback);

    homePageLinkContainer.add(homePageLink);

    add(homePageLinkContainer);

    if (entity == null) {
        add(new WebMarkupContainer("crumb"));

        homePageLinkContainer.add(new AttributeAppender("class", true, new Model("homePageActive"), " "));

        return;
    }

    LinkedList<BreadcrumbListItem> breadcrumbs = getBreadcrumbs(entity);

    RepeatingView rv = new RepeatingView("crumb");

    add(rv);

    Iterator<BreadcrumbListItem> iterator = breadcrumbs.iterator();

    while (iterator.hasNext()) {
        final BreadcrumbListItem item = iterator.next();

        Component next;

        StringBuilder cssClass = new StringBuilder("crumb");

        // last element is not clickable
        if (!iterator.hasNext()) {
            next = new LabelFragment(rv.newChildId(), item.getName());

            cssClass.append(" lastCrumb");
        } else {
            next = new LinkFragment(rv.newChildId(), item.getName(), item.getEntity(), callback);
        }

        rv.add(next);

        if (cssClass != null) {
            next.add(new AttributeAppender("class", true, new Model(cssClass), " "));
        }
    }
}

From source file:com.userweave.pages.test.BasePageSurvey.java

License:Open Source License

private void addLoadingPanel() {
    Component loading = new WebMarkupContainer("loading");
    loading.setMarkupId("loading");
    add(loading);//from  ww  w .ja  va2  s .c o m

    final AbstractDefaultAjaxBehavior setTimeBehaviour = new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void respond(AjaxRequestTarget target) {
            pageLoaded(System.currentTimeMillis());
        }
    };

    // add js-function setTime to call setTimeBehaviour
    loading.add(new Behavior() {
        private static final long serialVersionUID = 1L;

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            String jsCall = "function setTime() { wicketAjaxGet( '" + setTimeBehaviour.getCallbackUrl()
                    + "', null, null, null); }";

            response.renderJavaScript(jsCall, null);
        }
    });

    loading.add(setTimeBehaviour);
}

From source file:de.alpharogroup.wicket.components.report.Effects.java

License:Apache License

/**
 * Replace.//  w w  w.  ja  v  a  2  s . c  om
 *
 * @param target
 *            the target
 * @param component
 *            the component
 */
public static void replace(final AjaxRequestTarget target, final Component component) {
    component.add(new DisplayNoneBehavior());
    target.add(component);
    target.appendJavaScript("jQuery('#" + component.getMarkupId() + "').slideDown(100);");
}

From source file:de.inren.frontend.banking.category.ManageCategoriesPanel.java

License:Apache License

@Override
protected final Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<Category> builder = new AjaxFallbackDefaultDataTableBuilder<Category>(
            ManageCategoriesPanel.this);

    Component table = builder.addDataProvider(new RepositoryDataProvider<Category>(categoryRepository))
            .add(new AbstractColumn<Category, String>(
                    new StringResourceModel("actions.label", ManageCategoriesPanel.this, null)) {
                @Override/* w ww.  j av  a 2s .  c om*/
                public void populateItem(Item<ICellPopulator<Category>> cellItem, String componentId,
                        IModel<Category> rowModel) {

                    final ActionPanelBuilder linkBuilder = ActionPanelBuilder.getBuilder();
                    final Category category = rowModel.getObject();
                    // edit link
                    linkBuilder.add(new EditActionLink(true) {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            delegate.switchToComponent(target,
                                    delegate.getEditPanel(new Model<Category>(category)));
                        }
                    });

                    ButtonGroup bg = new ButtonGroup(componentId) {

                        @Override
                        protected List<AbstractLink> newButtons(String buttonMarkupId) {
                            List<AbstractLink> res = new ArrayList<AbstractLink>();
                            BootstrapAjaxLink<String> edit = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    delegate.switchToComponent(target,
                                            delegate.getEditPanel(new Model<Category>(category)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);
                            // Delete Category
                            BootstrapAjaxLink<String> delete = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.deleteCategory(category);
                                    target.add(ManageCategoriesPanel.this);
                                }
                            };
                            delete.setIconType(GlyphIconType.trash);
                            delete.setSize(Buttons.Size.Mini);
                            res.add(delete);
                            // Filter anwenden
                            BootstrapAjaxLink<String> apply = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.applyCategoryToTransactions(category);
                                    target.add(ManageCategoriesPanel.this);
                                }
                            };
                            apply.setIconType(GlyphIconType.plus);
                            apply.setSize(Buttons.Size.Mini);
                            res.add(apply);
                            // Filter entfernen
                            BootstrapAjaxLink<String> remove = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.removeCategoryFromTransactions(category);
                                    target.add(ManageCategoriesPanel.this);
                                }
                            };
                            remove.setIconType(GlyphIconType.minus);
                            remove.setSize(Buttons.Size.Mini);
                            res.add(remove);

                            return res;
                        }
                    };

                    cellItem.add(bg);
                }
            }).addPropertyColumn("id", true).addBooleanPropertyColumn("income", true)
            .addBooleanPropertyColumn("marksMonth", true).addPropertyColumn("name", true).setNumberOfRows(10)
            .build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.banking.common.PrincipalTablePanel.java

License:Apache License

private Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<PrincipalInfo> builder = new AjaxFallbackDefaultDataTableBuilder<PrincipalInfo>(
            PrincipalTablePanel.this);

    Component table = builder.addDataProvider(getDataProvider()).addPropertyColumn("principal", true)
            .addPropertyColumn("count", true).addBooleanPropertyColumn("filtered", true).setNumberOfRows(50)
            .build(id);/*w  ww.ja  va2 s.  c  o  m*/
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.banking.filter.EditOrCreateCategoryFilterPanel.java

License:Apache License

private Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<Transaction> builder = new AjaxFallbackDefaultDataTableBuilder<Transaction>(
            EditOrCreateCategoryFilterPanel.this);

    Component table = builder.addDataProvider(getDataProvider()).addPropertyColumn("id", true)
            .addPropertyColumn("hashCode", true).addPropertyColumn("category", true)
            .addPropertyColumn("accountNumber", true).addPropertyColumn("accountingDate", true)
            .addPropertyColumn("valutaDate", true).addPropertyColumn("principal", true)
            .addPropertyColumn("accountingText", true).addPropertyColumn("purpose", true)
            .addPropertyColumn("amount", true).addPropertyColumn("transactionCurrency", true)
            .addPropertyColumn("balance", true).addPropertyColumn("balanceCurrency", true).setNumberOfRows(10)
            .build(id);//from  w  w w. j  a v  a  2  s .c  o m
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.banking.filter.ManageCategoryFiltersPanel.java

License:Apache License

@Override
protected final Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<CategoryFilter> builder = new AjaxFallbackDefaultDataTableBuilder<CategoryFilter>(
            ManageCategoryFiltersPanel.this);

    Component table = builder.addDataProvider(new RepositoryDataProvider<CategoryFilter>(categoryRepository))
            .add(new AbstractColumn<CategoryFilter, String>(
                    new StringResourceModel("actions.label", ManageCategoryFiltersPanel.this, null)) {
                @Override/*  www.j av  a  2 s .c  o m*/
                public void populateItem(Item<ICellPopulator<CategoryFilter>> cellItem, String componentId,
                        IModel<CategoryFilter> rowModel) {

                    final ActionPanelBuilder linkBuilder = ActionPanelBuilder.getBuilder();
                    final CategoryFilter category = rowModel.getObject();
                    // edit link
                    linkBuilder.add(new EditActionLink(true) {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            delegate.switchToComponent(target,
                                    delegate.getEditPanel(new Model<CategoryFilter>(category)));
                        }
                    });

                    ButtonGroup bg = new ButtonGroup(componentId) {

                        @Override
                        protected List<AbstractLink> newButtons(String buttonMarkupId) {
                            List<AbstractLink> res = new ArrayList<AbstractLink>();
                            BootstrapAjaxLink<String> edit = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    delegate.switchToComponent(target,
                                            delegate.getEditPanel(new Model<CategoryFilter>(category)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);
                            // Filter anwenden
                            BootstrapAjaxLink<String> apply = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.applyCategoryToTransactions(category);
                                    target.add(ManageCategoryFiltersPanel.this);
                                }
                            };
                            apply.setIconType(GlyphIconType.plus);
                            apply.setSize(Buttons.Size.Mini);
                            res.add(apply);
                            // Filter entfernen
                            BootstrapAjaxLink<String> remove = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.removeCategoryFromTransactions(category);
                                    target.add(ManageCategoryFiltersPanel.this);
                                }
                            };
                            remove.setIconType(GlyphIconType.minus);
                            remove.setSize(Buttons.Size.Mini);
                            res.add(remove);

                            return res;
                        }
                    };

                    cellItem.add(bg);
                }
            }).addPropertyColumn("id", true).addPropertyColumn("category.name", true)
            .addPropertyColumn("accountingTextFilter", true).addPropertyColumn("principalFilter", true)
            .addPropertyColumn("purposeFilter", true)

            .setNumberOfRows(10).build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.banking.ManageTransactionsPanel.java

License:Apache License

@Override
protected final Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<Transaction> builder = new AjaxFallbackDefaultDataTableBuilder<Transaction>(
            ManageTransactionsPanel.this);

    Component table = builder.addDataProvider(getDataProvider()).add(new AbstractColumn<Transaction, String>(
            new StringResourceModel("actions.label", ManageTransactionsPanel.this, null)) {
        @Override//w w  w.  j  ava  2  s  . com
        public void populateItem(Item<ICellPopulator<Transaction>> cellItem, String componentId,
                IModel<Transaction> rowModel) {

            final ActionPanelBuilder linkBuilder = ActionPanelBuilder.getBuilder();
            final Transaction transaction = rowModel.getObject();
            // edit link
            linkBuilder.add(new EditActionLink(true) {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    delegate.switchToComponent(target, delegate.getEditPanel(Model.of(transaction)));
                }
            });

            // TODO only delete rights not in use
            ButtonGroup bg = new ButtonGroup(componentId) {

                @Override
                protected List<AbstractLink> newButtons(String buttonMarkupId) {
                    List<AbstractLink> res = new ArrayList<AbstractLink>();

                    // Edit Button
                    BootstrapAjaxLink<String> edit = new BootstrapAjaxLink<String>("button",
                            Buttons.Type.Menu) {

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            delegate.switchToComponent(target, delegate.getEditPanel(Model.of(transaction)));

                        }
                    };
                    edit.setIconType(GlyphIconType.pencil);
                    edit.setSize(Buttons.Size.Mini);
                    res.add(edit);
                    // Create Filter Button
                    BootstrapAjaxLink<String> createFilter = new BootstrapAjaxLink<String>("button",
                            Buttons.Type.Menu) {

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            delegate.switchToComponent(target,
                                    delegate.getCreateFilterPanel(Model.of(transaction)));

                        }
                    };
                    createFilter.setIconType(GlyphIconType.barcode);
                    createFilter.setSize(Buttons.Size.Mini);
                    res.add(createFilter);

                    return res;
                }
            };

            // bg.add(new ToolbarBehavior());
            cellItem.add(bg);
        }
    }).addPropertyColumn("id", true).addPropertyColumn("hashCode", true).addPropertyColumn("category", true)
            .addPropertyColumn("accountNumber", true).addPropertyColumn("accountingDate", true)
            .addPropertyColumn("valutaDate", true).addPropertyColumn("principal", true)
            .addPropertyColumn("accountingText", true).addPropertyColumn("purpose", true)
            .addMoneyPropertyColumn("amount", true).addPropertyColumn("transactionCurrency", true)
            .addPropertyColumn("balance", true).addPropertyColumn("balanceCurrency", true).setNumberOfRows(10)
            .build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.banking.summery.TransactionSummeryPanel.java

License:Apache License

private Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<TransactionSummary> builder = new AjaxFallbackDefaultDataTableBuilder<TransactionSummary>(
            TransactionSummeryPanel.this);

    Component table = builder.addDataProvider(getDataProvider()).addPropertyColumn("category", true)
            .addMoneyPropertyColumn("sum", true).setNumberOfRows(30).build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.banking.tagging.ManageTagsPanel.java

License:Apache License

@Override
protected final Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<Tag> builder = new AjaxFallbackDefaultDataTableBuilder<Tag>(
            ManageTagsPanel.this);

    Component table = builder.addDataProvider(new RepositoryDataProvider<Tag>(tagRepository))
            .add(new AbstractColumn<Tag, String>(
                    new StringResourceModel("actions.label", ManageTagsPanel.this, null)) {
                @Override//from  w  w  w . j  ava  2 s. c  o m
                public void populateItem(Item<ICellPopulator<Tag>> cellItem, String componentId,
                        IModel<Tag> rowModel) {

                    final ActionPanelBuilder linkBuilder = ActionPanelBuilder.getBuilder();
                    final Tag tag = rowModel.getObject();
                    // edit link
                    linkBuilder.add(new EditActionLink(true) {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            delegate.switchToComponent(target, delegate.getEditPanel(new Model<Tag>(tag)));
                        }
                    });

                    ButtonGroup bg = new ButtonGroup(componentId) {

                        @Override
                        protected List<AbstractLink> newButtons(String buttonMarkupId) {
                            List<AbstractLink> res = new ArrayList<AbstractLink>();
                            BootstrapAjaxLink<String> edit = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    delegate.switchToComponent(target,
                                            delegate.getEditPanel(new Model<Tag>(tag)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);
                            // Delete Tag
                            BootstrapAjaxLink<String> delete = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.deleteTag(tag);
                                    target.add(ManageTagsPanel.this);
                                }
                            };
                            delete.setIconType(GlyphIconType.trash);
                            delete.setSize(Buttons.Size.Mini);
                            res.add(delete);
                            // Filter anwenden
                            BootstrapAjaxLink<String> apply = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.applyTagToTransactions(tag);
                                    target.add(ManageTagsPanel.this);
                                }
                            };
                            apply.setIconType(GlyphIconType.plus);
                            apply.setSize(Buttons.Size.Mini);
                            res.add(apply);
                            // Filter entfernen
                            BootstrapAjaxLink<String> remove = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

                                @Override
                                public void onClick(AjaxRequestTarget target) {
                                    bankDataService.removeTagFromTransactions(tag);
                                    target.add(ManageTagsPanel.this);
                                }
                            };
                            remove.setIconType(GlyphIconType.minus);
                            remove.setSize(Buttons.Size.Mini);
                            res.add(remove);

                            return res;
                        }
                    };

                    cellItem.add(bg);
                }
            }).addPropertyColumn("id", true).addPropertyColumn("name", true)
            .addPropertyColumn("description", false).setNumberOfRows(10).build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}