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:de.inren.frontend.blogpost.ManageBlogPostsPanel.java

License:Apache License

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

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

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

                    // TODO only delete blogPosts not in use
                    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<BlogPost>(blogPost)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);

                            return res;
                        }
                    };

                    // bg.add(new ToolbarBehavior());
                    cellItem.add(bg);
                }
            }).addPropertyColumn("id", true).addPropertyColumn("uid", true).addPropertyColumn("created", true)
            .addPropertyColumn("title", true).addPropertyColumn("state", true)
            .addBooleanPropertyColumn("availableForComment", true).addListProperty("roles", "name")
            .setNumberOfRows(10).build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.carlogbook.ManageCarLogEntriesPanel.java

License:Apache License

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

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

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

                    // TODO only delete groups not in use
                    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<CarLogEntry>(group)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);

                            return res;
                        }
                    };

                    // bg.add(new ToolbarBehavior());
                    cellItem.add(bg);
                }
            }).addPropertyColumn("id", true).addPropertyColumn("carId", true).addPropertyColumn("totalKm", true)
            .addPropertyColumn("fuel", true).addPropertyColumn("fuel", true).addPropertyColumn("oil", true)
            .addPropertyColumn("service", true).addPropertyColumn("pitStopDate", true)
            .addPropertyColumn("price", true).addPropertyColumn("station", true).setNumberOfRows(10).build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.carlogbook.ManageCarsPanel.java

License:Apache License

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

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

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

                    // TODO only delete groups not in use
                    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<Car>(group)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);

                            return res;
                        }
                    };

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

From source file:de.inren.frontend.common.table.AjaxFallbackDefaultDataTableBuilder.java

License:Apache License

/**
 * /* w ww. j av  a  2s .c  o  m*/
 * @param id
 * @return the table
 */
public Component build(String id) {
    if (Strings.isNullOrEmpty(id) || columns.isEmpty() || dataProvider == null) {
        throw new IllegalStateException(
                "Can't create Table, not all elements are available. id=" + id + ", " + toString());
    }
    Component table = new AjaxFallbackDefaultDataTable<T, String>(id, columns, dataProvider, numberOfRows);
    table.setOutputMarkupId(true);
    table.add(AttributeModifier.append("class", "table-bordered"));
    table.add(AttributeModifier.append("class", "table-hover"));
    table.add(AttributeModifier.append("class", "table-condensed"));
    table.add(AttributeModifier.append("class", "table-striped"));

    return table;
}

From source file:de.inren.frontend.componentaccess.ManageComponentAccessPanel.java

License:Apache License

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

    Component table = builder
            .addDataProvider(new RepositoryDataProvider<ComponentAccess>(componentAccessRepository))
            .add(new AbstractColumn<ComponentAccess, String>(
                    new StringResourceModel("actions.label", ManageComponentAccessPanel.this, null)) {

                @Override/*from  www.  j av  a2s  .  c  o  m*/
                public void populateItem(Item<ICellPopulator<ComponentAccess>> cellItem, String componentId,
                        IModel<ComponentAccess> rowModel) {

                    final ComponentAccess componentAccess = rowModel.getObject();

                    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<ComponentAccess>(componentAccess)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);

                            return res;
                        };
                    };
                    cellItem.add(bg);
                }
            }).addPropertyColumn("id", 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.dbproperty.ManageDbPropertiesPanel.java

License:Apache License

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

    Component table = builder.addDataProvider(new RepositoryDataProvider<DbProperty>(dbPropertyService))
            .add(new AbstractColumn<DbProperty, String>(
                    new StringResourceModel("actions.label", ManageDbPropertiesPanel.this, null)) {
                @Override//w w  w  .j a va2s  .  c  o m
                public void populateItem(Item<ICellPopulator<DbProperty>> cellItem, String componentId,
                        IModel<DbProperty> rowModel) {

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

                    // 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>();
                            BootstrapAjaxLink<String> edit = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

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

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);

                            return res;
                        }
                    };

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

From source file:de.inren.frontend.group.ManageGroupsPanel.java

License:Apache License

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

    Component table = builder.addDataProvider(new RepositoryDataProvider<Group>(groupRepository))
            .add(new AbstractColumn<Group, String>(
                    new StringResourceModel("actions.label", ManageGroupsPanel.this, null)) {
                @Override//from  ww w .  j a va  2 s .  co m
                public void populateItem(Item<ICellPopulator<Group>> cellItem, String componentId,
                        IModel<Group> rowModel) {

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

                    // TODO only delete groups not in use
                    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<Group>(group)));

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);

                            return res;
                        }
                    };

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

From source file:de.inren.frontend.health.ManageMeasurementsPanel.java

License:Apache License

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

    Component table = builder.addDataProvider(new RepositoryDataProvider<Measurement>(measurementRepository) {

        @Override/*from   ww w  .  ja  va 2s  .  c  om*/
        protected Page<Measurement> getPage(Pageable pageable) {
            return measurementRepository.findByUid(getUser().getId(), pageable);
        }

        @Override
        public long size() {
            User user = getUser();
            return user == null ? 0L : measurementRepository.findByUid(user.getId()).size();
        }

    }).add(new AbstractColumn<Measurement, String>(
            new StringResourceModel("actions.label", ManageMeasurementsPanel.this, null)) {
        @Override
        public void populateItem(Item<ICellPopulator<Measurement>> cellItem, String componentId,
                IModel<Measurement> rowModel) {

            final Measurement measurement = rowModel.getObject();

            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<Measurement>(measurement)));

                        }
                    };
                    edit.setIconType(GlyphIconType.pencil);
                    edit.setSize(Buttons.Size.Mini);
                    res.add(edit);

                    BootstrapAjaxLink<String> delete = new BootstrapAjaxLink<String>("button",
                            Buttons.Type.Menu) {

                        @Override
                        public void onClick(AjaxRequestTarget target) {

                            try {
                                // feedback
                                getSession().getFeedbackMessages().clear();
                                target.add(getFeedback());
                                // delete
                                measurementRepository.delete(measurement.getId());
                                // manage
                                Component table = getTable(id);
                                ManageMeasurementsPanel.this.addOrReplace(table);
                                target.add(table);
                            } catch (Exception e) {
                                error(e.getMessage());
                                target.add(getFeedback());
                            }
                        }
                    };
                    delete.setIconType(GlyphIconType.trash);
                    delete.setSize(Buttons.Size.Mini);
                    res.add(delete);
                    return res;
                }
            };

            // bg.add(new ToolbarBehavior());
            cellItem.add(bg);
        }
    }).addPropertyColumn("id", true).addPropertyColumn("uid", true)
            // .addPropertyColumn("weight", true)
            // .addPropertyColumn("fat", true)
            // .addPropertyColumn("water", true)
            .add(new HealthColumn<Measurement>(
                    new StringResourceModel("weight.label", ManageMeasurementsPanel.this, null), "weight",
                    "weight"))
            .add(new HealthColumn<Measurement>(
                    new StringResourceModel("fat.label", ManageMeasurementsPanel.this, null), "fat", "fat"))
            .add(new HealthColumn<Measurement>(
                    new StringResourceModel("water.label", ManageMeasurementsPanel.this, null), "water",
                    "water"))
            .add(new HealthColumn<Measurement>(
                    new StringResourceModel("muscle.label", ManageMeasurementsPanel.this, null), "muscle",
                    "muscle"))
            .add(new HealthColumn<Measurement>(
                    new StringResourceModel("bone.label", ManageMeasurementsPanel.this, null), "bone", "bone"))
            .setNumberOfRows(10)

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

From source file:de.inren.frontend.log4j.ManageLoggerSettingsPanel.java

License:Apache License

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

    Component table = builder.addDataProvider(new RepositoryDataProvider<LoggerBean>(loggerBeanRepository) {
        @Override/* w  ww  . j a v  a  2 s.  c  o m*/
        protected Page<LoggerBean> getPage(final Pageable pageable) {
            if (filterSettings == null) {
                return getRepository().findAll(pageable);
            }
            final String name = Strings.isEmpty(filterSettings.getName()) ? "%"
                    : "%" + filterSettings.getName() + "%";
            final String level = Strings.isEmpty(filterSettings.getLevel()) ? null
                    : "%" + filterSettings.getLevel() + "%";
            if (level == null) {
                return ((LoggerBeanRepository) getRepository()).findByNameLike(name, pageable);
            } else {
                return ((LoggerBeanRepository) getRepository()).findByNameLikeAndLevelLike(name, level,
                        pageable);

            }
        }

        @Override
        public long size() {
            PageRequest page = new PageRequest(0, 100);
            return getPage(page).getTotalElements();
        }

    }).addPropertyColumn("id", true).addPropertyColumn("name", true).addPropertyColumn("level", true)
            .add(new AbstractColumn<LoggerBean, String>(
                    new StringResourceModel("level.label", ManageLoggerSettingsPanel.this, null)) {

                @Override
                public void populateItem(Item<ICellPopulator<LoggerBean>> cellItem, String componentId,
                        IModel<LoggerBean> rowModel) {
                    ListChoice<String> listChoice = new ListChoice<String>(ListChoiceMarkupContainer.CHOICES_ID,
                            new PropertyModel<String>(rowModel.getObject(), "level"),
                            loggerAdminService.getLogLevels()) {
                        protected void onSelectionChanged(String level) {
                            LoggerBean lb = rowModel.getObject();
                            loggerAdminService.setLevelAndSave(lb.getName(), level);
                        };

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

                    };
                    listChoice.setNullValid(true);
                    listChoice.setMaxRows(1);
                    ListChoiceMarkupContainer markup = new ListChoiceMarkupContainer(componentId, listChoice);
                    cellItem.add(markup);
                }
            }).setNumberOfRows(10).build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:de.inren.frontend.mailserver.ManageMailServerPanel.java

License:Apache License

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

    Component table = builder.addDataProvider(new RepositoryDataProvider<MailServer>(mailServerRepository))
            .add(new AbstractColumn<MailServer, String>(
                    new StringResourceModel("actions.label", ManageMailServerPanel.this, null)) {
                @Override/*from w  ww  .java  2 s .c  o m*/
                public void populateItem(Item<ICellPopulator<MailServer>> cellItem, String componentId,
                        IModel<MailServer> rowModel) {

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

                    // 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>();
                            BootstrapAjaxLink<String> edit = new BootstrapAjaxLink<String>("button",
                                    Buttons.Type.Menu) {

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

                                }
                            };
                            edit.setIconType(GlyphIconType.pencil);
                            edit.setSize(Buttons.Size.Mini);
                            res.add(edit);

                            return res;
                        }
                    };

                    // bg.add(new ToolbarBehavior());
                    cellItem.add(bg);
                }
            }).addPropertyColumn("id", true).addPropertyColumn("name", true).addPropertyColumn("host", true)
            .addPropertyColumn("port", true).addPropertyColumn("username", true)
            .addPropertyColumn("password", true).addBooleanPropertyColumn("current").setNumberOfRows(10)
            .build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}