Example usage for org.apache.wicket.markup.html.form SimpleFormComponentLabel SimpleFormComponentLabel

List of usage examples for org.apache.wicket.markup.html.form SimpleFormComponentLabel SimpleFormComponentLabel

Introduction

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

Prototype

public SimpleFormComponentLabel(String id, LabeledWebMarkupContainer labelProvider) 

Source Link

Document

Construct.

Usage

From source file:at.molindo.esi4j.example.web.HomePage.java

License:Apache License

public HomePage() {
    add(new UrlSubmissionForm("urlForm"));

    _searchModel = new AbstractReadOnlyModel<Search>() {
        private final Search _search = new Search();

        @Override// w  w  w  . j  av  a 2 s.c  o m
        public Search getObject() {
            return _search;
        }
    };

    _searchResponseModel = new LoadableDetachableModel<ListenableActionFuture<SearchResponseWrapper>>() {

        @Override
        protected ListenableActionFuture<SearchResponseWrapper> load() {
            Search search = _searchModel.getObject();
            return _searchService.search(search.getQuery(), search.getCategories());
        }

    };

    IModel<List<SearchHitWrapper>> articlesModel = new AbstractReadOnlyModel<List<SearchHitWrapper>>() {

        @Override
        public List<SearchHitWrapper> getObject() {
            return _searchResponseModel.getObject().actionGet().getSearchHits();
        }

    };

    IModel<List<? extends TermsFacet.Entry>> facetsModel = new AbstractReadOnlyModel<List<? extends TermsFacet.Entry>>() {

        @Override
        public List<? extends TermsFacet.Entry> getObject() {
            Facets facets = _searchResponseModel.getObject().actionGet().getSearchResponse().getFacets();
            if (facets == null) {
                return Collections.emptyList();
            }

            TermsFacet facet = (TermsFacet) facets.facet("categories");
            if (facet == null) {
                return Collections.emptyList();
            }

            return facet.getEntries();
        }

    };

    add(new TextField<String>("search", new PropertyModel<String>(_searchModel, "query"))
            .add(new OnChangeUpdateSearchBehavior()));

    // category select
    add(_facetsContainer = new CheckGroup<String>("facetsContainer"));
    _facetsContainer.setOutputMarkupId(true).setRenderBodyOnly(false);
    _facetsContainer.add(new ListView<TermsFacet.Entry>("categoryFacets", facetsModel) {

        @Override
        protected IModel<TermsFacet.Entry> getListItemModel(
                IModel<? extends List<TermsFacet.Entry>> listViewModel, int index) {
            return new CompoundPropertyModel<TermsFacet.Entry>(super.getListItemModel(listViewModel, index));
        }

        @Override
        protected void populateItem(final ListItem<Entry> item) {
            CheckBox box;
            item.add(box = new CheckBox("check", new IModel<Boolean>() {

                @Override
                public Boolean getObject() {
                    return _searchModel.getObject().getCategories().contains(item.getModelObject().getTerm());
                }

                @Override
                public void setObject(Boolean checked) {
                    List<String> categories = _searchModel.getObject().getCategories();
                    String category = item.getModelObject().getTerm().string();
                    if (Boolean.TRUE.equals(checked)) {
                        categories.add(category);
                    } else {
                        categories.remove(category);
                    }
                }

                @Override
                public void detach() {
                }

            }));
            box.add(new OnChangeUpdateSearchBehavior());

            item.add(new SimpleFormComponentLabel("term",
                    box.setLabel(new PropertyModel<String>(item.getModel(), "term"))));
            item.add(new Label("count"));
        }

    });

    // search results
    add(_container = new WebMarkupContainer("container"));
    _container.setOutputMarkupId(true);
    _container.add(new Label("query", _searchModel.getObject().getQuery()));
    _container.add(new ListView<SearchHitWrapper>("result", articlesModel) {

        @Override
        protected IModel<SearchHitWrapper> getListItemModel(
                IModel<? extends List<SearchHitWrapper>> listViewModel, int index) {
            return new CompoundPropertyModel<SearchHitWrapper>(super.getListItemModel(listViewModel, index));
        }

        @Override
        protected void populateItem(final ListItem<SearchHitWrapper> item) {
            item.add(new Label("object.subject"));
            item.add(new Label("object.date"));
            item.add(new Label("object.body", new AbstractReadOnlyModel<String>() {

                @Override
                public String getObject() {
                    SearchHitWrapper wrapper = item.getModelObject();

                    HighlightField field = wrapper.getSearchHit().getHighlightFields().get("body");
                    if (field == null) {
                        return wrapper.getObject(Article.class).getBody();
                    }

                    Object[] fragments = field.getFragments();
                    if (fragments == null) {
                        return wrapper.getObject(Article.class).getBody();
                    }

                    return StringUtils.join(" ... ", fragments);
                }
            }));
            item.add(new ExternalLink("link", new PropertyModel<String>(item.getModel(), "object.url")));
            item.add(new ListView<String>("categories",
                    new PropertyModel<List<String>>(item.getModel(), "object.categories")) {

                @Override
                protected void populateItem(ListItem<String> item) {
                    item.add(new Label("name", item.getModel()));
                }
            });
        }

    });

    add(new IndicatingAjaxLink<Void>("rebuild") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            _searchService.rebuild();
            updateSearch(target);
        }

    });

    add(new IndicatingAjaxLink<Void>("delete") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            _articleService.deleteArticles();
            _searchService.refresh();
            updateSearch(target);
        }

    });
}

From source file:com.fdorigo.rmfly.wicket.RecordPage.java

private void init() {
    add(new FeedbackPanel("feedback"));

    final DateTextField dateTextField = new DateTextField("arrivalDate");
    dateTextField.setRequired(true);/*from   w ww . j  a va 2s  . c  o m*/

    DatePicker datePicker = new DatePicker() {
        @Override
        protected String getAdditionalJavaScript() {
            return "${calendar}.cfg.setProperty(\"navigator\",true,false); ${calendar}.render();";
        }
    };
    datePicker.setShowOnFieldClick(true);
    datePicker.setAutoHide(true);
    dateTextField.add(datePicker);

    final TextField<String> nNumberField = new TextField<>("nnumber");
    nNumberField.setRequired(true);
    if (validNnumber) {
        nNumberField.add(AttributeModifier.append("readonly", "true"));
    } else {
        nNumberField.add(AttributeModifier.append("placeholder", "Not Found"));
    }

    DropDownChoice<AirplaneType> listCategories = new DropDownChoice<>("category",
            new PropertyModel<>(this, "selected"), Arrays.asList(AirplaneType.values()));
    listCategories.setRequired(true);

    final TextField<String> firstNameField = new TextField<>("firstName");
    final TextField<String> lastNameField = new TextField<>("lastName");
    final TextField<String> primaryPhoneField = new TextField<>("primaryPhone");
    primaryPhoneField.setRequired(true);
    final TextField<String> secondaryPhoneField = new TextField<>("secondaryPhone");
    final TextField<String> addressOneField = new TextField<>("addressOne");
    final TextField<String> addressStateField = new TextField<>("addressState");
    final TextField<String> addressCityField = new TextField<>("addressCity");
    final TextField<String> addressZipField = new TextField<>("addressZip");
    final TextField<String> emailAddressField = new TextField<>("emailAddress");
    emailAddressField.add(EmailAddressValidator.getInstance());
    emailAddressField.setRequired(true);
    final TextField<String> airplaneMakeField = new TextField<>("airplaneMake");
    final TextField<String> airplaneModelField = new TextField<>("airplaneModel");
    final NumberTextField<Integer> manufactureYearField = new NumberTextField<>("manufactureYear");
    manufactureYearField.setType(Integer.class);
    int year = Calendar.getInstance().get(Calendar.YEAR);
    manufactureYearField.setMinimum(1903).setMaximum(year);

    RadioGroup<String> group = new RadioGroup<>("needJudging");
    group.setRequired(true);
    add(group);
    ListView<Boolean> radios = new ListView<Boolean>("radios", TRUE_FALSE) {
        @Override
        protected void populateItem(ListItem<Boolean> item) {
            Radio<Boolean> radio = new Radio<>("radio", item.getModel());
            radio.setLabel(new Model(item.getModelObject()));
            item.add(radio);
            item.add(new SimpleFormComponentLabel("boolval", radio));
        }
    }.setReuseItems(true);
    group.add(radios);

    Model<Record> recordModel = new Model<>(record);
    Form<Record> recordForm = new Form<>("recordForm", new CompoundPropertyModel<>(recordModel));

    final Button saveRecordButton = new Button("save") {
        @Override
        public void onSubmit() {
            record.setCategory(selected.toString());
            if (manufactureYearField.getInput() != null) {
                record.setManufactureYear(manufactureYearField.getInput());
            }
            recordFacade.edit(record);
            setResponsePage(HomePage.class);
        }
    };
    if (formControlsEnabled != true) {
        saveRecordButton.setVisible(false);
    }
    recordForm.add(saveRecordButton);

    final Button deleteRecordButton = new Button("delete") {
        @Override
        public void onSubmit() {
            recordFacade.remove(record);
            setResponsePage(HomePage.class);
        }
    };

    deleteRecordButton.setDefaultFormProcessing(false);
    if (formControlsEnabled != true) {
        deleteRecordButton.setVisible(false);
    }
    recordForm.add(deleteRecordButton);

    add(recordForm);

    recordForm.add(nNumberField);
    recordForm.add(firstNameField);
    recordForm.add(lastNameField);
    recordForm.add(secondaryPhoneField);
    recordForm.add(addressOneField);
    recordForm.add(addressStateField);
    recordForm.add(addressCityField);
    recordForm.add(addressZipField);
    recordForm.add(emailAddressField);
    recordForm.add(airplaneMakeField);
    recordForm.add(airplaneModelField);
    recordForm.add(manufactureYearField);

    /* Mandatory Fields */
    recordForm.add(dateTextField);
    recordForm.add(primaryPhoneField);
    recordForm.add(group);
    recordForm.add(listCategories);
    //        recordForm.add(new FormComponentFeedbackBorder("arrivalDateBorder").add(dateTextField));
    //        recordForm.add(new FormComponentFeedbackBorder("primaryPhoneBorder").add(primaryPhoneField));
    //        recordForm.add(new FormComponentFeedbackBorder("needJudgingBorder").add(group));
    //        recordForm.add(new FormComponentFeedbackBorder("categoryBorder").add(listCategories));
}

From source file:com.francetelecom.clara.cloud.presentation.environments.EnvironmentsTablePanel.java

License:Apache License

@Override
protected void onBeforeRender() {

    createSearchCriteriaForm();//from  w  ww  .  j ava 2 s.  c om

    viewAllCheckBox = new AjaxCheckBox("allEnvironmentsCheckbox",
            new Model<Boolean>(WicketSession.get().getViewAll())) {
        private static final long serialVersionUID = 6279581094195253824L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            WicketSession.get().setViewAll(getModelObject());

            updateEnvDetailsPanel(target);

        }
    };
    viewAllCheckBox.setLabel(WicketUtils.getStringResourceModel(this, "portal.environment.table.header.all"));
    viewAllCheckBox.setVisible(release == null);
    searchCriteriaForm.addOrReplace(viewAllCheckBox);

    SimpleFormComponentLabel viewAllLabel = new SimpleFormComponentLabel("allEnvironmentsLabel",
            viewAllCheckBox);
    viewAllLabel.setVisible(release == null);
    searchCriteriaForm.addOrReplace(viewAllLabel);

    getEnvironmentsFromDB();

    initTable();
    refreshContainer.addOrReplace(dataTable);
    super.onBeforeRender();
}

From source file:com.francetelecom.clara.cloud.presentation.releases.ReleasesTablePanel.java

License:Apache License

@Override
protected void onBeforeRender() {
    //    protected void initViewAllCheckBox() {

    createSearchCriteriaForm();//w w  w  .  ja  va  2  s . co  m

    viewAllCheckBox = new AjaxCheckBox("allReleasesCheckbox",
            new Model<Boolean>(WicketSession.get().getViewAll())) {
        private static final long serialVersionUID = 3701907014721062208L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            WicketSession.get().setViewAll(getModelObject());
            getApplicationReleasesFromDB();
            //
            initTable();
            refreshContainer.replace(dataTable);
            target.add(refreshContainer);
        }
    };
    viewAllCheckBox.setLabel(WicketUtils.getStringResourceModel(this, "portal.release.table.header.all"));
    viewAllCheckBox.setVisible(app == null);
    searchCriteriaForm.addOrReplace(viewAllCheckBox);

    SimpleFormComponentLabel viewAllLabel = new SimpleFormComponentLabel("allReleasesLabel", viewAllCheckBox);
    viewAllLabel.setVisible(app == null);
    searchCriteriaForm.addOrReplace(viewAllLabel);

    getApplicationReleasesFromDB();

    initTable();
    refreshContainer.addOrReplace(dataTable);
    super.onBeforeRender();
}

From source file:gr.abiss.calipso.wicket.asset.AssetCustomAttributeFormPanel.java

License:Open Source License

/**
 * Renders User Interface Components/* ww  w  . j  a  v a 2  s. co  m*/
 * 
 * @param isMandatory
 *            make attribute description and type mandatory
 * @param model
 *            The AssetTypeCustomAttribute model that the methods' components are bind to
 */
@SuppressWarnings("serial")
private void addComponents(final CompoundPropertyModel model, final boolean isMandatory) {

    logger.info("addComponents, isMandatory: " + isMandatory);

    // Mandatory mark. red asterisk (*)
    add(isMandatory ? new MandatoryPanel("mandatoryPanel") : new WebMarkupContainer("mandatoryPanel"));

    // name
    addName(model, isMandatory);

    // form type
    addType(model, isMandatory);

    Integer selected = type.getModelObject() != null ? type.getModelObject()
            : AssetTypeCustomAttribute.FORM_TYPE_SELECT;
    //if(selected == null)
    logger.debug("selected: " + selected);
    addValidationPanel(new PropertyModel(model.getObject(), "validationExpression"), isMandatory, selected);

    Fragment mandatoryFragment;
    Fragment activeFragment;
    TextField mappingKey = new TextField("mappingKey");//, new PropertyModel(model.getObject(), "mappingKey"));
    add(mappingKey);

    addOptionsPanel(model, selected, !isMandatory);
    if (isMandatory) {// Edit Mode

        mandatoryFragment = new Fragment("mandatoryField", "mandatoryEditMode", this);
        activeFragment = new Fragment("activeField", "activeEditMode", this);

        // Mandatory checkbox
        // ------------------------------------------------------------------
        CheckBox mandatory = new CheckBox("mandatory");
        mandatoryFragment.add(mandatory);
        mandatory.setModel(model);
        // form label for mandatory
        mandatory.setLabel(new ResourceModel("asset.customAttributes.mandatory"));
        add(new SimpleFormComponentLabel("mandatoryLabel", mandatory));

        // Active checkbox
        // ---------------------------------------------------------------------
        CheckBox active = new CheckBox("active");
        activeFragment.add(active);
        active.setModel(model);
        // form label for active
        active.setLabel(new ResourceModel("asset.customAttributes.active"));
        add(new SimpleFormComponentLabel("activeLabel", active));

    } else {// Search Mode
        List<ValuePair> searchModi = new ArrayList<ValuePair>();
        searchModi.add(new ValuePair(localize("asset.customAttribute.yes"), "1"));
        searchModi.add(new ValuePair(localize("asset.customAttribute.no"), "0"));

        // Mandatory
        // ---------------------------------------------------------------------------
        mandatoryFragment = new Fragment("mandatoryField", "mandatorySearchMode", this);
        final DropDownChoice mandatoryChoice = new DropDownChoice("mandatory", searchModi,
                new IChoiceRenderer() {
                    @Override
                    public Object getDisplayValue(Object object) {
                        return ((ValuePair) object).getName();
                    }

                    @Override
                    public String getIdValue(Object object, int index) {
                        return String.valueOf(((ValuePair) object).getValue());
                    }
                });

        mandatoryChoice.setNullValid(true);

        // form label for mandatory
        mandatoryChoice.setLabel(new ResourceModel("asset.customAttributes.mandatory"));
        add(new SimpleFormComponentLabel("mandatoryLabel", mandatoryChoice));

        mandatoryFragment.add(mandatoryChoice);

        // Active
        // ------------------------------------------------------------------------------
        activeFragment = new Fragment("activeField", "activeSearchMode", this);
        final DropDownChoice activeChoice = new DropDownChoice("active", searchModi, new IChoiceRenderer() {
            @Override
            public Object getDisplayValue(Object object) {
                return ((ValuePair) object).getName();
            }

            @Override
            public String getIdValue(Object object, int index) {
                return index + "";
            }
        });

        activeChoice.setNullValid(true);

        // form label for active
        activeChoice.setLabel(new ResourceModel("asset.customAttributes.active"));
        add(new SimpleFormComponentLabel("activeLabel", activeChoice));

        activeFragment.add(activeChoice);
    }
    add(mandatoryFragment);
    add(activeFragment);

}

From source file:gr.abiss.calipso.wicket.asset.AssetCustomAttributeFormPanel.java

License:Open Source License

private void addType(final CompoundPropertyModel model, final boolean isMandatory) {
    // attributeTypeList is a an object that contains a list of
    // attributeTypes
    // and a Map of pairs (AttributeTypes,AttributeTypes)
    //final AttributeTypes attributeTypesList = new AttributeTypes();

    logger.debug("addType, isMandatory: " + isMandatory);
    type = new DropDownChoice<Integer>("formType", new ArrayList<Integer>(CustomAttribute.FORM_TYPES),
            new IChoiceRenderer<Integer>() {
                @Override/*from   w  w  w  .j  a v  a2 s .c  o  m*/
                public Object getDisplayValue(Integer o) {
                    return localize("asset.attributeType_" + o.toString());
                }

                @Override
                public String getIdValue(Integer object, int index) {
                    return index + "";
                }
            }) {
        private static final long serialVersionUID = 1L;

        /**
         * @see org.apache.wicket.Component#initModel()
         */
        @Override
        protected boolean wantOnSelectionChangedNotifications() {
            return true;
        }

        //         @Override
        //         protected void onSelectionChanged(Integer newSelection) {
        //            if (isMandatory) {
        //               AssetCustomAttributeFormPanel.this.remove(validPanel);
        //               if (newSelection.equals(AssetTypeCustomAttribute.FORM_TYPE_MULTISELECT)
        //                     || newSelection.equals(AssetTypeCustomAttribute.FORM_TYPE_SELECT)
        //                     || newSelection.equals(AssetTypeCustomAttribute.FORM_TYPE_OPTIONS_TREE)) {
        //                  optionsPanel = new CustomAttributeOptionsPanel("optionTranslationsPanel", (AssetTypeCustomAttribute) model.getObject(), getCalipso().getSupportedLanguages(), textAreaOptions);
        //                  AssetCustomAttributeFormPanel.this.add(validPanel);
        //               }
        //               else if (newSelection.equals(AssetTypeCustomAttribute.FORM_TYPE_TEXT)) {
        //                     validPanel = new ValidationPanel("validPanel", model, isMandatory);
        //                     AssetCustomAttributeFormPanel.this.add(validPanel);
        //                  }
        //                  else{
        //                  AssetCustomAttributeFormPanel.this.add(new EmptyPanel("validPanel"));
        //               }
        //            }
        //            setModelObject(newSelection);
        //         }

        //         /**
        //          * @see
        //          * org.apache.wicket.markup.html.form.AbstractSingleSelectChoice
        //          * #getDefaultChoice(java.lang.Object)
        //          */
        //         @Override
        //         protected CharSequence getDefaultChoice(Object selected) {
        //            // TODO Auto-generated method stub
        //            return super
        //                  .getDefaultChoice(AssetTypeCustomAttribute.FORM_TYPE_TEXT);
        //         }
    };
    type.setOutputMarkupId(true);
    type.add(new AjaxFormComponentUpdatingBehavior("onchange") {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            logger.info("onUpdate");
            if (isMandatory) {
                // AssetCustomAttributeFormPanel.this.remove(validPanel);
                Integer selected = type.getModelObject();

                if (selected.equals(AssetTypeCustomAttribute.FORM_TYPE_MULTISELECT)
                        || selected.equals(AssetTypeCustomAttribute.FORM_TYPE_SELECT)
                        || selected.equals(AssetTypeCustomAttribute.FORM_TYPE_OPTIONS_TREE)) {
                    optionsPanel.setVisible(true);
                    validPanel.setVisible(false);
                } else if (selected.equals(AssetTypeCustomAttribute.FORM_TYPE_TEXT)) {
                    optionsPanel.setVisible(false);
                    validPanel.setVisible(true);
                } else {
                    optionsPanel.setVisible(false);
                    validPanel.setVisible(false);
                }
                target.add(optionsPanelContainer);
                target.add(validPanelContainer);
            }
        }
    });

    type.setNullValid(false);
    type.setEnabled(this.assetTypeCanBeModified);
    type.setOutputMarkupId(true);
    add(type);

    type.setModel(new PropertyModel(model.getObject(), "formType"));
    // form label for form type
    type.setLabel(new ResourceModel("asset.customAttributes.type"));

    add(new SimpleFormComponentLabel("formTypeLabel", type));
    if (isMandatory) {
        type.setRequired(true);
        type.add(new ErrorHighlighter());
    }
}

From source file:gr.abiss.calipso.wicket.asset.AssetCustomAttributeFormPanel.java

License:Open Source License

private void addName(final CompoundPropertyModel model, final boolean isMandatory) {
    logger.debug("addName, isMandatory: " + isMandatory);
    if (model.getObject() instanceof AssetTypeCustomAttribute) {
        List<Language> languages = getCalipso().getSupportedLanguages();
        CustomAttribute attr = (CustomAttribute) model.getObject();
        if (MapUtils.isEmpty(attr.getNameTranslations())) {
            attr.setNameTranslations(getCalipso().getNameTranslations(attr));
            logger.info("Loaded '" + attr.getName() + "' name translations from the DB: "
                    + attr.getNameTranslations());
        } else {/*w w w.jav  a  2s  .  c o m*/

            logger.info("Loaded '" + attr.getName() + "' name translations from memory: "
                    + attr.getNameTranslations());
        }
        // TODO: change this to only use the space-supported languages after
        // moving asset type creation to space admin
        //nameTranslations
        add(new ListView("nameTranslations", languages) {
            @Override
            protected void populateItem(ListItem listItem) {
                Language language = (Language) listItem.getModelObject();
                TextField description = new TextField("name");
                if (isMandatory) {
                    description.setRequired(true);
                    description.add(new ErrorHighlighter());
                }
                listItem.add(description);
                description.setModel(
                        new PropertyModel(model.getObject(), "nameTranslations[" + language.getId() + "]"));
                //model.bind(description, "nameTranslations["+language.getId()+"]");
                // form label for name
                description.setLabel(new ResourceModel("language." + language.getId()));
                listItem.add(new SimpleFormComponentLabel("languageLabel", description));
            }
        }.setReuseItems(true));
    } else {
        WebMarkupContainer container = new WebMarkupContainer("nameTranslations");
        TextField description = new TextField("name");
        description.setRequired(false);
        container.add(description);
        container.add(new Label("languageLabel", "").setVisible(false));
        add(container);
    }
}

From source file:gr.abiss.calipso.wicket.asset.AssetTypeFormPanel.java

License:Open Source License

/**
 * Renders UI Components// w w  w. j av a  2 s  . c o  m
 * */
private void addComponents(final List<AssetTypeCustomAttribute> assetTypeCustomAttributes,
        final CompoundPropertyModel model) {
    //Mandatory mark. red asterisk (*)
    add(new MandatoryPanel("mandatoryPanel"));

    //name
    /*
    TextField name = new TextField("name");
    name.setRequired(true);
    name.add(new ErrorHighlighter());
    add(name);
    model.bind(name);
    //form label for name
    name.setLabel(new ResourceModel("asset.assetTypes.description"));
    add(new SimpleFormComponentLabel("textLabel", name));
     */
    if (MapUtils.isEmpty(this.assetType.getNameTranslations())) {
        this.assetType.setNameTranslations(getCalipso().getNameTranslations(this.assetType));
    }
    // TODO: switch to space or spacegroup languages when we move asset type creation context there
    add(new ListView("nameTranslations", getCalipso().getSupportedLanguages()) {
        protected void populateItem(ListItem listItem) {
            Language language = (Language) listItem.getModelObject();
            TextField description = new TextField("name");
            // name translations are required.
            description.setRequired(true);
            description.add(new ErrorHighlighter());
            listItem.add(description);
            description.setModel(new PropertyModel(assetType, "nameTranslations[" + language.getId() + "]"));
            //model.bind(description, "nameTranslations["+language.getId()+"]");
            // form label for name
            description.setLabel(new ResourceModel("language." + language.getId()));
            listItem.add(new SimpleFormComponentLabel("languageLabel", description));
        }
    });

    WebMarkupContainer customAttributes = new WebMarkupContainer("customAttributes");

    //Add new attribute
    Link addNewAttribute = new Link("add") {
        public void onClick() {
            activate(new IBreadCrumbPanelFactory() {
                public BreadCrumbPanel create(String id, IBreadCrumbModel breadCrumbModel) {
                    return new AssetCustomAttributesPanel(
                            getBreadCrumbModel().getActive().getComponent().getId(), getBreadCrumbModel(),
                            AssetTypeFormPanel.this.assetType);
                }
            });

        }//onClick
    };

    customAttributes.add(addNewAttribute);

    final SimpleAttributeModifier sam = new SimpleAttributeModifier("class", "alt");

    //customAttributes
    ListView listView = new ListView("customAttributesList", assetTypeCustomAttributes) {
        protected void populateItem(ListItem listItem) {
            if (listItem.getIndex() % 2 != 0) {
                listItem.add(sam);
            } //if

            final AssetTypeCustomAttribute assetTypeCustomAttribute = (AssetTypeCustomAttribute) listItem
                    .getModelObject();

            boolean canDeleteCustomAttribute = false;//getJtrac().loadCountForAssetTypeAndCustomAttribute(assetType, assetTypeCustomAttribute);

            //Name
            Label name = new Label("name", localize(assetTypeCustomAttribute.getNameTranslationResourceKey()));
            listItem.add(name);

            //Type
            Label type = new Label("type",
                    localize("asset.attributeType_" + assetTypeCustomAttribute.getFormType()));
            listItem.add(type);

            //Active
            Label active = new Label("active",
                    assetTypeCustomAttribute.isActive() ? localize("yes") : localize("no"));
            listItem.add(active);

            //Mandatory
            Label mandatory = new Label("mandatory",
                    assetTypeCustomAttribute.isMandatory() ? localize("yes") : localize("no"));
            listItem.add(mandatory);

            //Remove
            Link remove = new Link("remove") {
                public void onClick() {
                    assetTypeCustomAttributes.remove(assetTypeCustomAttribute);
                    assetType.remove(assetTypeCustomAttribute);

                    BreadCrumbUtils.removeActiveBreadCrumbPanel(getBreadCrumbModel());

                    activate(new IBreadCrumbPanelFactory() {
                        public BreadCrumbPanel create(String id, IBreadCrumbModel breadCrumbModel) {
                            return new AssetTypeFormPagePanel(
                                    getBreadCrumbModel().getActive().getComponent().getId(),
                                    getBreadCrumbModel(), assetType);
                        }//create
                    });
                }//onClick
            };
            listItem.add(remove);
            remove.setVisible(canDeleteCustomAttribute);
        }//populateItem
    };//ListView

    add(customAttributes.add(listView).setVisible(isEdit));

}

From source file:gr.abiss.calipso.wicket.asset.ItemFormAssetSearchPanel.java

License:Open Source License

public ItemFormAssetSearchPanel(String id, AssetSearch as) {
    super(id);/*from   w  w w  .ja  va  2s  .  c  o m*/
    this.setOutputMarkupId(true);
    this.setVisible(true);
    final AssetSearch assetSearch = as;
    this.setDefaultModel(new CompoundPropertyModel(assetSearch));

    final WebMarkupContainer assetSearchForm = new WebMarkupContainer("assetAjaxSearchForm");
    assetSearchForm.setOutputMarkupId(true);
    add(assetSearchForm);
    assetSearchForm.add(new AjaxLink("close") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            closePanel(target);
        }

    });
    // inventory code
    final TextField inventoryCode = new TextField("asset.inventoryCode");
    inventoryCode.setLabel(new ResourceModel("asset.inventoryCode"));
    inventoryCode.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        protected void onUpdate(AjaxRequestTarget target) {
            // Reset the inventoryCode model dropdown when the vendor changes
            assetSearch.getAsset().setInventoryCode(inventoryCode.getDefaultModelObjectAsString());
        }
    });
    assetSearchForm.add(inventoryCode);
    assetSearchForm.add(new SimpleFormComponentLabel("assetInventoryCodeLabel", inventoryCode));

    AssetSearchDataProvider assetSearchDataProvider = new AssetSearchDataProvider(assetSearch);
    // if AssetSearch only addresses one AssetType, do not allow other choices
    List<AssetType> assetTypes = null;
    if (assetSearch.getAsset().getAssetType() != null) {
        assetTypes = new ArrayList<AssetType>(1);
        assetTypes.add(assetSearch.getAsset().getAssetType());
    } else {
        assetTypes = getCalipso().findAllAssetTypes();
    }
    @SuppressWarnings("serial")
    final DropDownChoice assetTypeChoice = new DropDownChoice("asset.assetType", assetTypes,
            new IChoiceRenderer() {
                public Object getDisplayValue(Object o) {
                    return localize(((AssetType) o).getNameTranslationResourceKey());
                }

                public String getIdValue(Object o, int i) {
                    return localize(((AssetType) o).getName());
                }
            });
    if (assetTypes.size() == 1) {
        logger.debug("Only allow one Asset TypeChoice");
        assetTypeChoice.setNullValid(false).setRequired(true);
    } else {
        logger.debug("Only any AssetType Choice");
    }

    // List view headers 
    List<String> columnHeaders = assetSearch.getColumnHeaders();

    ListView headings = new ListView("headings", columnHeaders) {

        private static final long serialVersionUID = 1L;

        protected void populateItem(ListItem listItem) {
            final String header = (String) listItem.getModelObject();
            AjaxLink headingLink = new AjaxLink("heading") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    assetSearch.doSort(header);
                    target.addComponent(ItemFormAssetSearchPanel.this);
                }
            };

            listItem.add(headingLink);
            String label = localize("asset.assetsList." + header);
            headingLink.add(new Label("heading", label));
            if (header.equals(assetSearch.getSortFieldName())) {
                String order = assetSearch.isSortDescending() ? "order-down" : "order-up";
                listItem.add(new SimpleAttributeModifier("class", order));
            }
        }
    };
    assetSearchForm.add(headings);

    //Header message 
    Label hAction = new Label("hAction");
    hAction.setDefaultModel(new Model(localize("edit")));
    assetSearchForm.add(hAction);

    // the DataView with the results of the search
    final AssetsDataView assetDataView = new AssetsDataView("assetDataView", assetSearchDataProvider,
            getBreadCrumbModel(), getCalipso().getRecordsPerPage()) {

        // when click the add button
        @Override
        public void onAddAssetClick(Asset asset, AjaxRequestTarget target) {
            // re-render
            onAssetSelect(asset, target);
        }
    };
    assetSearchForm.add(assetDataView);

    AjaxPagingNavigator panelNavigator = new AjaxPagingNavigator("navigator", assetDataView) {
        @Override
        protected void onAjaxEvent(AjaxRequestTarget target) {
            target.addComponent(ItemFormAssetSearchPanel.this);
        }
    };
    assetSearchForm.add(panelNavigator);

    // back to our asset type choice....
    assetSearchForm.add(assetTypeChoice);
    assetTypeChoice.setLabel(new ResourceModel("asset.assetType"));
    // Add Ajax Behaviour...
    assetTypeChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        protected void onUpdate(AjaxRequestTarget target) {
            // Reset the phone model dropdown when the vendor changes
            assetDataView.setCurrentPage(0);
            assetSearch.getAsset().setAssetType((AssetType) assetTypeChoice.getModelObject());
        }
    });
    assetSearchForm.add(new SimpleFormComponentLabel("assetTypeLabel", assetTypeChoice));
    AjaxLink submitLink = new AjaxLink("submit") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            //assetSearchForm.replace(getConfiguredAssetListPanel(assetSearch));
            target.addComponent(ItemFormAssetSearchPanel.this);
        }
    };
    assetSearchForm.add(submitLink);
}

From source file:gr.abiss.calipso.wicket.asset.menu.AssetPanelCustomAttribute.java

License:Open Source License

/**
 * Renders User Interface Components//from  w w w  .  j av a 2s  . com
 * 
 * @param isMandatory
 *            make attribute description and type mandatory
 * @param model
 *            The AssetTypeCustomAttribute model that the methods' components are bind to
 */
private void addComponents(final CompoundPropertyModel model, final boolean isMandatory) {

    // Mandatory mark. red asterisk (*)
    if (isMandatory) {
        add(new MandatoryPanel("mandatoryPanel")); // Create new Custom
        // Asset (Creation Mode)
        validPanel = new ValidationPanel("validPanel", model, isMandatory);
    }

    else {
        add(new WebMarkupContainer("mandatoryPanel"));// for search, fields
        // are optional
        // (Search Mode)
        add(new EmptyPanel("validPanel"));
    }
    // name
    // ------------------------------------------------------------------------------------

    TextField description = new TextField("name");
    if (isMandatory) {
        description.setRequired(true);
        description.add(new ErrorHighlighter());
    }
    add(description);
    description.setModel(model);
    // form label for name
    description.setLabel(new ResourceModel("asset.customAttributes.description"));
    add(new SimpleFormComponentLabel("nameLabel", description));

    // form type
    // -------------------------------------------------------------------------------
    // Ervis
    // attributeTypeList is a an object that contains a list of
    // attributeTypes
    // and a Map of pairs (AttributeTypes,AttributeTypes)
    //final AttributeTypes attributeTypesList = new AttributeTypes();

    type = new DropDownChoice("formType", new ArrayList<Integer>(CustomAttribute.FORM_TYPES),
            new IChoiceRenderer() {

                public String getIdValue(Object o, int i) {
                    return i + "";
                }

                public Object getDisplayValue(Object o) {

                    return localize("asset.attributeType_" + o.toString());
                }
            }) {
        private static final long serialVersionUID = 1L;

        /**
         * @see org.apache.wicket.Component#initModel()
         */
        @Override
        protected boolean wantOnSelectionChangedNotifications() {
            return true;
        }

        @Override
        protected void onSelectionChanged(Object newSelection) {
            if (isMandatory) {
                AssetPanelCustomAttribute.this.remove(validPanel);
                if (newSelection.equals(CustomAttribute.FORM_TYPE_TEXT)) {
                    validPanel = new ValidationPanel("validPanel", model, isMandatory);
                    AssetPanelCustomAttribute.this.add(validPanel);
                } else {
                    AssetPanelCustomAttribute.this.add(new EmptyPanel("validPanel"));
                }
            }
            setModelObject(newSelection);
        }

        /**
         * @see
         * org.apache.wicket.markup.html.form.AbstractSingleSelectChoice
         * #getDefaultChoice(java.lang.Object)
         */
        @Override
        protected CharSequence getDefaultChoice(String selected) {
            return super.getDefaultChoice(CustomAttribute.FORM_TYPE_TEXT.toString());
        }
    };

    type.setNullValid(false);
    type.setEnabled(this.assetTypeCanBeModified);
    type.setOutputMarkupId(true);
    add(type);
    type.setModel(model);
    // form label for form type
    type.setLabel(new ResourceModel("asset.customAttributes.type"));
    add(new SimpleFormComponentLabel("formTypeLabel", type));
    if (isMandatory) {
        type.setRequired(true);
        type.add(new ErrorHighlighter());
        add(validPanel);
    }

    Fragment mandatoryFragment;
    Fragment activeFragment;

    if (isMandatory) {// Edit Mode

        mandatoryFragment = new Fragment("mandatoryField", "mandatoryEditMode", this);
        activeFragment = new Fragment("activeField", "activeEditMode", this);

        // Mandatory checkbox
        // ------------------------------------------------------------------
        CheckBox mandatory = new CheckBox("mandatory");
        mandatoryFragment.add(mandatory);
        mandatory.setModel(model);

        // form label for mandatory
        mandatory.setLabel(new ResourceModel("asset.customAttributes.mandatory"));
        add(new SimpleFormComponentLabel("mandatoryLabel", mandatory));

        // Active checkbox
        // ---------------------------------------------------------------------
        CheckBox active = new CheckBox("active");
        activeFragment.add(active);
        active.setModel(model);

        // form label for active
        active.setLabel(new ResourceModel("asset.customAttributes.active"));
        add(new SimpleFormComponentLabel("activeLabel", active));

    } else {// Search Mode
        List<ValuePair> searchModi = new ArrayList<ValuePair>();
        searchModi.add(new ValuePair(localize("asset.customAttribute.yes"), "1"));
        searchModi.add(new ValuePair(localize("asset.customAttribute.no"), "0"));

        // Mandatory
        // ---------------------------------------------------------------------------
        mandatoryFragment = new Fragment("mandatoryField", "mandatorySearchMode", this);
        final DropDownChoice mandatoryChoice = new DropDownChoice("mandatory", searchModi,
                new IChoiceRenderer() {
                    public Object getDisplayValue(Object object) {
                        return ((ValuePair) object).getName();
                    }

                    public String getIdValue(Object object, int index) {
                        return String.valueOf(((ValuePair) object).getValue());
                    }
                });

        mandatoryChoice.setNullValid(true);

        // form label for mandatory
        mandatoryChoice.setLabel(new ResourceModel("asset.customAttributes.mandatory"));
        add(new SimpleFormComponentLabel("mandatoryLabel", mandatoryChoice));

        mandatoryFragment.add(mandatoryChoice);

        // Active
        // ------------------------------------------------------------------------------
        activeFragment = new Fragment("activeField", "activeSearchMode", this);
        final DropDownChoice activeChoice = new DropDownChoice("active", searchModi, new IChoiceRenderer() {
            public Object getDisplayValue(Object object) {
                return ((ValuePair) object).getName();
            }

            public String getIdValue(Object object, int index) {
                return index + "";
            }
        });

        activeChoice.setNullValid(true);

        // form label for active
        activeChoice.setLabel(new ResourceModel("asset.customAttributes.active"));
        add(new SimpleFormComponentLabel("activeLabel", activeChoice));

        activeFragment.add(activeChoice);
    }
    add(mandatoryFragment);
    add(activeFragment);

}