Example usage for org.apache.wicket MarkupContainer setOutputMarkupId

List of usage examples for org.apache.wicket MarkupContainer setOutputMarkupId

Introduction

In this page you can find the example usage for org.apache.wicket MarkupContainer setOutputMarkupId.

Prototype

public final Component setOutputMarkupId(final boolean output) 

Source Link

Document

Sets whether or not component will output id attribute into the markup.

Usage

From source file:com.asptt.plongee.resa.wicket.page.admin.palanque.PalanqueForm.java

@SuppressWarnings("serial")
public PalanqueForm(String id, NavigationOriginePage originePage, final Palanque palanqueUpdate, Date dateMin,
        Date dateMax, final FeedbackPanel feedback) {

    super(id);/*from ww w.  j a v a 2s . c o  m*/
    feedback.setOutputMarkupId(true);
    dateMini = dateMin;
    dateMaxi = dateMax;
    origPage = originePage;

    //Rcupration de la fiche de securite dans la session
    fs = ResaSession.get().getFicheSecurite();

    //init de la palanque
    if (null == palanqueUpdate) {
        this.palanque = new Palanque();
        this.palanque.setDatePlongee(fs.getDatePlongee());
        this.palanque.setNumero(fs.getNbPalanques() + 1);
    } else {
        this.palanque = palanqueUpdate;
        //methode pour initialiser les ChoiceRenderPlongeur de la palanque
        initPalanque(palanqueUpdate);
    }

    //initialisation des plongeurs  inscrire pour ne pas allez la chercher  chaque fois
    //        listPlongeursAInscrireForpalanque = ResaSession.get().getPlongeeService().initListPlongeursAInscrire(fs);
    listPlongeursAInscrireForpalanque = ResaSession.get().getListPlongeursAInscrire();

    //sauvegarde de la palanque en cas d'annulation de modification
    //TODO - se servir de l'implementation de la methode clone
    final Palanque palanqueSAV = new Palanque(palanque);

    //sauvegarde des plongeursAInscrire en cas d'annulation de modification
    final List<ChoiceRenderPlongeur> plongeursAInscrireSAV = new ArrayList<ChoiceRenderPlongeur>();
    if (null != ResaSession.get().getListPlongeursAInscrire()) {
        plongeursAInscrireSAV.addAll(ResaSession.get().getListPlongeursAInscrire());
    }

    final CompoundPropertyModel<Palanque> modelPalanque = new CompoundPropertyModel<Palanque>(palanque);
    setModel(modelPalanque);

    add(new Label("messageNumPalanque", new StringResourceModel(
            CatalogueMessages.SAISIE_PALANQUE_MSG_NUM_PALANQUE, this, new Model<Palanque>(palanque))));

    // Ajout de la checkbox Bapteme
    AjaxCheckBox checkBox = new AjaxCheckBox("bapteme", new PropertyModel(modelPalanque, "isBapteme")) {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            //                getIsBapteme = this.getModelObject();
            //                logger.info("value of getIsBapteme = "+this.getModelObject().toString());
            //                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
    };
    add(checkBox);

    //----------------------Le Choix des plongeurs ------------------------
    final IModel<ChoiceRenderPlongeur> ddcModel = new PropertyModel<ChoiceRenderPlongeur>(this,
            "selectedPlongeur");
    final DropDownChoice ddc = new DropDownChoice<ChoiceRenderPlongeur>("listPlongeurs",
            //                new PropertyModel(this, "selectedPlongeur"),
            ddcModel, listPlongeursAInscrireForpalanque, new PlongeurChoiceRenderer("value", "key")) {
        @Override
        protected boolean wantOnSelectionChangedNotifications() {
            return true;
        }

        @Override
        protected void onSelectionChanged(ChoiceRenderPlongeur newSelection) {
            setSelectedPlongeur(ddcModel.getObject());
        }
    };

    ddc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
        }
    });
    ddc.setOutputMarkupId(true);
    add(ddc);

    //--------------GUIGE----------------------- 
    final Label labelGuide = new Label("nomGuide", new PropertyModel(modelPalanque, "nomCompletGuide"));
    labelGuide.setOutputMarkupId(true);
    add(labelGuide);
    add(new IndicatingAjaxLink("valideGuide") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getGuide() != null) {
                //on a dja un guide de saisi, donc erreur et on fait rien
                error("Le guide  dj t saisi : " + getGuide().getValue()
                        + " Impossible d'en saisir un autre");
            } else if (null == getSelectedPlongeur()) {
                error("Vous devez d'abord slectionner un plongeur");
            } else {
                setGuide(getSelectedPlongeur());
                suppEntreeListPlongeursAInscrire(getGuide());
                setSelectedPlongeur(null);
                target.addComponent(labelGuide);
                target.addComponent(ddc);
            }
        }
    });
    final MarkupContainer containAptGuide = new WebMarkupContainer("containGuide");
    Label labelAptGuide = new Label("labelAptGuide", Model.of(new String("aptitude")));
    labelAptGuide.setOutputMarkupId(true);
    containAptGuide.add(labelAptGuide);
    TextField<String> valueAptPlongeur = new TextField<String>("aptitudePlongeur");
    valueAptPlongeur.setOutputMarkupId(true);
    containAptGuide.add(valueAptPlongeur);
    containAptGuide.add(new AjaxButton("validAptGuide") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Palanque pp = (Palanque) form.getModelObject();
            if (null != pp.getAptitudePlongeur()) {
                ChoiceRenderPlongeur oldGuide = getSelectedPlongeur();
                Adherent adh = ResaSession.get().getAdherentService()
                        .rechercherAdherentParIdentifiantTous(getGuide().getKey());
                String key = adh.getNumeroLicense();
                String value = adh.getNom() + "  " + adh.getPrenom() + "  " + pp.getAptitudePlongeur();
                ChoiceRenderPlongeur newGuide = new ChoiceRenderPlongeur(key, value);
                //on met le plongeur modifi comme guide
                setGuide(newGuide);
                //On supprime "ancien" et "nouveau" plongeur des plongeurs  inscrire
                listPlongeursAInscrireForpalanque.remove(oldGuide);
                listPlongeursAInscrireForpalanque.remove(newGuide);
                //On redonne le choix dans la selection du plongeur
                setSelectedPlongeur(null);
                // on remet aptitudePlongeur  null pour la prochaine fois
                pp.setAptitudePlongeur(null);
            }
            containAptGuide.setVisible(!containAptGuide.isVisible());
            target.addComponent(labelGuide);
            target.addComponent(containAptGuide);
            target.addComponent(ddc);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });
    containAptGuide.setVisible(false);
    containAptGuide.setOutputMarkupId(true);
    containAptGuide.setOutputMarkupPlaceholderTag(true);
    add(containAptGuide);
    add(new IndicatingAjaxLink("modifierGuide") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getGuide() == null) {
                error("Le guide n'est pas saisi ");
            } else {
                containAptGuide.setVisible(!containAptGuide.isVisible());
                target.addComponent(labelGuide);
                target.addComponent(containAptGuide);
                target.addComponent(ddc);
            }
        }
    });
    add(new IndicatingAjaxLink("annulerGuide") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getGuide() == null) {
                error("Le guide n'est pas saisi ");
            } else {
                addEntreeListPlongeursAInscrire(getGuide());
                setGuide(null);
                setSelectedPlongeur(null);
                target.addComponent(labelGuide);
                target.addComponent(ddc);
            }
        }
    });
    //--------------PLONGEUR1----------------------- 
    final Label labelPlongeur1 = new Label("nomPlongeur1",
            new PropertyModel(modelPalanque, "nomCompletPlongeur1"));
    labelPlongeur1.setOutputMarkupId(true);
    add(labelPlongeur1);
    add(new IndicatingAjaxLink("validePlongeur1") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur1() != null) {
                //on a dja un Plongeur1 de saisi, donc erreur et on fait rien
                error("Le Plongeur1  dj t saisi : " + getPlongeur1().getValue()
                        + " Impossible d'en saisir un autre");
            } else if (null == getSelectedPlongeur()) {
                error("Vous devez d'abord slectionner un plongeur");
            } else {
                setPlongeur1(getSelectedPlongeur());
                suppEntreeListPlongeursAInscrire(getPlongeur1());
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur1);
                target.addComponent(ddc);
            }
        }
    });
    final MarkupContainer containAptPlongeur1 = new WebMarkupContainer("containPlongeur1");
    Label labelAptPlongeur1 = new Label("labelAptPlongeur1", Model.of(new String("aptitude")));
    labelAptPlongeur1.setOutputMarkupId(true);
    containAptPlongeur1.add(labelAptPlongeur1);
    TextField<String> valueAptPlongeur1 = new TextField<String>("aptitudePlongeur");
    valueAptPlongeur1.setOutputMarkupId(true);
    containAptPlongeur1.add(valueAptPlongeur1);
    containAptPlongeur1.add(new AjaxButton("validAptPlongeur1") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Palanque pp = (Palanque) form.getModelObject();
            if (null != pp.getAptitudePlongeur()) {
                ChoiceRenderPlongeur oldPlongeur1 = getSelectedPlongeur();
                Adherent adh = ResaSession.get().getAdherentService()
                        .rechercherAdherentParIdentifiantTous(getPlongeur1().getKey());
                String key = adh.getNumeroLicense();
                String value = adh.getNom() + "  " + adh.getPrenom() + "  " + pp.getAptitudePlongeur();
                ChoiceRenderPlongeur newPlongeur1 = new ChoiceRenderPlongeur(key, value);
                //on met le plongeur modifi 
                setPlongeur1(newPlongeur1);
                //On supprime "ancien" et "nouveau" plongeur des plongeurs  inscrire
                listPlongeursAInscrireForpalanque.remove(oldPlongeur1);
                listPlongeursAInscrireForpalanque.remove(newPlongeur1);
                //On redonne le choix dans la selection du plongeur
                setSelectedPlongeur(null);
                // on remet aptitudePlongeur  null pour la prochaine fois
                pp.setAptitudePlongeur(null);
            }
            containAptPlongeur1.setVisible(!containAptPlongeur1.isVisible());
            target.addComponent(labelPlongeur1);
            target.addComponent(containAptPlongeur1);
            target.addComponent(ddc);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });
    containAptPlongeur1.setVisible(false);
    containAptPlongeur1.setOutputMarkupId(true);
    containAptPlongeur1.setOutputMarkupPlaceholderTag(true);
    add(containAptPlongeur1);

    add(new IndicatingAjaxLink("modifierPlongeur1") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur1() == null) {
                error("Le plongeur1 n'est pas saisi ");
            } else {
                containAptPlongeur1.setVisible(!containAptPlongeur1.isVisible());
                target.addComponent(labelPlongeur1);
                target.addComponent(containAptPlongeur1);
                target.addComponent(ddc);
            }
        }
    });
    add(new IndicatingAjaxLink("annulerPlongeur1") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur1() == null) {
                error("Le Plongeur1 n'est pas saisi ");
            } else {
                addEntreeListPlongeursAInscrire(getPlongeur1());
                setPlongeur1(null);
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur1);
                target.addComponent(ddc);
            }
        }
    });
    //--------------PLONGEUR2----------------------- 
    final Label labelPlongeur2 = new Label("nomPlongeur2",
            new PropertyModel(modelPalanque, "nomCompletPlongeur2"));
    labelPlongeur2.setOutputMarkupId(true);
    add(labelPlongeur2);
    add(new IndicatingAjaxLink("validePlongeur2") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur2() != null) {
                //on a dja un Plongeur2 de saisi, donc erreur et on fait rien
                error("Le Plongeur2  dj t saisi : " + getPlongeur2().getValue()
                        + " Impossible d'en saisir un autre");
            } else if (null == getSelectedPlongeur()) {
                error("Vous devez d'abord slectionner un plongeur");
            } else {
                setPlongeur2(getSelectedPlongeur());
                suppEntreeListPlongeursAInscrire(getPlongeur2());
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur2);
                target.addComponent(ddc);
            }
        }
    });
    final MarkupContainer containAptPlongeur2 = new WebMarkupContainer("containPlongeur2");
    Label labelAptPlongeur2 = new Label("labelAptPlongeur2", Model.of(new String("aptitude")));
    labelAptPlongeur2.setOutputMarkupId(true);
    containAptPlongeur2.add(labelAptPlongeur2);
    TextField<String> valueAptPlongeur2 = new TextField<String>("aptitudePlongeur");
    valueAptPlongeur2.setOutputMarkupId(true);
    containAptPlongeur2.add(valueAptPlongeur2);
    containAptPlongeur2.add(new AjaxButton("validAptPlongeur2") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Palanque pp = (Palanque) form.getModelObject();
            if (null != pp.getAptitudePlongeur()) {
                ChoiceRenderPlongeur oldPlongeur2 = getSelectedPlongeur();
                Adherent adh = ResaSession.get().getAdherentService()
                        .rechercherAdherentParIdentifiantTous(getPlongeur2().getKey());
                String key = adh.getNumeroLicense();
                String value = adh.getNom() + "  " + adh.getPrenom() + "  " + pp.getAptitudePlongeur();
                ChoiceRenderPlongeur newPlongeur2 = new ChoiceRenderPlongeur(key, value);
                //on met le plongeur modifi
                setPlongeur2(newPlongeur2);
                //On supprime "ancien" et "nouveau" plongeur des plongeurs  inscrire
                listPlongeursAInscrireForpalanque.remove(oldPlongeur2);
                listPlongeursAInscrireForpalanque.remove(newPlongeur2);
                //On redonne le choix dans la selection du plongeur
                setSelectedPlongeur(null);
                // on remet aptitudePlongeur  null pour la prochaine fois
                pp.setAptitudePlongeur(null);
            }
            containAptPlongeur2.setVisible(!containAptPlongeur2.isVisible());
            target.addComponent(labelPlongeur2);
            target.addComponent(containAptPlongeur2);
            target.addComponent(ddc);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });
    containAptPlongeur2.setVisible(false);
    containAptPlongeur2.setOutputMarkupId(true);
    containAptPlongeur2.setOutputMarkupPlaceholderTag(true);
    add(containAptPlongeur2);

    add(new IndicatingAjaxLink("modifierPlongeur2") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur2() == null) {
                error("Le plongeur2 n'est pas saisi ");
            } else {
                containAptPlongeur2.setVisible(!containAptPlongeur2.isVisible());
                target.addComponent(labelPlongeur2);
                target.addComponent(containAptPlongeur2);
                target.addComponent(ddc);
            }
        }
    });
    add(new IndicatingAjaxLink("annulerPlongeur2") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur2() == null) {
                error("Le Plongeur2 n'est pas saisi ");
            } else {
                addEntreeListPlongeursAInscrire(getPlongeur2());
                setPlongeur2(null);
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur2);
                target.addComponent(ddc);
            }
        }
    });
    //--------------PLONGEUR3----------------------- 
    final Label labelPlongeur3 = new Label("nomPlongeur3",
            new PropertyModel(modelPalanque, "nomCompletPlongeur3"));
    labelPlongeur3.setOutputMarkupId(true);
    add(labelPlongeur3);
    add(new IndicatingAjaxLink("validePlongeur3") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur3() != null) {
                //on a dja un Plongeur3 de saisi, donc erreur et on fait rien
                error("Le Plongeur3  dj t saisi : " + getPlongeur3().getValue()
                        + " Impossible d'en saisir un autre");
            } else if (null == getSelectedPlongeur()) {
                error("Vous devez d'abord slectionner un plongeur");
            } else {
                setPlongeur3(getSelectedPlongeur());
                suppEntreeListPlongeursAInscrire(getPlongeur3());
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur3);
                target.addComponent(ddc);
            }
        }
    });
    final MarkupContainer containAptPlongeur3 = new WebMarkupContainer("containPlongeur3");
    Label labelAptPlongeur3 = new Label("labelAptPlongeur3", Model.of(new String("aptitude")));
    labelAptPlongeur3.setOutputMarkupId(true);
    containAptPlongeur3.add(labelAptPlongeur3);
    TextField<String> valueAptPlongeur3 = new TextField<String>("aptitudePlongeur");
    valueAptPlongeur3.setOutputMarkupId(true);
    containAptPlongeur3.add(valueAptPlongeur3);
    containAptPlongeur3.add(new AjaxButton("validAptPlongeur3") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Palanque pp = (Palanque) form.getModelObject();
            if (null != pp.getAptitudePlongeur()) {
                ChoiceRenderPlongeur oldPlongeur3 = getSelectedPlongeur();
                Adherent adh = ResaSession.get().getAdherentService()
                        .rechercherAdherentParIdentifiantTous(getPlongeur3().getKey());
                String key = adh.getNumeroLicense();
                String value = adh.getNom() + "  " + adh.getPrenom() + "  " + pp.getAptitudePlongeur();
                ChoiceRenderPlongeur newPlongeur3 = new ChoiceRenderPlongeur(key, value);
                //on met le plongeur modifi
                setPlongeur3(newPlongeur3);
                //On supprime "ancien" et "nouveau" plongeur des plongeurs  inscrire
                listPlongeursAInscrireForpalanque.remove(oldPlongeur3);
                listPlongeursAInscrireForpalanque.remove(newPlongeur3);
                //On redonne le choix dans la selection du plongeur
                setSelectedPlongeur(null);
                // on remet aptitudePlongeur  null pour la prochaine fois
                pp.setAptitudePlongeur(null);
            }
            containAptPlongeur3.setVisible(!containAptPlongeur3.isVisible());
            target.addComponent(labelPlongeur3);
            target.addComponent(containAptPlongeur3);
            target.addComponent(ddc);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });
    containAptPlongeur3.setVisible(false);
    containAptPlongeur3.setOutputMarkupId(true);
    containAptPlongeur3.setOutputMarkupPlaceholderTag(true);
    add(containAptPlongeur3);

    add(new IndicatingAjaxLink("modifierPlongeur3") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur3() == null) {
                error("Le plongeur3 n'est pas saisi ");
            } else {
                containAptPlongeur3.setVisible(!containAptPlongeur3.isVisible());
                target.addComponent(labelPlongeur3);
                target.addComponent(containAptPlongeur3);
                target.addComponent(ddc);
            }
        }
    });
    add(new IndicatingAjaxLink("annulerPlongeur3") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur3() == null) {
                error("Le Plongeur3 n'est pas saisi ");
            } else {
                addEntreeListPlongeursAInscrire(getPlongeur3());
                setPlongeur3(null);
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur3);
                target.addComponent(ddc);
            }
        }
    });
    //--------------PLONGEUR4----------------------- 
    final Label labelPlongeur4 = new Label("nomPlongeur4",
            new PropertyModel(modelPalanque, "nomCompletPlongeur4"));
    labelPlongeur4.setOutputMarkupId(true);
    add(labelPlongeur4);
    add(new IndicatingAjaxLink("validePlongeur4") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur4() != null) {
                //on a dja un Plongeur4 de saisi, donc erreur et on fait rien
                error("Le Plongeur4  dj t saisi : " + getPlongeur4().getValue()
                        + " Impossible d'en saisir un autre");
            } else if (null == getSelectedPlongeur()) {
                error("Vous devez d'abord slectionner un plongeur");
            } else {
                setPlongeur4(getSelectedPlongeur());
                suppEntreeListPlongeursAInscrire(getPlongeur4());
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur4);
                target.addComponent(ddc);
            }
        }
    });
    final MarkupContainer containAptPlongeur4 = new WebMarkupContainer("containPlongeur4");
    Label labelAptPlongeur4 = new Label("labelAptPlongeur4", Model.of(new String("aptitude")));
    labelAptPlongeur4.setOutputMarkupId(true);
    containAptPlongeur4.add(labelAptPlongeur4);
    TextField<String> valueAptPlongeur4 = new TextField<String>("aptitudePlongeur");
    valueAptPlongeur4.setOutputMarkupId(true);
    containAptPlongeur4.add(valueAptPlongeur4);
    containAptPlongeur4.add(new AjaxButton("validAptPlongeur4") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Palanque pp = (Palanque) form.getModelObject();
            if (null != pp.getAptitudePlongeur()) {
                ChoiceRenderPlongeur oldPlongeur4 = getSelectedPlongeur();
                Adherent adh = ResaSession.get().getAdherentService()
                        .rechercherAdherentParIdentifiantTous(getPlongeur4().getKey());
                String key = adh.getNumeroLicense();
                String value = adh.getNom() + "  " + adh.getPrenom() + "  " + pp.getAptitudePlongeur();
                ChoiceRenderPlongeur newPlongeur4 = new ChoiceRenderPlongeur(key, value);
                //on met le plongeur modifi comme guide
                setPlongeur4(newPlongeur4);
                //On supprime "ancien" et "nouveau" plongeur des plongeurs  inscrire
                listPlongeursAInscrireForpalanque.remove(oldPlongeur4);
                listPlongeursAInscrireForpalanque.remove(newPlongeur4);
                //On redonne le choix dans la selection du plongeur
                setSelectedPlongeur(null);
                // on remet aptitudePlongeur  null pour la prochaine fois
                pp.setAptitudePlongeur(null);
            }
            containAptPlongeur4.setVisible(!containAptPlongeur4.isVisible());
            target.addComponent(labelPlongeur4);
            target.addComponent(containAptPlongeur4);
            target.addComponent(ddc);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    });
    containAptPlongeur4.setVisible(false);
    containAptPlongeur4.setOutputMarkupId(true);
    containAptPlongeur4.setOutputMarkupPlaceholderTag(true);
    add(containAptPlongeur4);
    add(new IndicatingAjaxLink("modifierPlongeur4") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur4() == null) {
                error("Le plongeur4 n'est pas saisi ");
            } else {
                containAptPlongeur4.setVisible(!containAptPlongeur4.isVisible());
                target.addComponent(labelPlongeur4);
                target.addComponent(containAptPlongeur4);
                target.addComponent(ddc);
            }
        }
    });

    add(new IndicatingAjaxLink("annulerPlongeur4") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(feedback);
            if (getPlongeur4() == null) {
                error("Le Plongeur4 n'est pas saisi ");
            } else {
                addEntreeListPlongeursAInscrire(getPlongeur4());
                setPlongeur4(null);
                setSelectedPlongeur(null);
                target.addComponent(labelPlongeur4);
                target.addComponent(ddc);
            }
        }
    });
    //-----------------Profondeur Maxi--------------------------
    TextField pMaxPrevu = new TextField<Integer>("profondeurMaxPrevue", Integer.class);
    pMaxPrevu.add(new MaximumValidator<Integer>(60));
    pMaxPrevu.add(new MinimumValidator<Integer>(0));
    add(pMaxPrevu);
    TextField pMaxRea = new TextField<Integer>("profondeurMaxRea", Integer.class);
    pMaxRea.add(new MaximumValidator<Integer>(60));
    pMaxRea.add(new MinimumValidator<Integer>(0));
    add(pMaxRea);
    //-----------------Dure de la plonge--------------------------
    TextField dureePrevu = new TextField<Integer>("dureeTotalePrevue", Integer.class);
    add(dureePrevu);
    TextField dureeRea = new TextField<Integer>("dureeTotaleRea", Integer.class);
    add(dureeRea);
    //-----------------Paliers--------------------------
    TextField palier3 = new TextField<Integer>("palier3m", Integer.class);
    palier3.add(new MinimumValidator<Integer>(0));
    add(palier3);
    TextField palier6 = new TextField<Integer>("palier6m", Integer.class);
    palier6.add(new MinimumValidator<Integer>(0));
    add(palier6);
    TextField palier9 = new TextField<Integer>("palier9m", Integer.class);
    palier9.add(new MinimumValidator<Integer>(0));
    add(palier9);
    TextField palierP = new TextField<Integer>("palierProfond", Integer.class);
    palierP.add(new MinimumValidator<Integer>(0));
    add(palierP);
    //-----------------Heure de sortie
    TextField heureSortie = new TextField<Integer>("hhSortie", Integer.class);
    heureSortie.add(new MaximumValidator<Integer>(24));
    heureSortie.add(new MinimumValidator<Integer>(0));
    add(heureSortie);
    TextField minuteSortie = new TextField<Integer>("mnSortie", Integer.class);
    minuteSortie.add(new MaximumValidator<Integer>(60));
    minuteSortie.add(new MinimumValidator<Integer>(0));
    add(minuteSortie);
    //------------------- Validation de la palanquee
    AjaxButton b_validerPalanque = new AjaxButton("validerPalanque") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Palanque palanqueForm = (Palanque) form.getModelObject();
            boolean formatAptitude = true;
            if (palanqueForm.getListPlongeursPalanque().size() > 0) {
                for (ChoiceRenderPlongeur crp : palanqueForm.getListPlongeursPalanque()) {
                    if (crp.getValue().contains("/")) {
                        formatAptitude = false;
                    } else {
                        error("Vrifier les aptitudes des plongeurs");
                    }
                }
            }
            if (formatAptitude) {
                if (palanqueForm.getListPlongeursPalanque().size() > 0) {
                    //init de l'heure de sortie avec les champs
                    palanqueForm.setHeureSortie(palanqueForm.getHhSortie(), palanqueForm.getMnSortie());
                    //suppression des plongeurs de la palanque dans les plongeurs  inscrire
                    suppPlongeursAInscrire(palanqueForm.getListPlongeursPalanque());

                    fs.getPalanques().remove(palanque);
                    fs.getPalanques().add(palanqueForm);

                    if (palanqueForm.getIsBapteme()) {
                        // c'est un Bapteme on remet le guide dans la liste des plongeurs  inscrire
                        // pour pouvoir le re-inscrire sur une autre palanque
                        if (!listPlongeursAInscrireForpalanque.contains(getGuide())) {
                            listPlongeursAInscrireForpalanque.add(getGuide());
                        }
                    }
                    //mise  jour des plongeurs  inscrire en session
                    ResaSession.get().setListPlongeursAInscrire(listPlongeursAInscrireForpalanque);
                    //Retour sur la feuille de saisie pour d'autres palanques eventuelles
                    setResponsePage(new SaisieFicheSecurite(origPage, dateMini, dateMaxi));
                } else {
                    error("Cette palanque ne contient aucun plongeur !");
                }
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(feedback);
        }
    };

    b_validerPalanque.setOutputMarkupId(true);
    add(b_validerPalanque);

    // bouton retour saisie Fiche de securite en reprennant les sauvegardes
    add(new Link("cancel") {
        @Override
        public void onClick() {
            for (Palanque ps : fs.getPalanques()) {
                if (ps.getNumero() == palanqueSAV.getNumero()) {
                    fs.getPalanques().set(fs.getPalanques().indexOf(ps), palanqueSAV);
                    break;
                }
            }
            ResaSession.get().setListPlongeursAInscrire(plongeursAInscrireSAV);
            setResponsePage(new SaisieFicheSecurite(origPage, dateMini, dateMaxi));
        }
    });

}

From source file:com.gitblit.wicket.pages.TicketPage.java

License:Apache License

protected void addDateAttributions(MarkupContainer container, Change entry) {
    container.add(WicketUtils.createDateLabel("changeDate", entry.date, GitBlitWebSession.get().getTimezone(),
            getTimeUtils(), false));/*from w ww .ja  v  a 2s . c  om*/

    // set the id attribute
    if (entry.hasComment()) {
        container.setOutputMarkupId(true);
        container.add(new AttributeModifier("id", Model.of(entry.getId())));
        ExternalLink link = new ExternalLink("changeLink", "#" + entry.getId());
        container.add(link);
    } else {
        container.add(new Label("changeLink").setVisible(false));
    }
}

From source file:hsa.awp.admingui.util.AbstractListSelectorPanel.java

License:Open Source License

/**
 * Constructor for AbstractListSelectorPanel which takes a list with items to be selected and a list with items which are
 * selected./* w w  w. j  a  v a 2s . co m*/
 *
 * @param id       wicket id
 * @param list     items which can be selected
 * @param selected selected items
 */
public AbstractListSelectorPanel(String id, final List<T> list, final List<T> selected) {

    super(id);
    this.setList(list);
    this.setSelected(selected);
    final MarkupContainer container = new WebMarkupContainer("listSelector.container");
    container.setOutputMarkupId(true);
    add(container);

    final ListView<T> selectableObjects = new ListView<T>("listSelector.selectableObjects", list) {
        /**
         * generated UID.
         */
        private static final long serialVersionUID = -636057392092428374L;

        @Override
        protected void populateItem(final ListItem<T> item) {

            AjaxFallbackLink<T> link = new AjaxFallbackLink<T>("listSelector.selectableObjectLink") {
                /**
                 * generated UID.
                 */
                private static final long serialVersionUID = 9106963174127725034L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    selected.add(item.getModelObject());
                    list.remove(item.getModelObject());
                    target.addComponent(container);
                }
            };
            link.add(new Label("listSelector.selectableObjectName", renderObject(item.getModelObject())));
            item.add(link);
        }
    };

    final ListView<T> selectedObjects = new ListView<T>("listSelector.selectedObjects", selected) {
        /**
         * generated UID.
         */
        private static final long serialVersionUID = -636057392092428374L;

        @Override
        protected void populateItem(final ListItem<T> item) {

            AjaxFallbackLink<T> link = new AjaxFallbackLink<T>("listSelector.selectedObjectLink") {
                /**
                 * generated UID.
                 */
                private static final long serialVersionUID = 9106963174127725035L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    list.add(item.getModelObject());
                    selected.remove(item.getModelObject());
                    target.addComponent(container);
                }
            };
            link.add(new Label("listSelector.selectedObjectName", renderObject(item.getModelObject())));
            item.add(link);
            item.add(new AjaxFallbackLink<T>("listSelector.selectedObjectUp") {
                /**
                 * generated UID.
                 */
                private static final long serialVersionUID = -2669309594395586038L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    int index = selected.indexOf(item.getModelObject());
                    if (index > 0) {
                        T saved = selected.get(index - 1);
                        selected.set(index - 1, selected.get(index));
                        selected.set(index, saved);
                    }
                    target.addComponent(container);
                }
            });

            item.add(new AjaxFallbackLink<T>("listSelector.selectedObjectDown") {
                /**
                 * generated UID.
                 */
                private static final long serialVersionUID = -2669309594395586039L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    int index = selected.indexOf(item.getModelObject());
                    if (index < selected.size() - 1) {
                        T saved = selected.get(index + 1);
                        selected.set(index + 1, selected.get(index));
                        selected.set(index, saved);
                    }
                    target.addComponent(container);
                }
            });
        }
    };

    container.add(selectableObjects);
    container.add(selectedObjects);
}

From source file:hsa.awp.usergui.registrationmanagement.ConfirmedRegistrationManagementPanel.java

License:Open Source License

public ConfirmedRegistrationManagementPanel(String id, final List<ConfirmedRegistration> registrations) {

    super(id);/*from   ww  w .  j  a v a2s . co m*/

    final MarkupContainer box = new WebMarkupContainer("FifoManagementBox");
    box.setOutputMarkupId(true);

    final LoadableDetachedModel<List<ConfirmedRegistration>> regModel = new LoadableDetachedModel<List<ConfirmedRegistration>>() {
        /**
         * unique serialization id.
         */
        private static final long serialVersionUID = -5771746782326674752L;

        @Override
        protected List<ConfirmedRegistration> load() {

            SingleUser singleUser = controller
                    .getUserById(SecurityContextHolder.getContext().getAuthentication().getName());
            return controller.findConfirmedRegistrationsByParticipantId(singleUser.getId());
        }
    };

    box.add(new ListView<ConfirmedRegistration>("registrationList", regModel) {
        /**
         * generated uid.
         */
        private static final long serialVersionUID = 5261679476830400718L;

        @Override
        protected void populateItem(final ListItem<ConfirmedRegistration> item) {

            ConfirmedRegistration registration = item.getModelObject();
            Event event = controller.getEventById(registration.getEventId());

            item.add(new Label("regName", formatIdSubjectNameAndDetailInformation(event)));

            if (registration.getProcedure() == null) {
                item.add(new Label("procedureName", "direkt"));
            } else {
                item.add(new Label("procedureName", registration.getProcedure().getName()));
            }

            AjaxLink<String> deleteLink = new AjaxLink<String>("regCancelLink") {
                /**
                 * generated UID.
                 */
                private static final long serialVersionUID = 7720300709649429249L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    controller.deleteConfirmedRegistration(item.getModelObject());

                    RegistrationManagementPanel regPan = findParent(RegistrationManagementPanel.class);
                    if (regPan != null) {
                        regPan.update(target);
                    }

                    target.addComponent(box);
                    regModel.detach();
                }
            };

            deleteLink.setVisible(controller.isCampaignOpen(item.getModelObject()));

            item.add(deleteLink);
            deleteLink.add(new JavascriptEventConfirmation("onclick", "Sind Sie sicher?/Are you sure?"));
        }
    });

    add(box);
}

From source file:org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.columns.ObjectAdapterToggleboxColumn.java

License:Apache License

@Override
public void populateItem(final Item<ICellPopulator<ObjectAdapter>> cellItem, final String componentId,
        final IModel<ObjectAdapter> rowModel) {

    cellItem.add(new CssClassAppender("togglebox-column"));

    final MarkupContainer row = cellItem.getParent().getParent();
    row.setOutputMarkupId(true);
    final EntityModel entityModel = (EntityModel) rowModel;
    String concurrencyExceptionIfAny = entityModel.getAndClearConcurrencyExceptionIfAny();
    if (concurrencyExceptionIfAny != null) {
        row.add(new CssClassAppender("reloaded-after-concurrency-exception"));
    }/*from w w w.j a  v  a 2s .  c  o m*/

    final ContainedToggleboxPanel toggle = new ContainedToggleboxPanel(componentId) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target) {
            final EntityModel entityModel = (EntityModel) rowModel;
            ObjectAdapter selectedAdapter = null;
            try {
                selectedAdapter = entityModel.load(ConcurrencyChecking.CHECK);
                if (onSelectionHandler != null) {
                    onSelectionHandler.onSelected(this, selectedAdapter, target);
                }
            } catch (ConcurrencyException ex) {

                // should work second time, because the previous attempt will have updated the OAM's OIDs version.
                selectedAdapter = entityModel.load(ConcurrencyChecking.CHECK);
                if (onConcurrencyExceptionHandler != null) {
                    onConcurrencyExceptionHandler.onConcurrencyException(this, selectedAdapter, ex, target);
                }

                entityModel.setException(ex);
            }
        }
    };
    rowToggles.add(toggle);
    toggle.setOutputMarkupId(true);
    cellItem.add(toggle);
}

From source file:org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobOrClobPanelAbstract.java

License:Apache License

private void updateClearLink(InputFieldVisibility visibility) {
    final MarkupContainer formComponent = (MarkupContainer) getComponentForRegular();
    formComponent.setOutputMarkupId(true); // enable ajax link

    final AjaxLink<Void> ajaxLink = new AjaxLink<Void>(ID_SCALAR_IF_REGULAR_CLEAR) {
        private static final long serialVersionUID = 1L;

        @Override/*from w  ww . jav  a  2 s.c o m*/
        public void onClick(AjaxRequestTarget target) {
            setEnabled(false);
            ScalarModel model = IsisBlobOrClobPanelAbstract.this.getModel();
            model.setObject(null);
            target.add(formComponent);
            target.add(fileNameLabel);
        }
    };
    ajaxLink.setOutputMarkupId(true);
    formComponent.addOrReplace(ajaxLink);

    final T blobOrClob = getBlobOrClobFromModel();
    formComponent.get(ID_SCALAR_IF_REGULAR_CLEAR)
            .setVisible(blobOrClob != null && visibility == InputFieldVisibility.VISIBLE);
}

From source file:org.artifactory.webapp.wicket.page.browse.treebrowser.tabs.jnlp.JnlpViewTabPanel.java

License:Open Source License

private void setRepository(RepoDescriptor repoDescriptor) {
    String servletContextUrl = RequestUtils.getWicketServletContextUrl();
    final String key = repoDescriptor.getKey();
    final String virtualRepoUrl = servletContextUrl + "/" + key + "/";

    String jnlpHref = virtualRepoUrl + fileItem.getFileInfo().getRelPath();
    JnlpUtils.AppletInfo appletInfo = JnlpUtils.getAppletInfo(jnlpContent, jnlpHref);
    boolean isJavaFxApplet = appletInfo != null;

    // add links/*w w  w. j  a va 2  s .c om*/
    MarkupContainer jnlpLinksBorder = new FieldSetBorder("jnlpLinksBorder");
    jnlpLinksBorder.add(new LaunchWebStartLink("webstart", virtualRepoUrl, key));
    Component appletLink = new LaunchAppletLink("applet", appletInfo, key);
    appletLink.setVisible(isJavaFxApplet);
    jnlpLinksBorder.add(appletLink);
    addOrReplace(jnlpLinksBorder);

    // add script snippet
    if (isJavaFxApplet) {
        MarkupContainer scriptSnippetBorder = new FieldSetBorder("scriptSnippetBorder") {
            @Override
            public String getTitle() {
                return format("Applet's Script Snippet (%s repository)", key);
            }
        };
        scriptSnippetBorder.add(
                WicketUtils.getSyntaxHighlighter("scriptSnippet", appletInfo.getScriptSnippet(), Syntax.xml));
        addOrReplace(scriptSnippetBorder);
    } else {
        MarkupContainer scriptSnippetBorder = new PlaceHolder("scriptSnippetBorder");
        scriptSnippetBorder.setOutputMarkupId(true);
        scriptSnippetBorder.setOutputMarkupPlaceholderTag(true);
        scriptSnippetBorder.add(new PlaceHolder("scriptSnippet"));
        addOrReplace(scriptSnippetBorder);
    }
}

From source file:org.artifactory.webapp.wicket.page.home.addon.AddonsInfoPanel.java

License:Open Source License

/**
 * Main constructor//from   ww  w  .j  a  v a 2  s  .  c o  m
 *
 * @param id              ID to assign to panel
 * @param installedAddons Name list of installed addons
 * @param noEnabledAddons True if no addons are enabled
 */
public AddonsInfoPanel(String id, List<AddonInfo> installedAddons, boolean noEnabledAddons) {
    super(id);
    add(new CssClass("addons-table"));

    final boolean currentLicenseValid = addonsManager.isLicenseInstalled();

    MarkupContainer addonTable = new WebMarkupContainer("addonTable");
    boolean noAddons = installedAddons.isEmpty();
    boolean admin = authorizationService.isAdmin();

    addonTable.setVisible(!noAddons);
    addonTable.setOutputMarkupId(true);

    Component listView = new ListView<AddonInfo>("addonItem", installedAddons) {
        @Override
        protected void populateItem(ListItem<AddonInfo> item) {
            AddonInfo addonInfo = item.getModelObject();

            item.add(new ExternalLink("name", getAddonUrl(addonInfo.getAddonName()),
                    addonInfo.getAddonDisplayName()));
            item.add(new Label("image", "").add(new CssClass("addon-" + addonInfo.getAddonName())));

            String stateString = getAddonStatus(addonInfo.getAddonState());
            item.add(new Label("status", stateString));
            if (item.getIndex() % 2 == 0) {
                item.add(new CssClass("even"));
            }
        }
    };
    addonTable.add(listView);
    add(addonTable);

    add(new Label("addonsDisabled", "No addons available")
            .setVisible(currentLicenseValid && !noAddons && noEnabledAddons));

    add(new Label("noAddons", "No add-ons currently installed.").setVisible(noAddons));

    String licenseRequiredMessage = addonsWebManager
            .getLicenseRequiredMessage(WicketUtils.absoluteMountPathForPage(LicensePage.class));
    Label noLicenseKeyLabel = new Label("noLicenseKey", licenseRequiredMessage);
    noLicenseKeyLabel.setVisible(admin && !currentLicenseValid && !noAddons && noEnabledAddons);
    noLicenseKeyLabel.setEscapeModelStrings(false);

    add(noLicenseKeyLabel);
}

From source file:org.dcm4chee.web.war.tc.TCSearchPanel.java

License:LGPL

@SuppressWarnings({ "serial" })
public TCSearchPanel(final String id) {
    super(id, new Model<TCQueryFilter>(new TCQueryFilter()));

    setOutputMarkupId(true);//from   www.j av a 2s . c o m

    final DateSpanSearchItem dateSpanItem = new DateSpanSearchItem();
    final DateSpanDialog dateSpanDialog = new DateSpanDialog(dateSpanItem);
    final List<IDateSearchItem> dateItems = new ArrayList<IDateSearchItem>();
    dateItems.addAll(Arrays.asList(NotOlderThanSearchItem.values()));
    dateItems.add(dateSpanItem);

    Form<?> dateSpanDialogOuterForm = new Form<Void>("date-input-dialog-outer-form");
    dateSpanDialogOuterForm.setOutputMarkupId(true);
    dateSpanDialogOuterForm.setMarkupId("tc-search-date-input-form-helper");
    dateSpanDialogOuterForm.add(dateSpanDialog);

    final TCInput keywordInput = TCUtilities.createInput("keywordInput", TCQueryFilterKey.Keyword,
            getFilterValue(TCQueryFilterKey.Keyword), true);
    final TCInput anatomyInput = TCUtilities.createInput("anatomyInput", TCQueryFilterKey.Anatomy,
            getFilterValue(TCQueryFilterKey.Anatomy), true);
    final TCInput pathologyInput = TCUtilities.createInput("pathologyInput", TCQueryFilterKey.Pathology,
            getFilterValue(TCQueryFilterKey.Pathology), true);
    final TCInput findingInput = TCUtilities.createInput("findingInput", TCQueryFilterKey.Finding,
            getFilterValue(TCQueryFilterKey.Finding), true);
    final TCInput diagnosisInput = TCUtilities.createInput("diagnosisInput", TCQueryFilterKey.Diagnosis,
            getFilterValue(TCQueryFilterKey.Diagnosis), true);
    final TCInput diffDiagnosisInput = TCUtilities.createInput("diffDiagnosisInput",
            TCQueryFilterKey.DifferentialDiagnosis, getFilterValue(TCQueryFilterKey.DifferentialDiagnosis),
            true);
    final TextField<String> textText = new TextField<String>("textText", new Model<String>(""));
    textText.add(new AutoSelectInputTextBehaviour());

    final DropDownChoice<TCQueryFilterValue.AcquisitionModality> modalityChoice = TCUtilities
            .createDropDownChoice("modalityChoice", new Model<TCQueryFilterValue.AcquisitionModality>(),
                    Arrays.asList(TCQueryFilterValue.AcquisitionModality.values()), NullDropDownItem.All);
    final DropDownChoice<TCQueryFilterValue.PatientSex> patientSexChoice = TCUtilities.createEnumDropDownChoice(
            "patientSexChoice", new Model<TCQueryFilterValue.PatientSex>(),
            Arrays.asList(TCQueryFilterValue.PatientSex.values()), true, "tc.patientsex", NullDropDownItem.All);
    final DropDownChoice<TCQueryFilterValue.Category> categoryChoice = TCUtilities.createEnumDropDownChoice(
            "categoryChoice", new Model<TCQueryFilterValue.Category>(),
            Arrays.asList(TCQueryFilterValue.Category.values()), true, "tc.category", NullDropDownItem.All);
    final DropDownChoice<TCQueryFilterValue.Level> levelChoice = TCUtilities.createEnumDropDownChoice(
            "levelChoice", new Model<TCQueryFilterValue.Level>(),
            Arrays.asList(TCQueryFilterValue.Level.values()), true, "tc.level", NullDropDownItem.All);
    final DropDownChoice<TCQueryFilterValue.YesNo> diagnosisConfirmedChoice = TCUtilities
            .createEnumDropDownChoice("diagnosisConfirmedChoice", new Model<TCQueryFilterValue.YesNo>(),
                    Arrays.asList(TCQueryFilterValue.YesNo.values()), true, "tc.yesno", NullDropDownItem.All);
    final TCAjaxComboBox<IDateSearchItem> dateBox = new TCAjaxComboBox<IDateSearchItem>("dateChoice", dateItems,
            new IChoiceRenderer<IDateSearchItem>() {
                public String getIdValue(IDateSearchItem item, int index) {
                    return item.getId();
                }

                public String getDisplayValue(IDateSearchItem item) {
                    return item.getLabel(getSession().getLocale());
                }
            }) {
        @Override
        protected IDateSearchItem convertValue(String svalue) {
            if (TCUtilities.equals(dateSpanItem.getLabel(getSession().getLocale()), svalue)) {
                return dateSpanItem;
            } else {
                return NotOlderThanSearchItem.valueForLabel(svalue, getSession().getLocale());
            }
        }

        @Override
        protected boolean shallCommitValue(IDateSearchItem oldValue, IDateSearchItem newValue,
                AjaxRequestTarget target) {
            if (dateSpanItem == newValue) {
                final Component c = this;
                dateSpanDialog.setWindowClosedCallback(new WindowClosedCallback() {
                    @Override
                    public void onClose(AjaxRequestTarget target) {
                        target.appendJavascript(
                                getDateBoxInitUIJavascript(c.getMarkupId(true), dateSpanItem, false));
                    }
                });
                dateSpanDialog.show(target);
                return true;
            }

            return super.shallCommitValue(oldValue, newValue, target);
        }
    };
    TCUtilities.addOnDomReadyJavascript(dateBox,
            getDateBoxInitUIJavascript(dateBox.getMarkupId(), dateSpanItem, true));

    final RadioGroup<Option> optionGroup = new RadioGroup<Option>("optionGroup", new Model<Option>());
    optionGroup.add(new Radio<Option>("historyOption", new Model<Option>(Option.History)));
    optionGroup.add(new Radio<Option>("authorNameOption", new Model<Option>(Option.AuthorName)));
    optionGroup.add(new Radio<Option>("authorContactOption", new Model<Option>(Option.AuthorContact)));
    optionGroup.add(new Radio<Option>("authorOrganisationOption", new Model<Option>(Option.AuthorAffiliation)));
    optionGroup.add(new Radio<Option>("discussionOption", new Model<Option>(Option.Discussion)));
    optionGroup.add(new Radio<Option>("titleOption", new Model<Option>(Option.Title)));
    optionGroup.add(new Radio<Option>("abstractOption", new Model<Option>(Option.Abstract)));
    optionGroup.add(new Radio<Option>("patientSpeciesOption", new Model<Option>(Option.PatientSpecies)));

    final AjaxButton searchBtn = new AjaxButton("doSearchBtn") {

        private static final long serialVersionUID = 1L;

        private IAjaxCallDecorator decorator;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                try {
                    findParent(TCPanel.class).getPopupManager().hidePopups(target);
                } catch (Exception e) {
                    log.error("Error while closing popups!", e);
                }

                TCQueryFilter filter = (TCQueryFilter) TCSearchPanel.this.getDefaultModelObject();
                filter.clear();

                filter.setKeywords(keywordInput.getValues());

                if (showAdvancedOptions) {
                    filter.setAnatomy(anatomyInput.getValue());
                    filter.setPathology(pathologyInput.getValue());
                    filter.setFinding(findingInput.getValue());
                    filter.setDiagnosis(diagnosisInput.getValue());
                    filter.setDiffDiagnosis(diffDiagnosisInput.getValue());
                    filter.setAcquisitionModality(modalityChoice.getModelObject());
                    filter.setPatientSex(patientSexChoice.getModelObject());
                    filter.setCategory(categoryChoice.getModelObject());
                    filter.setLevel(levelChoice.getModelObject());

                    YesNo yesNo = diagnosisConfirmedChoice.getModelObject();
                    if (YesNo.Yes.equals(yesNo)) {
                        filter.setDiagnosisConfirmed(yesNo);
                    }

                    IDateSearchItem dateItem = dateBox.getModelObject();
                    if (dateItem == null) {
                        filter.setCreationDate(null, null);
                    } else {
                        filter.setCreationDate(dateItem.getFromDate(), dateItem.getUntilDate());
                    }

                    Option selectedOption = optionGroup.getModelObject();
                    if (selectedOption != null) {
                        if (Option.History.equals(selectedOption)) {
                            filter.setHistory(textText.getDefaultModelObjectAsString());
                        } else if (Option.AuthorName.equals(selectedOption)) {
                            filter.setAuthorName(textText.getDefaultModelObjectAsString());
                        } else if (Option.AuthorContact.equals(selectedOption)) {
                            filter.setAuthorContact(textText.getDefaultModelObjectAsString());
                        } else if (Option.AuthorAffiliation.equals(selectedOption)) {
                            filter.setAuthorAffiliation(textText.getDefaultModelObjectAsString());
                        } else if (Option.Title.equals(selectedOption)) {
                            filter.setTitle(textText.getDefaultModelObjectAsString());
                        } else if (Option.Abstract.equals(selectedOption)) {
                            filter.setAbstract(textText.getDefaultModelObjectAsString());
                        } else if (Option.PatientSpecies.equals(selectedOption)) {
                            filter.setPatientSpecies(textText.getDefaultModelObjectAsString());
                        } else if (Option.Discussion.equals(selectedOption)) {
                            filter.setDiscussion(textText.getDefaultModelObjectAsString());
                        }
                    }
                }

                Component[] toUpdate = doSearch(filter);

                if (toUpdate != null && target != null) {
                    for (Component c : toUpdate) {
                        target.addComponent(c);
                    }
                }
            } catch (Throwable t) {
                log.error("Searching for teaching-files failed!", t);
            }
        }

        @Override
        public void onError(AjaxRequestTarget target, Form<?> form) {
            BaseForm.addInvalidComponentsToAjaxRequestTarget(target, form);
        }

        @Override
        protected IAjaxCallDecorator getAjaxCallDecorator() {
            if (decorator == null) {
                decorator = new TCMaskingAjaxDecorator(false, true);
            }
            return decorator;
        }
    };

    searchBtn.setOutputMarkupId(true);
    searchBtn.add(new Image("doSearchImg", ImageManager.IMAGE_COMMON_SEARCH)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    searchBtn.add(new Label("doSearchText", new ResourceModel("tc.search.dosearch.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle;")))
            .setOutputMarkupId(true));

    AjaxButton resetBtn = new AjaxButton("resetSearchBtn") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            TCQueryFilter filter = (TCQueryFilter) TCSearchPanel.this.getDefaultModelObject();
            filter.clear();

            keywordInput.setValues();
            anatomyInput.setValues();
            pathologyInput.setValues();
            findingInput.setValues();
            diagnosisInput.setValues();
            diffDiagnosisInput.setValues();
            modalityChoice.setModelObject(null);
            levelChoice.setModelObject(null);
            patientSexChoice.setModelObject(null);
            categoryChoice.setModelObject(null);
            diagnosisConfirmedChoice.setModelObject(null);
            dateBox.setModelObject(null);
            textText.setModelObject(null);
            optionGroup.setModelObject(null);

            target.addComponent(form);
            target.appendJavascript("initUI($('#" + TCSearchPanel.this.getMarkupId(true) + "'));");
        }

        @Override
        public void onError(AjaxRequestTarget target, Form<?> form) {
            BaseForm.addInvalidComponentsToAjaxRequestTarget(target, form);
        }
    };
    resetBtn.add(new Image("resetSearchImg", ImageManager.IMAGE_COMMON_RESET)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    resetBtn.add(new Label("resetSearchText", new ResourceModel("tc.search.reset.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle;"))));

    final WebMarkupContainer wmc = new WebMarkupContainer("advancedOptions");
    wmc.setOutputMarkupPlaceholderTag(true);
    wmc.setOutputMarkupId(true);
    wmc.setVisible(false);

    wmc.add(anatomyInput.getComponent());
    wmc.add(pathologyInput.getComponent());
    wmc.add(findingInput.getComponent());
    wmc.add(diagnosisInput.getComponent());
    wmc.add(diffDiagnosisInput.getComponent());
    wmc.add(modalityChoice);
    wmc.add(patientSexChoice);
    wmc.add(categoryChoice);
    wmc.add(levelChoice);
    wmc.add(diagnosisConfirmedChoice);
    wmc.add(dateBox);
    wmc.add(optionGroup);
    wmc.add(textText);
    wmc.add(resetBtn);

    final MarkupContainer advancedOptionsToggleLink = new AjaxFallbackLink<String>("advancedOptionsToggle") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            showAdvancedOptions = !showAdvancedOptions;

            wmc.setVisible(showAdvancedOptions);

            target.addComponent(wmc);
            target.addComponent(this);

            if (showAdvancedOptions) {
                target.appendJavascript("initUI($('#" + wmc.getMarkupId(true) + "'));");
            }
        }
    }.add(new Label("advancedOptionsToggleText", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = -7928173606391768738L;

        @Override
        public String getObject() {
            return showAdvancedOptions ? getString("tc.search.advancedOptions.hide.Text")
                    : getString("tc.search.advancedOptions.show.Text");
        }
    })).add((new Image("advancedOptionsToggleImg", new AbstractReadOnlyModel<ResourceReference>() {
        private static final long serialVersionUID = 1L;

        @Override
        public ResourceReference getObject() {
            return showAdvancedOptions ? ImageManager.IMAGE_COMMON_COLLAPSE : ImageManager.IMAGE_COMMON_EXPAND;
        }
    })).add(new ImageSizeBehaviour()));
    advancedOptionsToggleLink.setOutputMarkupId(true);

    final Form<?> form = new Form<Object>("searchForm");
    form.add(keywordInput.getComponent());
    form.add(wmc);
    form.add(searchBtn);
    form.setDefaultButton(searchBtn);
    form.setOutputMarkupPlaceholderTag(true);

    form.add(advancedOptionsToggleLink);

    add(dateSpanDialogOuterForm);
    add(form);

    add(new AjaxFallbackLink<Object>("searchToggle") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            showSearch = !showSearch;

            form.setVisible(showSearch);

            target.addComponent(TCSearchPanel.this);

            if (showSearch) {
                target.appendJavascript("initUI($('#" + TCSearchPanel.this.getMarkupId(true) + "'));");
            }
        }
    }.add((new Image("searchToggleImg", new AbstractReadOnlyModel<ResourceReference>() {
        private static final long serialVersionUID = 1L;

        @Override
        public ResourceReference getObject() {
            return showSearch ? ImageManager.IMAGE_COMMON_COLLAPSE : ImageManager.IMAGE_COMMON_EXPAND;
        }
    })).add(new ImageSizeBehaviour())));
}

From source file:org.hippoecm.frontend.plugins.standards.tabs.TabsPlugin.java

License:Apache License

public TabsPlugin(IPluginContext context, IPluginConfig properties) {
    super(context, properties);

    setOutputMarkupId(true);//from ww  w. j  a  va2  s  .co  m

    IPluginConfig panelConfig = new JavaPluginConfig(properties.getName() + "-empty-panel");
    panelConfig.put("wicket.id", properties.getString(TAB_ID));
    panelConfig.put("wicket.behavior", properties.getString("tabbedpanel.behavior"));

    if (properties.containsKey("tabbedpanel.openleft")) {
        openleft = properties.getBoolean("tabbedpanel.openleft");
    }

    emptyPanel = new RenderService(context, panelConfig);
    context.registerService(emptyPanel, properties.getString(TAB_ID));

    MarkupContainer tabsContainer = new TabsContainer();
    tabsContainer.setOutputMarkupId(true);

    tabs = new ArrayList<>();
    add(tabbedPanel = newTabbedPanel("tabs", tabs, tabsContainer));
    tabbedPanel.setMaxTitleLength(properties.getInt(MAX_TAB_TITLE_LENGTH, 12));
    tabbedPanel.setIconType(IconSize.getIconSize(properties.getString(TAB_ICON_SIZE, IconSize.M.name())));

    if (properties.containsKey("tabs.container.id")) {
        JavaPluginConfig containerConfig = new JavaPluginConfig(properties.getName() + "-tabs-container");
        containerConfig.put("wicket.id", properties.getString("tabs.container.id"));
        RenderService containerService = new TabsContainerService(context, containerConfig);
        containerService.add(tabsContainer);
    } else {
        tabbedPanel.add(tabsContainer);
    }

    selectionCount = 0;
    ServiceTracker<IRenderService> tabsTracker = new ServiceTracker<IRenderService>(IRenderService.class) {

        @Override
        public void onServiceAdded(IRenderService service, String name) {
            // add the plugin
            service.bind(TabsPlugin.this, TabbedPanel.TAB_PANEL_ID);
            if (service != emptyPanel) {
                final int selectedTabIndex = tabbedPanel.getSelectedTab();
                if (selectedTabIndex >= 0) {
                    final Tab selectedTab = tabs.get(selectedTabIndex);
                    onTabDeactivated(selectedTab);
                }

                final Tab tab = new Tab(service);
                if (openleft) {
                    tabs.add(0, tab);
                    tabbedPanel.setSelectedTab(0);
                    tabbedPanel.addFirst();
                } else {
                    tabs.add(tab);
                    if (tabs.size() == 1) {
                        tabbedPanel.setSelectedTab(0);
                    }
                    tabbedPanel.addLast();
                }

                onTabActivated(tab);
            }
        }

        @Override
        public void onRemoveService(IRenderService service, String name) {
            final Tab tab = findTab(service);
            if (tab != null) {
                onTabDeactivated(tab);

                tabs.remove(tab);
                tab.destroy();

                if (tabs.isEmpty()) {
                    tabbedPanel.setSelectedTab(-1);
                }
                service.unbind();
                tabbedPanel.removed(tab);
            }
        }
    };
    context.registerTracker(tabsTracker, properties.getString(TAB_ID));

}