List of usage examples for org.apache.wicket Component add
public Component add(final Behavior... behaviors)
From source file:org.opensingular.form.wicket.mapper.AbstractControlsFieldComponentMapper.java
License:Apache License
public void buildView(WicketBuildContext ctx) { final IModel<? extends SInstance> model = ctx.getModel(); final IModel<String> labelModel = new AttributeModel<>(model, SPackageBasic.ATR_LABEL); final boolean hintNoDecoration = ctx.getHint(NO_DECORATION); final BSContainer<?> container = ctx.getContainer(); final AttributeModel<String> subtitle = new AttributeModel<>(model, SPackageBasic.ATR_SUBTITLE); final ViewMode viewMode = ctx.getViewMode(); final BSLabel label = new BSLabel("label", labelModel); final BSControls formGroup = container.newFormGroup(); configureLabel(ctx, labelModel, hintNoDecoration, label); formGroup.appendLabel(label);/*from w ww. java 2 s . c o m*/ formGroup.newHelpBlock(subtitle).add($b.classAppender("hidden-xs")).add($b.classAppender("hidden-sm")) .add($b.classAppender("hidden-md")).add(InvisibleIfNullOrEmptyBehavior.getInstance()); final Component input; if (viewMode.isEdition()) { input = appendInput(ctx, formGroup, labelModel); formGroup.appendFeedback(ctx.createFeedbackCompactPanel("feedback")); formGroup.add(new ClassAttributeModifier() { @Override protected Set<String> update(Set<String> oldClasses) { if (model.getObject().getAttributeValue(SPackageBasic.ATR_DEPENDS_ON_FUNCTION) != null) { oldClasses.add("dependant-input-group"); } return oldClasses; } }); input.add(DisabledClassBehavior.getInstance()); input.add($b.onConfigure(c -> label.add(new ClassAttributeModifier() { @Override protected Set<String> update(Set<String> oldClasses) { if (model.getObject().getAttributeValue(SPackageBasic.ATR_REQUIRED)) { oldClasses.add("singular-form-required"); } else { oldClasses.remove("singular-form-required"); } return oldClasses; } }))); for (FormComponent<?> fc : findAjaxComponents(input)) { ctx.configure(this, fc); } } else { input = appendReadOnlyInput(ctx, formGroup, labelModel); } if ((input instanceof LabeledWebMarkupContainer) && (((LabeledWebMarkupContainer) input).getLabel() == null)) { ((LabeledWebMarkupContainer) input).setLabel(labelModel); } }
From source file:org.opensingular.form.wicket.mapper.AbstractControlsFieldComponentMapper.java
License:Apache License
/** * Filtra os eventos (validate e process) garantindo que somente um ser disparado * <p>/*from w w w . j a v a2 s .c o m*/ * Quando algum blur acontecer, verifica se algum change est agendado, caso no esteja, agenda um blur * Quando algum change acontecer, verifica se algum blur est agendado, caso tenha limpa o blur dando dando prioridade ao change * <p> * @param comp o Componente a ser configurado. */ @Override public void adjustJSEvents(Component comp) { comp.add(new SingularEventsHandlers(SingularEventsHandlers.FUNCTION.ADD_TEXT_FIELD_HANDLERS)); }
From source file:org.opensingular.form.wicket.mapper.annotation.AnnotationModalWindow.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); SIAnnotationModel<?> annotationModel = annotationComponent.getAnnotationModel(); final SInstanceValueModel<String> textModel = new SInstanceValueModel<>( new SInstanceFieldModel<>(annotationModel, "text")); final SInstanceValueModel<Boolean> approvedModel = new SInstanceValueModel<>( new SInstanceFieldModel<>(annotationModel, "isApproved")); if (editable) { final TextArea<?> comment = new TextArea<>("comment", textModel); final Label label = new Label("label", Model.of("Aprovado? ")); final Component check = new CheckBox("approvalCheck", approvedModel) .add($b.attr("data-on-text", Model.of("Sim"))).add($b.attr("data-off-text", Model.of("No"))); final BSContainer container = new BSContainer<>("body"); final BSGrid grid = container.newGrid(); BSControls formGroupAprove = grid.newRow().newCol(12).newFormGroup(); formGroupAprove.appendLabel(label); formGroupAprove.appendTag("input", true, "type='checkbox' class='make-switch' data-on-color='info' data-off-color='danger'", check); BSControls justificativa = grid.newRow().newCol(12).newFormGroup(); justificativa.appendLabel(new Label("label", "Justificativa")); justificativa.appendTextarea(comment, 15); check.add($b.on("switchChange.bootstrapSwitch", (c) -> JQuery.$(comment).append(".val('');"))); setBody(container);//from w ww. jav a 2 s.com addLink(BSModalBorder.ButtonStyle.CANCEL, $m.ofValue("Cancelar"), new CancelOrCloseButton("btn-cancelar")); addButton(BSModalBorder.ButtonStyle.PRIMARY, $m.ofValue("Confirmar"), new OkButton("btn-ok", annotationComponent)); comment.add(StringValidator.maximumLength(4000)); comment.add(new CountDownBehaviour()); } else { this.setBody(new BSContainer<>("body") .appendTag("div", true, "class='sannotation-text-comment'", new MultiLineLabel("text", textModel)) .appendTag("div", true, "", new ApprovalStatusLabel("approvalLabel", approvedModel))) .addLink(BSModalBorder.ButtonStyle.EMPTY, $m.ofValue("Fechar"), new CancelOrCloseButton("cancel")); } }
From source file:org.opensingular.form.wicket.mapper.BooleanMapper.java
License:Apache License
@Override public void adjustJSEvents(Component comp) { comp.add(new SingularEventsHandlers(ADD_TEXT_FIELD_HANDLERS)); }
From source file:org.opensingular.form.wicket.mapper.DateMapper.java
License:Apache License
@Override public void adjustJSEvents(Component comp) { BSDatepickerInputGroup datepicker = BSDatepickerInputGroup.getFromTextfield(comp); Component textField = datepicker.getTextField(); textField.add(new SingularEventBehavior().setProcessEvent("changeDate", datepicker) .setValidateEvent("blur", textField).setSupportComponents(datepicker.getButton())); }
From source file:org.opensingular.form.wicket.mapper.RichTextMapper.java
License:Apache License
private void addLogicToReplaceWithCKEditor(Component textarea) { textarea.add($b.attr("style", "display:none")); textarea.add(new CKEditorInitBehaviour()); }
From source file:org.opensingular.form.wicket.mapper.selection.RadioMapper.java
License:Apache License
@Override public void adjustJSEvents(Component comp) { comp.add(new SingularEventsHandlers(SingularEventsHandlers.FUNCTION.ADD_TEXT_FIELD_HANDLERS)); }
From source file:org.opensingular.form.wicket.mapper.TabMapper.java
License:Apache License
@Override @SuppressWarnings("unchecked") public void buildView(final WicketBuildContext ctx) { final STypeComposite<SIComposite> tComposto = (STypeComposite<SIComposite>) ctx.getModel().getObject() .getType();//from ww w. ja v a 2 s .c o m SViewTab tabView = (SViewTab) tComposto.getView(); BSPanelGrid panel = new BSPanelGrid("panel") { @Override protected void onInitialize() { super.onInitialize(); getNavigation().add($b.attr("style", "padding-right:0px;")); } @Override public void updateTab(BSTab tab, List<BSTab> tabs) { renderTab(tab.getSubtree(), this, ctx); ctx.updateExternalContainer(RequestCycle.get().find(AjaxRequestTarget.class)); } @Override protected void onTabCreated(BSTab tab, Component tabComponent) { super.onTabCreated(tab, tabComponent); ISupplier<List<IModel<? extends SInstance>>> subtreeModels = () -> tab.getSubtree().stream() .map(it -> new SInstanceFieldModel<>(tab.getModel(), it)).collect(toList()); SValidationFeedbackHandler.bindTo(new FeedbackFence(tabComponent)) .addInstanceModels(subtreeModels.get()) .addListener((ISValidationFeedbackHandlerListener) (handler, target, container, baseInstances, oldErrors, newErrors) -> { if (target != null) { target.add(tabComponent); } }); tabComponent.add($b.classAppender("has-errors", $m.get((ISupplier<Boolean>) () -> subtreeModels.get().stream().map(IModel::getObject) .anyMatch(it -> !SValidationFeedbackHandler .collectNestedErrors(new FeedbackFence(tabComponent)).isEmpty())))); } @Override protected void configureColspan() { super.configureColspan(); // Configura o tamanho da aba de acordo com os atributos bootstrap informados SIComposite instance = (SIComposite) ctx.getModel().getObject(); SViewTab tabView = (SViewTab) instance.getType().getView(); AtrBootstrap bootstrap = instance.asAtrBootstrap(); // da prioridade ao que foi definido na View e nos atributos em seguida Integer colPreference = bootstrap.getColPreference(); Integer colXs = resolveCol(tabView.getNavColXs(), bootstrap.getColXs(colPreference)); Integer colSm = resolveCol(tabView.getNavColSm(), bootstrap.getColSm(colPreference)); Integer colMd = resolveCol(tabView.getNavColMd(), bootstrap.getColMd(colPreference)); Integer colLg = resolveCol(tabView.getNavColLg(), bootstrap.getColLg(colPreference)); if (colXs != null) { getNavigation().xs(colXs); getContent().xs(BSTabCol.MAX_COLS - colXs); } if (colSm != null) { getNavigation().sm(colSm); getContent().sm(BSTabCol.MAX_COLS - colSm); } if (colMd != null) { getNavigation().md(colMd); getContent().md(BSTabCol.MAX_COLS - colMd); } if (colLg != null) { getNavigation().lg(colLg); getContent().lg(BSTabCol.MAX_COLS - colLg); } } private Integer resolveCol(Integer cols, Integer defaultCols) { Integer c = cols != null ? cols : defaultCols; return c != null && c < BSTabCol.MAX_COLS ? c : null; } }; if (ctx.getCurrentInstance().getParent() == null) { panel.add(new ClassAttributeModifier() { @Override protected Set<String> update(Set<String> set) { set.add("singular-container-tab"); return set; } }); } SIComposite instance = (SIComposite) ctx.getModel().getObject(); for (SViewTab.STab tab : tabView.getTabs()) { defineTabIconCss(ctx, instance, tab.getTypesName()); IModel<SInstance> baseInstanceModel = (IModel<SInstance>) ctx.getModel(); BSPanelGrid.BSTab t = panel.addTab(tab.getId(), tab.getTitle(), tab.getTypesName(), baseInstanceModel); t.iconClass((m) -> defineTabIconCss(ctx, (SIComposite) m.getObject(), t.getSubtree())); } final IModel<String> label = $m.ofValue(trimToEmpty(instance.asAtr().getLabel())); if (isNotBlank(label.getObject())) { ctx.getContainer().newTag("h4", new Label("_title", label)); } ctx.getContainer().newTag("div", panel); SViewTab.STab tabDefault = tabView.getDefaultTab(); renderTab(tabDefault.getTypesName(), panel, ctx); }
From source file:org.opensingular.form.wicket.mapper.TelefoneNacionalMapper.java
License:Apache License
@Override public Component appendInput(WicketBuildContext ctx, BSControls formGroup, IModel<String> labelModel) { final Component inputComponent = super.appendInput(ctx, formGroup, labelModel); inputComponent.add(new TelefoneNacionalMaskBehaviour()); return inputComponent; }
From source file:org.opensingular.lib.wicket.util.bootstrap.layout.BSControls.java
License:Apache License
public BSControls appendSelect(Component select, boolean multiple, boolean bootstrap) { if (multiple) { select.add(new BSSelectInitBehaviour()); }// w w w.j a va2 s .c o m return super.appendTag("select", true, ((bootstrap) ? "class='bs-select form-control' title='" + getString("BSControls.Select.Title") + "'" : "class='form-control'") + (multiple ? "multiple" : ""), select); }