List of usage examples for org.apache.wicket.markup.html.form Form visitChildren
public final <S extends Component, R> R visitChildren(final Class<?> clazz, final IVisitor<S, R> visitor)
From source file:com.premiumminds.webapp.wicket.behaviours.EnableSubmitOnEnterBehaviour.java
License:Open Source License
private static IFormSubmitter findSubmitButton(final Form<?> form) { IFormSubmittingComponent submittingComponent = form.visitChildren(IFormSubmittingComponent.class, new IVisitor<Component, IFormSubmittingComponent>() { public void component(final Component component, final IVisit<IFormSubmittingComponent> visit) { // Get submitting component final IFormSubmittingComponent submittingComponent = (IFormSubmittingComponent) component; final Form<?> formFromComponent = submittingComponent.getForm(); if ((formFromComponent != null) && (formFromComponent == form)) { visit.stop(submittingComponent); }/*from w ww . j av a 2 s.com*/ } }); return submittingComponent; }
From source file:org.cast.cwm.data.validator.UniqueUserInPeriodValidator.java
License:Open Source License
/** * A helper function that uses an IVisitor to find a TextField<String> in a provided * form with the given wicketId. Someday, findChild will exist. * /*from w w w .j av a2 s . c o m*/ * @param form the Form to search within * @param wicketId wicket ID to search for * @return the field, or null if not found */ public static TextField<String> findFieldInForm(Form<?> form, final String wicketId) { return form.visitChildren(TextField.class, new IVisitor<TextField<String>, TextField<String>>() { @Override public void component(TextField<String> component, IVisit<TextField<String>> visit) { if (component.getId().equals(wicketId)) { visit.stop(component); } } }); }
From source file:org.devgateway.eudevfin.ui.common.components.BootstrapSubmitButton.java
License:Open Source License
@Override protected void onError(final AjaxRequestTarget target, Form<?> form) { form.visitChildren(FormComponent.class, new IVisitor<FormComponent, Void>() { @Override//w w w.j a va2 s . co m public void component(FormComponent component, IVisit<Void> visit) { componentVisitor(target, component, visit); } }); }
From source file:org.efaps.ui.wicket.components.connection.MessagePanel.java
License:Apache License
/** * @param _wicketId wicketId of this component * @param _pageReference reference to the page * @throws EFapsException on error/*from ww w. j a va2s . co m*/ */ public MessagePanel(final String _wicketId, final PageReference _pageReference) throws EFapsException { super(_wicketId); final Form<Void> msgForm = new Form<>("msgForm"); add(msgForm); final AjaxSubmitLink sendMsgBtn = new AjaxSubmitLink("sendMsgBtn", msgForm) { private static final long serialVersionUID = 1L; @Override protected void onAfterSubmit(final AjaxRequestTarget _target, final Form<?> _form) { final StringBuilder msg = new StringBuilder(); _form.visitChildren(TextArea.class, new IVisitor<TextArea<String>, Void>() { @Override public void component(final TextArea<String> _textArea, final IVisit<Void> _visit) { _textArea.setEscapeModelStrings(false); msg.append(_textArea.getDefaultModelObjectAsString()); _visit.stop(); } }); if (msg.length() > 0) { _form.visitChildren(CheckBox.class, new IVisitor<CheckBox, Void>() { @Override public void component(final CheckBox _checkBox, final IVisit<Void> _visit) { final Boolean selected = (Boolean) _checkBox.getDefaultModelObject(); if (selected) { final CheckBoxPanel panel = (CheckBoxPanel) _checkBox.getParent(); final UIUser user = (UIUser) panel.getDefaultModelObject(); final List<IWebSocketConnection> conns = RegistryManager .getConnections4User(user.getUserName()); for (final IWebSocketConnection conn : conns) { conn.sendMessage(new PushMsg(msg.toString())); } } } }); } } }; msgForm.add(sendMsgBtn); final AjaxSubmitLink broadcastMsgBtn = new AjaxSubmitLink("broadcastMsgBtn", msgForm) { private static final long serialVersionUID = 1L; @Override protected void onAfterSubmit(final AjaxRequestTarget _target, final Form<?> _form) { final StringBuilder msg = new StringBuilder(); _form.visitChildren(TextArea.class, new IVisitor<TextArea<String>, Void>() { @Override public void component(final TextArea<String> _textArea, final IVisit<Void> _visit) { _textArea.setEscapeModelStrings(false); msg.append(_textArea.getDefaultModelObjectAsString()); _visit.stop(); } }); if (msg.length() > 0) { final WebSocketSettings webSocketSettings = WebSocketSettings.Holder.get(getApplication()); final WebSocketPushBroadcaster broadcaster = new WebSocketPushBroadcaster( webSocketSettings.getConnectionRegistry()); broadcaster.broadcastAll(EFapsApplication.get(), new PushMsg(msg.toString())); } } }; msgForm.add(broadcastMsgBtn); final TextArea<String> msg = new TextArea<>("msg", Model.of("")); msgForm.add(msg); final MessageTablePanel messageTable = new MessageTablePanel("messageTable", _pageReference, new UserProvider()); msgForm.add(messageTable); }
From source file:org.efaps.ui.wicket.components.gridx.GridXPanel.java
License:Apache License
/** * Instantiates a new grid X panel.//w w w . ja v a2 s .c om * * @param _wicketId the wicket id * @param _model the model * @throws EFapsException on error */ public GridXPanel(final String _wicketId, final IModel<UIGrid> _model) throws EFapsException { super(_wicketId, _model); add(new AbstractDojoBehavior() { /** The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; }); // add a hidden element that has all the events used by the menu add(new MenuItem("menuItem")); add(new GridXComponent("grid", new LoadableDetachableModel<UIGrid>() { /** The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; @Override protected UIGrid load() { return _model.getObject(); } })); final RepeatingView filterRepeater = new RepeatingView("filterRepeater"); add(filterRepeater); for (final IFilter filter : _model.getObject().getFilterList()) { final Field field = Field.get(filter.getFieldId()); final WebMarkupContainer container = new WebMarkupContainer(filterRepeater.newChildId()); container.add(AttributeModifier.replace("title", Model.of(DBProperties.getFormatedDBProperty(GridXPanel.class.getName() + ".FilterTitel", (Object) field.getLabel())))); container.setOutputMarkupId(true); container.setMarkupId("fttd_" + filter.getFieldId()); filterRepeater.add(container); final Form<Void> form = new Form<>("filterForm"); container.add(form); switch (field.getFilter().getType()) { case FREETEXT: if (_model.getObject().isDateFilter(filter)) { form.add(new DateFilterPanel("filter", Model.of((IMapFilter) filter))); form.add(new AjaxButton<IMapFilter>("btn", Model.of((IMapFilter) filter), Button.ICON.ACCEPT.getReference()) { /** The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; @Override public void onSubmit(final AjaxRequestTarget _target) { final GridXPanel gridpanel = findParent(GridXPanel.class); final UIGrid uiGrid = gridpanel.getModelObject(); form.visitChildren(DateTimePanel.class, new IVisitor<DateTimePanel, Void>() { @Override public void component(final DateTimePanel _datePanel, final IVisit<Void> _visit) { try { if ("dateFrom".equals(_datePanel.getId())) { final List<StringValue> tmp = getRequest().getRequestParameters() .getParameterValues(_datePanel.getDateFieldName()); if (!tmp.isEmpty()) { final List<StringValue> fromTmp = _datePanel.getDateAsString(tmp, null, null, null); if (!fromTmp.isEmpty()) { final String from = fromTmp.get(0).toString(); final DateTime date = DateTimeUtil.translateFromUI(from); ((IMapFilter) filter).put("from", date.toString()); } } } else { final List<StringValue> tmp = getRequest().getRequestParameters() .getParameterValues(_datePanel.getDateFieldName()); if (!tmp.isEmpty()) { final List<StringValue> toTmp = _datePanel.getDateAsString(tmp, null, null, null); if (toTmp != null) { final String to = toTmp.get(0).toString(); final DateTime date = DateTimeUtil.translateFromUI(to); ((IMapFilter) filter).put("to", date.toString()); } } } } catch (final EFapsException e) { GridXPanel.LOG.error("Catched error", e); } } }); try { uiGrid.reload(); _target.appendJavaScript(getJavascript(uiGrid)); } catch (final EFapsException e) { GridXPanel.LOG.error("Catched error", e); } } }); } else { form.add(new TextFilterPanel("filter", Model.of((IMapFilter) filter))); form.add(new AjaxButton<IMapFilter>("btn", Model.of((IMapFilter) filter), Button.ICON.ACCEPT.getReference()) { /** The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; @Override public void onSubmit(final AjaxRequestTarget _target) { final GridXPanel gridpanel = findParent(GridXPanel.class); final UIGrid uiGrid = gridpanel.getModelObject(); form.visitChildren(TextField.class, new IVisitor<TextField<String>, Void>() { @Override public void component(final TextField<String> _text, final IVisit<Void> _visit) { ((IMapFilter) filter).put("from", _text.getModelObject()); ((IMapFilter) filter).put("filter", _text.getModelObject()); } }); form.visitChildren(CheckBox.class, new IVisitor<CheckBox, Void>() { @Override public void component(final CheckBox _checkBox, final IVisit<Void> _visit) { ((IMapFilter) filter).put(_checkBox.getId(), _checkBox.getModelObject()); } }); try { uiGrid.reload(); _target.appendJavaScript(getJavascript(uiGrid)); } catch (final EFapsException e) { GridXPanel.LOG.error("Catched error", e); } } }); } break; case STATUS: form.add(new ListFilterPanel("filter", new Model<>((IListFilter) filter))); form.add(new AjaxButton<IListFilter>("btn", new Model<>((IListFilter) filter), Button.ICON.ACCEPT.getReference()) { /** The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; @Override public void onSubmit(final AjaxRequestTarget _target) { final GridXPanel gridpanel = findParent(GridXPanel.class); final UIGrid uiGrid = gridpanel.getModelObject(); form.visitChildren(CheckBoxMultipleChoice.class, new IVisitor<CheckBoxMultipleChoice<?>, Void>() { @Override public void component(final CheckBoxMultipleChoice<?> _checkBox, final IVisit<Void> _visit) { try { final ListFilterPanel filterPanel = _checkBox .findParent(ListFilterPanel.class); @SuppressWarnings("unchecked") final List<IOption> sel = (List<IOption>) _checkBox .getDefaultModelObject(); for (final IOption option : filterPanel.getModelObject()) { final Method method = option.getClass().getMethod("setSelected", boolean.class); method.invoke(option, sel.contains(option)); } } catch (final IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { GridXPanel.LOG.error("Catched error", e); } } }); try { uiGrid.reload(); _target.appendJavaScript(getJavascript(uiGrid)); } catch (final EFapsException e) { GridXPanel.LOG.error("Catched error", e); } } }); break; case FORM: form.add(new FormFilterPanel("filter", new Model<>((IMapFilter) filter), getModelObject())); form.add(new WebMarkupContainer("btn")); break; case CLASSIFICATION: case PICKLIST: case NONE: default: form.add(new WebMarkupContainer("filter")); form.add(new WebMarkupContainer("btn")); break; } } }
From source file:org.opensingular.form.wicket.helpers.TestFinders.java
License:Apache License
public static <T extends Component> Stream<T> findOnForm(Class<T> classOfQuery, Form form, Predicate<T> predicate) { final List<T> found = new ArrayList<>(); form.visitChildren(classOfQuery, (IVisitor<T, Object>) (t, visit) -> { if (predicate == null || predicate.test(t)) { found.add(t);// ww w. ja v a2s . co m } }); return found.stream(); }