List of usage examples for org.apache.wicket.ajax.form OnChangeAjaxBehavior OnChangeAjaxBehavior
public OnChangeAjaxBehavior()
From source file:org.onehippo.forge.settings.management.config.autoexport.AutoExportConfigPanel.java
License:Apache License
private void addModulesConfigurationToForm() { final WebMarkupContainer listContainer = new WebMarkupContainer("modulesContainer"); //generate a markup-id so the contents can be updated through an AJAX call listContainer.setOutputMarkupId(true); final AutoExportConfig autoExportConfig = autoExportConfigModel.getObject(); //final ArrayList<String> modulesList = autoExportConfig.getModules(); ListView<String> modules = new ListView<String>("autoexport-modules", new PropertyModel(autoExportConfigModel, "modules")) { private static final long serialVersionUID = 1L; @Override/* w w w . j av a2 s.c o m*/ protected void populateItem(final ListItem<String> item) { RequiredTextField moduleField = new RequiredTextField("module", item.getModel()); moduleField.setOutputMarkupId(true); moduleField.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); item.add(moduleField); AjaxSubmitLink remove = new AjaxSubmitLink("remove") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form form) { //modulesList.remove(item.getIndex()); //autoExportConfigModel.getObject().setModules(modulesList); target.add(listContainer); } }; remove.setDefaultFormProcessing(false); item.add(remove); } }; modules.setReuseItems(true); listContainer.add(modules); add(listContainer); }
From source file:org.onehippo.forge.settings.management.config.urlrewriter.UrlRewriterConfigPanel.java
License:Apache License
private WebMarkupContainer createSkippedPrefixes(Model copyOfSkippedPrefixesModel) { final WebMarkupContainer listContainer = new WebMarkupContainer("skippedPrefixesContainer"); //generate a markup-id so the contents can be updated through an AJAX call listContainer.setOutputMarkupId(true); ListView<String> skippedPrefixes = new ListView<String>("urlrewriter-skipped-prefixes", copyOfSkippedPrefixesModel) { private static final long serialVersionUID = 1L; @Override// ww w. j a va 2 s. c om protected void populateItem(final ListItem<String> item) { RequiredTextField prefixField = new RequiredTextField("prefix", item.getModel()); prefixField.setOutputMarkupId(true); prefixField.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); item.add(prefixField); AjaxSubmitLink remove = new AjaxSubmitLink("remove") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form form) { int index = item.getIndex(); getModelObject().remove(index); target.add(listContainer); } }; remove.setDefaultFormProcessing(false); item.add(remove); } }; AjaxLink addPrefix = new AjaxLink("add") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { skippedPrefixes.getModelObject().add(""); target.add(listContainer); target.focusComponent(this); } }; skippedPrefixes.setOutputMarkupId(true); listContainer.add(skippedPrefixes); listContainer.add(addPrefix); return listContainer; }
From source file:org.onehippo.taxonomy.plugin.NewCategoryDialog.java
License:Apache License
public NewCategoryDialog(final IModel<Taxonomy> taxonomyModel, final String pathKey) { super(taxonomyModel); this.name = "new category"; this.pathKey = pathKey; this.key = createKey(); add(new AttributeAppender("class", new Model<String>("hippo-editor"), " ")); final FormComponent<String> keyField = new TextField<String>("key", new IModel<String>() { private static final long serialVersionUID = 1L; public String getObject() { return getKey(); }//from w w w.j ava 2 s .c om public void setObject(String object) { key = object; } public void detach() { } }); keyField.setModelObject(key); keyField.add(new SimpleAttributeModifier("readonly", "readonly")); keyField.add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); keyField.setOutputMarkupId(true); add(keyField); final FormComponent<String> nameField = new TextField<String>("name", new IModel<String>() { private static final long serialVersionUID = 1L; public String getObject() { return name; } public void setObject(String object) { name = object; } public void detach() { } }); nameField.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { keyField.setModelObject(createKey()); target.addComponent(keyField); } }); add(nameField); }
From source file:org.onehippo.taxonomy.plugin.TaxonomyEditorPlugin.java
License:Apache License
/** * Constructor which adds all the UI components. * The UI components include taxonomy tree, toolbar, and detail form container. * The detail form container holds all the category detail fields such as name, description and synonyms. * * @param context/*w ww . j a va 2 s . c om*/ * @param config */ public TaxonomyEditorPlugin(final IPluginContext context, final IPluginConfig config) { super(context, config); final boolean editing = "edit".equals(config.getString("mode")); useUrlKeyEncoding = config.getAsBoolean("keys.urlencode", false); taxonomy = newTaxonomy(getModel(), editing); availableLanguageSelections = getAvailableLanguageSelections(); currentLanguageSelection = new LanguageSelection(getLocale(), getLocale()); synonymModel = new IModel<String[]>() { private static final long serialVersionUID = 1L; public String[] getObject() { EditableCategoryInfo info = taxonomy.getCategoryByKey(key) .getInfo(currentLanguageSelection.getLanguageCode()); return info.getSynonyms(); } public void setObject(String[] object) { EditableCategoryInfo info = taxonomy.getCategoryByKey(key) .getInfo(currentLanguageSelection.getLanguageCode()); try { info.setSynonyms(object); } catch (TaxonomyException e) { redraw(); } } public void detach() { } }; final IModel<Taxonomy> taxonomyModel = new Model<Taxonomy>(taxonomy); String currentLanguageCode = currentLanguageSelection.getLanguageCode(); tree = new TaxonomyTree("tree", new TaxonomyTreeModel(taxonomyModel, currentLanguageCode), currentLanguageCode) { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return editing; } @Override protected void onNodeLinkClicked(AjaxRequestTarget target, TreeNode node) { if (node instanceof CategoryNode) { key = ((CategoryNode) node).getCategory().getKey(); path = ((CategoryNode) node).getCategory().getPath(); } else { key = null; path = null; } redraw(); super.onNodeLinkClicked(target, node); } }; tree.setOutputMarkupId(true); add(tree); if (editing) { TreeNode rootNode = (TreeNode) tree.getModelObject().getRoot(); tree.getTreeState().selectNode(rootNode, true); } holder = new WebMarkupContainer("container-holder"); holder.setOutputMarkupId(true); toolbarHolder = new WebMarkupContainer("toolbar-container-holder"); toolbarHolder.setOutputMarkupId(true); AjaxLink<Void> addCategory = new AjaxLink<Void>("add-category") { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return editing; } @Override public void onClick(AjaxRequestTarget target) { IDialogService dialogService = getDialogService(); dialogService.show(new NewCategoryDialog(taxonomyModel, path) { private static final long serialVersionUID = 1L; @Override public boolean useKeyUrlEncoding() { return useUrlKeyEncoding; } @Override public StringCodec getNodeNameCodec() { final ISettingsService settingsService = getPluginContext() .getService(ISettingsService.SERVICE_ID, ISettingsService.class); final StringCodecFactory stringCodecFactory = settingsService.getStringCodecFactory(); final StringCodec stringCodec = stringCodecFactory.getStringCodec("encoding.node"); if (stringCodec == null) { return new StringCodecFactory.UriEncoding(); } return stringCodec; } @Override protected void onOk() { EditableCategory category = taxonomy.getCategoryByKey(key); TreeNode node; if (category != null) { node = new CategoryNode(new CategoryModel(taxonomyModel, key), currentLanguageSelection.getLanguageCode()); } else { node = new TaxonomyNode(taxonomyModel, currentLanguageSelection.getLanguageCode()); } try { String newKey = getKey(); if (category != null) { category.addCategory(newKey, getName(), currentLanguageSelection.getLanguageCode()); } else { taxonomy.addCategory(newKey, getName(), currentLanguageSelection.getLanguageCode()); } TreeNode child = new CategoryNode(new CategoryModel(taxonomyModel, newKey), currentLanguageSelection.getLanguageCode()); tree.getTreeState().selectNode(child, true); key = newKey; } catch (TaxonomyException e) { error(e.getMessage()); } tree.getTreeState().expandNode(node); tree.markNodeChildrenDirty(node); redraw(); } }); } }; addCategory.add(new Image("add-category-icon", new ResourceReference(TaxonomyEditorPlugin.class, "res/new-category-16.png"))); if (!editing) { addCategory.add(new AttributeAppender("class", new Model<String>("disabled"), " ")); } toolbarHolder.add(addCategory); // <HCT> AjaxLink<Void> removeCategory = new AjaxLink<Void>("remove-category") { private static final long serialVersionUID = 5538299138211283825L; @Override protected IAjaxCallDecorator getAjaxCallDecorator() { return new AjaxPreprocessingCallDecorator(super.getAjaxCallDecorator()) { private static final long serialVersionUID = -7927968187160354605L; @Override public CharSequence preDecorateScript(final CharSequence script) { return "if (confirm('" + getString("confirmDelete") + "'))" + "{" + script + "}"; } }; } @Override public boolean isEnabled() { return editing; } @Override public void onClick(final AjaxRequestTarget target) { EditableCategory category = taxonomy.getCategoryByKey(key); if (category != null) { CategoryNode node = (CategoryNode) tree.getTreeState().getSelectedNodes().iterator().next(); TreeNode parent = node.getParent(); try { category.remove(); key = null; tree.getTreeState().collapseNode(parent); tree.getTreeState().expandNode(parent); redraw(); } catch (TaxonomyException e) { LOG.error("Could not remove category {} [{}]", new Object[] { category.getName(), category.getPath(), e }); } } } }; removeCategory.add(new Image("remove-category-icon", new ResourceReference(TaxonomyEditorPlugin.class, "res/remove-category-16.png"))); if (!editing) { addCategory.add(new AttributeAppender("class", new Model<String>("disabled"), " ")); } toolbarHolder.add(removeCategory); // </HCT> container = new Form("container") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return taxonomy.getCategoryByKey(key) != null; } }; ChoiceRenderer<LanguageSelection> choiceRenderer = new ChoiceRenderer<LanguageSelection>("displayName", "languageCode"); DropDownChoice<LanguageSelection> languageSelectionChoice = new DropDownChoice<LanguageSelection>( "language", new PropertyModel<LanguageSelection>(this, "currentLanguageSelection"), availableLanguageSelections, choiceRenderer); languageSelectionChoice.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = -151291731388673682L; @Override protected void onUpdate(AjaxRequestTarget target) { redraw(); } }); languageSelectionChoice.setOutputMarkupId(true); languageSelectionChoice.setEnabled(!CollectionUtils.isEmpty(availableLanguageSelections)); container.add(languageSelectionChoice); // show key value key: final Label label = new Label("widgetKey", new KeyModel()); container.add(label); if (editing) { MarkupContainer name = new Fragment("name", "fragmentname", this); FormComponent<String> nameField = new TextField<String>("widget", new NameModel()); nameField.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { tree.markNodeDirty(getSelectedNode()); } }); name.add(nameField); container.add(name); container.add(new TextAreaWidget("description", new DescriptionModel())); } else { container.add(new Label("name", new NameModel())); TextField<String> myKey = new TextField<String>("key"); myKey.setVisible(false); container.add(myKey); container.add(new MultiLineLabel("description", new DescriptionModel())); } container.add(new RefreshingView<String>("view") { private static final long serialVersionUID = 1L; @Override protected Iterator<IModel<String>> getItemModels() { return getSynonymList().iterator(); } @Override protected void populateItem(final Item<String> item) { item.add(new AjaxLink("up") { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return item.getIndex() > 0; } @Override public boolean isVisible() { return editing; } @Override public void onClick(AjaxRequestTarget target) { String[] synonyms = synonymModel.getObject(); int index = item.getIndex(); String tmp = synonyms[index]; synonyms[index] = synonyms[index - 1]; synonyms[index - 1] = tmp; synonymModel.setObject(synonyms); target.addComponent(holder); } }); item.add(new AjaxLink("down") { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { String[] synonyms = synonymModel.getObject(); return item.getIndex() < synonyms.length - 1; } @Override public boolean isVisible() { return editing; } @Override public void onClick(AjaxRequestTarget target) { String[] synonyms = synonymModel.getObject(); int index = item.getIndex(); String tmp = synonyms[index]; synonyms[index] = synonyms[index + 1]; synonyms[index + 1] = tmp; synonymModel.setObject(synonyms); target.addComponent(holder); } }); item.add(new AjaxLink("remove") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return editing; } @Override public void onClick(AjaxRequestTarget target) { String[] synonyms = synonymModel.getObject(); String[] syns = new String[synonyms.length - 1]; System.arraycopy(synonyms, 0, syns, 0, item.getIndex()); System.arraycopy(synonyms, item.getIndex() + 1, syns, item.getIndex(), synonyms.length - item.getIndex() - 1); synonymModel.setObject(syns); target.addComponent(holder); } }); if (editing) { TextFieldWidget input = new TextFieldWidget("synonym", item.getModel()); FormComponent fc = (FormComponent) input.get("widget"); fc.add(new MinimumLengthValidator(1)); item.add(input); } else { item.add(new Label("synonym", item.getModel())); } } }); container.add(new AjaxLink("add") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return editing; } @Override public void onClick(AjaxRequestTarget target) { String[] synonyms = synonymModel.getObject(); String[] newSyns = new String[synonyms.length + 1]; System.arraycopy(synonyms, 0, newSyns, 0, synonyms.length); newSyns[synonyms.length] = ""; synonymModel.setObject(newSyns); target.addComponent(holder); } }); holder.add(container); add(toolbarHolder); add(holder); add(CSSPackageResource.getHeaderContribution(TaxonomyEditorPlugin.class, "res/style.css")); }
From source file:org.onexus.website.api.pages.browser.filters.panels.AbstractFilterPanel.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); Form<FilterOption> form = new Form("form", option); // Feedback panel final FeedbackPanel feedbackPanel = new FeedbackPanel("feedback"); feedbackPanel.setOutputMarkupId(true); form.add(feedbackPanel);//from www. ja va 2 s .c o m // Value component final FormComponent<T> valueComponent = createValueFormComponent("value"); valueComponent.setOutputMarkupPlaceholderTag(true); valueComponent.setVisible(defaultOption.getOperation().isNeedsValue()); form.add(valueComponent); // Operations drop down final DropDownChoice<FilterOperation> operationsDropDown = new DropDownChoice<FilterOperation>("operation", operations); operationsDropDown.setNullValid(false); operationsDropDown.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { valueComponent.setVisible(option.getObject().getOperation().isNeedsValue()); target.add(valueComponent); } }); form.add(operationsDropDown); // Create filter link form.add(new AjaxSubmitLink("submit") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { FilterOption<T> fo = option.getObject(); T value = fo.getValue(); FilterOperation operation = fo.getOperation(); String title = operation.createTitle(header.getLabel(), value); FilterConfig fc = new FilterConfig(title); fc.setCollection(header.getCollection().getORI()); fc.setDefine("fc='" + fc.getCollection() + "'"); Filter where = operation.createFilter("fc", header.getField().getId(), value); fc.setWhere(where.toString()); addFilter(target, fc); } }); add(form); }
From source file:org.onexus.website.api.widgets.search.SearchWidget.java
License:Apache License
public SearchWidget(String componentId, IModel<SearchWidgetStatus> statusModel) { super(componentId, statusModel); Form<SearchWidgetStatus> form = new Form<SearchWidgetStatus>("toolsForms", new CompoundPropertyModel<SearchWidgetStatus>((IModel<SearchWidgetStatus>) statusModel)); // Search field & button TextField<String> searchField = new TextField<String>("search"); searchField.add(new OnChangeAjaxBehavior() { @Override/*www .j a v a 2 s.co m*/ protected void onUpdate(AjaxRequestTarget target) { String search = SearchWidget.this.getStatus().getSearch(); if (StringUtils.isEmpty(search)) { sendEvent(EventFiltersUpdate.EVENT); } } }); form.add(searchField); form.add(new AjaxButton("searchButton") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { sendEvent(EventFiltersUpdate.EVENT); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { } }); add(form); }
From source file:org.onexus.website.api.widgets.selector.SelectorWidget.java
License:Apache License
public SelectorWidget(String componentId, IModel<SelectorWidgetStatus> statusModel) { super(componentId, statusModel); Form form = new Form("form"); DropDownChoice<EntityChoice> dropDown = new DropDownChoice<EntityChoice>("select", new PropertyModel<EntityChoice>(this, "selection"), getChoices()) { @Override//from w w w .j av a2 s .c om protected CharSequence getDefaultChoice(String selectedValue) { String option = SelectorWidget.this.getConfig().getTitle(); if (Strings.isEmpty(option)) { option = "Choose one..."; } // The <option> tag buffer final AppendingStringBuffer buffer = new AppendingStringBuffer(64 + option.length()); // Add option tag buffer.append("\n<option"); // If null is selected, indicate that if ("".equals(selectedValue)) { buffer.append(" selected=\"selected\""); } // Add body of option tag buffer.append(" value=\"\">").append(option).append("</option>"); return buffer; } }; dropDown.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { Boolean selection = getConfig().getSelection(); if (selection == null || !selection) { sendEvent(EventFiltersUpdate.EVENT); } else { EntityChoice choice = getSelection(); if (choice != null) { BrowserPageStatus pageStatus = findParentStatus(BrowserPageStatus.class); pageStatus.addEntitySelection( new SingleEntitySelection(getConfig().getCollection(), getSelection().getId())); setSelection(null); sendEvent(EventAddFilter.EVENT); } } } }); dropDown.setNullValid(true); add(new AjaxIndicatorAppender()); form.add(dropDown); add(form); }
From source file:org.onexus.website.api.widgets.tableviewer.NavigationToolbar.java
License:Apache License
@Override protected void onBeforeRender() { WebMarkupContainer span = new WebMarkupContainer("span"); addOrReplace(span);// ww w . j a v a 2s . c om span.add(AttributeModifier.replace("colspan", String.valueOf(getTable().getColumns().size()))); DropDownChoice<Integer> dropDown = new DropDownChoice<Integer>("rowsxpage", new PropertyModel<Integer>(this, "rowsPerPage"), PAGE_OPTIONS, new RowsPerPageChoiceRenderer()); dropDown.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { send(getPage(), Broadcast.BREADTH, EventViewChange.EVENT); } }); span.add(dropDown); span.add(new PrevLink("prev")); span.add(new NextLink("next")); AjaxLink<String> countLink = new IndicatingAjaxLink<String>("count") { @Override public void onClick(AjaxRequestTarget target) { getDataProvider().forceCount(); target.add(getTable()); } }; span.add(countLink); countLink.add(new Label("from", new PropertyModel<Long>(this, "from"))); countLink.add(new Label("to", new PropertyModel<Long>(this, "to"))); countLink.add(new Label("of", new PropertyModel<String>(this, "of"))); super.onBeforeRender(); }
From source file:org.openengsb.ui.admin.ruleEditorPanel.RuleEditorPanel.java
License:Apache License
private void initTextArea(Form<Object> form) { Model<String> textAreaModel = new Model<String>(); textArea = new TextArea<String>("text", textAreaModel); textArea.add(new OnChangeAjaxBehavior() { @Override//from w w w . j a v a2 s. c om protected void onUpdate(AjaxRequestTarget target) { enableButtons(target); } }); textArea.setEnabled(false); textArea.setOutputMarkupId(true); form.add(textArea); }
From source file:org.projectforge.plugins.teamcal.dialog.TeamCalFilterDialog.java
License:Open Source License
@SuppressWarnings("serial") private void redrawTimesheetsUserControls() { if (timesheetUserFieldset != null) { timesheetUserFieldset.removeAllFields(); }//from www .j a v a2 s . c om final UserSelectPanel timesheetUserSelectPanel = calendarPageSupport.addUserSelectPanel( timesheetUserFieldset, new PropertyModel<PFUserDO>(this, "timesheetsUser"), false); if (timesheetUserSelectPanel != null) { timesheetUserSelectPanel.getFormComponent().add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(final AjaxRequestTarget target) { final PFUserDO user = (PFUserDO) timesheetUserSelectPanel.getFormComponent().getModelObject(); setTimesheetsUser(user); } }); } }