List of usage examples for org.apache.wicket.markup.html.form SimpleFormComponentLabel SimpleFormComponentLabel
public SimpleFormComponentLabel(String id, LabeledWebMarkupContainer labelProvider)
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); }