@SuppressWarnings("rawtypes") public void ajoutFormulaireDirect() { for (int i = 0; i < elements.size(); i++) { JSONObject elementAsJSONObject = BuildJsonObject.buildJSONObjectElementBis( "" + i, ((ArrayList) elements.get(i)).get(0).toString(), ((ArrayList) elements.get(i)).get(1).toString(), ((ArrayList) elements.get(i)).get(2).toString()); formAsJSONObjectBis.put("element" + i, elementAsJSONObject); ajouterParametre( i, ((ArrayList) elements.get(i)).get(3).toString(), ((ArrayList) elements.get(i)).get(4).toString()); } FormulaireController.allouerFormulaireBis(dualListBox, formAsJSONObjectBis); try { RequestBuilder builder = new RequestBuilder(RequestBuilder.PUT, FORMULAIRE_URL + "updateForm"); builder.setHeader("Content-Type", "application/json"); builder.sendRequest( formAsJSONObjectBis.toString(), new RequestCallback() { public void onError(Request request, Throwable exception) { Window.alert("Erreur d'ajout"); } public void onResponseReceived(Request request, Response response) { RootPanel.get("button_Enregistrer").remove(enregistrer); Window.alert("Formulaire: Ajout avec succès"); Window.Location.reload(); } }); } catch (RequestException e) { System.out.println("RequestException"); } }
// Charger la zone de modification par les differents elements du formulaire public void chargerFormulaire() { // Vider la zone de modification dans le cas où elle est occupée par un // autre formulaire if (bodyExist) { RootPanel.get("container_principal").clear(); Document.get().getBody().removeChild(bodyForm.getElement()); dualListBox.clear(); enregistrer = new Anchor(); } // Construire la zone de modification bodyForm = new BodyFormulaire(); Document.get().getBody().appendChild(bodyForm.getElement()); // Alimenter la liste des comptes CU et CA alimenterList(); // Ajouter Action au lien "Allocation du formulaire" Anchor link_allocation = Anchor.wrap(bodyForm.getLink_allocation()); link_allocation.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { // Afficher le popup contenant la dual liste qui contient la // liste des comptes CA et CU FormulaireController.CreateDialogBoxAllocation(dualListBox, false, null).show(); } }); // Ajouter le button supprimer Formulaire supprimer.setHTML( "<a class='bouton_enregistrer floatRight' style='margin-right:13%; cursor:pointer'>Supprimer</a>"); RootPanel.get("button_Enregistrer").add(supprimer); // RootPanel.get("form_formulaire_allocation").getElement().appendChild(dualListBox.getElement()); RootPanel.get("form_formulaire_creation").getElement().appendChild(form.getElement()); enregistrer.setHTML( "<a class='bouton_enregistrer floatRight' style='margin-right:15px; cursor:pointer'>Enregistrer</a>"); RootPanel.get("button_Enregistrer").add(enregistrer); RootPanel.get("contenu_principal_formulaire").add(new FormulaireBoard()); RootPanel.get("container_principal").insert(FormulaireController.createImageGrid(), 0); bodyExist = true; // Remplir le formulaire nom et commentaire RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, FORMULAIRE_URL + formulaire_id); builder.setHeader("Content-Type", "application/json"); try { builder.sendRequest( null, new RequestCallback() { public void onError(Request request, Throwable exception) {} @SuppressWarnings("deprecation") public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { JSONValue formAsJSONValue = JSONParser.parse(response.getText()); formAsJSONObject = formAsJSONValue.isObject(); ((InputElement) form.getForm_nom()) .setValue(formAsJSONObject.get("nom").isString().stringValue()); ((InputElement) form.getForm_comment()) .setValue(formAsJSONObject.get("commentaire").isString().stringValue()); ancienNom = form.getForm_nom().getValue(); // ((InputElement)form.getForm_nom()).setDisabled(true); } } }); } catch (RequestException e) { System.out.println("RequestException"); } // Remplir la zone de création par les elements et les parametres builder = new RequestBuilder( RequestBuilder.GET, ELEMENT_URL + "listerElement/formulaire/" + formulaire_id); builder.setHeader("Content-Type", "application/json"); try { builder.sendRequest( null, new RequestCallback() { public void onError(Request request, Throwable exception) {} @SuppressWarnings("deprecation") public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { String elementsAsJSONString = response.getText(); JSONValue elementsAsJSONValue = JSONParser.parse(elementsAsJSONString); JSONArray elementsAsJSONArray = elementsAsJSONValue.isArray(); for (int i = 0; i < elementsAsJSONArray.size(); i++) { JSONValue elementAsJSONValue = elementsAsJSONArray.get(i); JSONObject elementAsJSONObject = elementAsJSONValue.isObject(); elementsAsString += elementAsJSONObject.get("id").isNumber().toString() + "-"; getParamsByElement( Long.parseLong(elementAsJSONObject.get("id").isNumber().toString()), Integer.parseInt(elementAsJSONObject.get("position_y").isNumber().toString()), Integer.parseInt(elementAsJSONObject.get("position_x").isNumber().toString()), elementAsJSONObject.get("type").isString().stringValue()); } } } }); } catch (RequestException e) { System.out.println("RequestException"); } // Action de suppression d'un formulaire supprimer.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { // Supprimer le formulaire RequestBuilder builder = new RequestBuilder( RequestBuilder.PUT, FORMULAIRE_URL + "supprimer/" + formulaire_id); builder.setHeader("Content-Type", "application/json"); try { builder.sendRequest( null, new RequestCallback() { public void onError(Request request, Throwable exception) {} public void onResponseReceived(Request request, Response response) { Window.Location.reload(); } }); } catch (RequestException e) { System.out.println("RequestException"); } } }); // Action de l'enregistrement du formulaire dans la base de données enregistrer.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { FormulaireController.recupererElements(choices, options, elements, parametres); // Ajouter les elements regroupés dans la base de données ajouterFormulaire(elements); } }); final Anchor apercu = new Anchor(); // Création du lien de l'aperçu apercu.setHTML( "<a class='bouton_enregistrer floatRight' style='margin-right:15px; cursor:pointer'>Aperçu</a>"); RootPanel.get("button_Enregistrer").add(apercu); apercu.addClickHandler( new ClickHandler() { @SuppressWarnings("rawtypes") public void onClick(ClickEvent event) { choices = new ArrayList(); options = new ArrayList(); elements = new ArrayList(); parametres = new ArrayList(); FormulaireController.recupererElements(choices, options, elements, parametres); bodyapercu = new BodyApercu(); // Passer à l'interface de l'aperçu Document.get().getBody().removeChild(bodyForm.getElement()); Document.get().getBody().appendChild(bodyapercu.getElement()); // Création de la page de l'aperçu FormulaireController.pageApercu( bodyapercu, form.getForm_nom().getValue(), form.getForm_comment().getValue(), elements, parametres, choices, options); Anchor retourAnchor = Anchor.wrap(bodyapercu.getRetour()); retourAnchor.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { choices = new ArrayList(); options = new ArrayList(); elements = new ArrayList(); parametres = new ArrayList(); Document.get().getBody().removeChild(bodyapercu.getElement()); Document.get().getBody().appendChild(bodyForm.getElement()); } }); } }); }
public void ajouterElement(JSONArray parametres, final int x, final int y, final String type) { final FormulaireController gc = FormulaireController.getInstance(); FormulaireBoard cb = gc.getCheckerBoard(); Widget element = null; TextBox label = new TextBox(); label.addStyleName("inputLabel"); JSONValue paramAsJSONValue; if (type.equals("text") || type.equals("date") || type.equals("time") || type.equals("chiffre")) paramAsJSONValue = parametres.get(0); else { JSONValue parametresValue = parametres.get(0); JSONObject parametresObject = parametresValue.isObject(); if (parametresObject.get("nom").isString().stringValue().equals("titre")) paramAsJSONValue = parametres.get(0); else paramAsJSONValue = parametres.get(1); } JSONObject paramAsJSONObject = paramAsJSONValue.isObject(); label.setText(paramAsJSONObject.get("valeur").isString().stringValue()); TextBox choix = null; final DroppableElement cellule = (DroppableElement) cb.getCell(x, y); cellule.type = type; Element elem = new Element(new Position(y, x), "deplace"); elem.getElement().setClassName(elem.getType() + "Style"); Image suppression = new Image(); suppression.setUrl("images/formulaire/delete.png"); suppression.addStyleName("deleteForm"); String id = Utils.generateId(); ; // Création de l'element selon le type if (type.equals("text")) { element = new TextBox(); } if (type.equals("image")) { element = new Image("../images/formulaire/Photo.png"); } else if (type.equals("checkbox")) { CheckBox c = new CheckBox(); // Ajout de l'attribut name pour les champs checkbox et radio cellule.name = "" + CHOICE; element = c; // Ajout du label de choix pour les champs de type checkbox et radio choix = new TextBox(); choix.addStyleName("inputLabel"); choix.getElement().setAttribute("placeholder", "Choix"); } else if (type.equals("radio")) { RadioButton r = new RadioButton("Choix"); cellule.name = "" + CHOICE; element = r; choix = new TextBox(); choix.addStyleName("inputLabel"); choix.getElement().setAttribute("placeholder", "Choix"); } else if (type.equals("combobox")) { OPTION++; // Ajout de l'option pour les champs de type combobox cellule.option = "" + OPTION; element = new ListBox(); } else if (type.equals("chiffre")) { element = new HTML( "<input type='text' class='gwt-TextBox' onkeypress=\"if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46){ event.returnValue=false;}else if(event.keyCode == 46 && (this.value == '' || this.value.indexOf('.') != -1)){ event.returnValue =false;} \" />"); } else if (type.equals("date")) { element = new HTML("<input type='text' id='date" + id + "' class='gwt-TextBox' />"); } else { element = new HTML("<input type='text' id='time" + id + "' class='gwt-TextBox' />"); } HorizontalPanel hp = cellule.getWidgetElement(); hp.add(label); hp.add(element); cellule.choix = false; if (type.equals("checkbox") || type.equals("radio") || type.equals("combobox")) { JSONValue parametresValue = parametres.get(0); JSONObject parametresObject = parametresValue.isObject(); if (parametresObject.get("nom").isString().stringValue().equals("titre")) paramAsJSONValue = parametres.get(1); else paramAsJSONValue = parametres.get(0); paramAsJSONObject = paramAsJSONValue.isObject(); String ch[] = paramAsJSONObject.get("valeur").isString().stringValue().split("\\*_\\*"); if (type.equals("checkbox") || type.equals("radio")) { choix.setText(ch[0]); for (int i = 1; i < ch.length; i++) { DroppableElement.ajouterChoix(x + i, y, type, ch[i]); } CHOICE++; } else { for (int i = 0; i < ch.length; i++) { ((ListBox) element).addItem(ch[i], ch[i]); } } } if (choix != null) hp.add(choix); hp.add(elem); hp.add(suppression); cellule.lock(); if (type.equals("date") || type.equals("time")) FormulaireController.nativeMethod(type + id, type); // Action de la suppression suppression.addClickHandler( new ClickHandler() { public void onClick(ClickEvent event) { // Vider la cellule cellule.clear(); // Si le champs est de type checkbox ou radio, il faix vider les // champs de choix également if (type.equals("checkbox") || type.equals("radio")) { final FormulaireController gc = FormulaireController.getInstance(); FormulaireBoard c = gc.getCheckerBoard(); boolean end = false; int ligne = x + 1; while (!end) { DroppableElement cellule_choix = (DroppableElement) c.getCell(ligne, y); if (cellule_choix.choix) { cellule_choix.clear(); cellule_choix.type = null; cellule_choix.choix = false; cellule_choix.name = null; cellule_choix.enable(); ligne++; } else end = true; } } // Rendre le champs capable de recevoir des elements puisqu'on // l'a vidé cellule.enable(); cellule.type = null; } }); }
@Override public void onModuleLoad() { /** * Seuls les profils Super Adminisatreur et CA peuvent se connecter à cette page * */ if (Cookies.getCookie("profil") == null) { Window.Location.replace(GWT.getHostPageBaseURL() + "Connexion.html" + Constantes.SUFFIXE_URL); } else if (Cookies.getCookie("client") == null) Window.Location.replace( GWT.getHostPageBaseURL() + "Accueil_superadmin.html" + Constantes.SUFFIXE_URL); else if (Cookies.getCookie("profil").equals("CU")) { Window.Location.replace( GWT.getHostPageBaseURL() + "Accueil_applifit.html" + Constantes.SUFFIXE_URL); } else { // Ajouter le menu à la page MenuForm menu = new MenuForm(Constantes.USER); Document.get().getBody().appendChild(menu.getElement()); /** * action de deconnexion ** */ Anchor deconnexionWrapper = Anchor.wrap(menu.getDeconnexion()); deconnexionWrapper.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { Utils.deconnexion(); } }); /** * action Rubrique accueil ** */ Anchor accueilWrapper = Anchor.wrap(menu.getAccueil()); accueilWrapper.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { if (Cookies.getCookie("profil").equals("SA")) Window.Location.replace( GWT.getHostPageBaseURL() + "Accueil_superadmin.html" + Constantes.SUFFIXE_URL); else Window.Location.replace( GWT.getHostPageBaseURL() + "Accueil_applifit.html" + Constantes.SUFFIXE_URL); } }); /** * action de rubrique formulaire ** */ Anchor formulaireWrapper = Anchor.wrap(menu.getFormulaire()); formulaireWrapper.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { if (Cookies.getCookie("profil").equals("SA") || Cookies.getCookie("profil").equals("CA")) Window.Location.replace( GWT.getHostPageBaseURL() + "Formulaire_menu_applifit.html" + Constantes.SUFFIXE_URL); else Window.Location.replace( GWT.getHostPageBaseURL() + "Formulaire_consulter_applifit.html" + Constantes.SUFFIXE_URL); } }); // Ajouter la zone de recherche à la page Document.get().getBody().insertAfter(recherche.getElement(), menu.getElement()); nativeMethod("datepicker"); // Remplire la liste des formulaires par les formulaires actifs liés // à la société courante FormulaireController.alimenterListeForm( FORMULAIRE_URL + "listerFormulaire/entreprise/" + Cookies.getCookie("client"), recherche); // Ajouter action por le button de recherche Anchor search = Anchor.wrap(recherche.getSearch_link()); search.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { final ListBox lb = ListBox.wrap(recherche.getFormulaire()); // Vider la liste lb.clear(); lb.addItem("Choisir un formulaire...", ""); // Lancer la recherche du formulaire selon le nom et la date // de création FormulaireController.rechercheForm(recherche); // Ajouter action on change de la liste des formulaires , // affichant le formulaire selectionné final ListBox lb2 = ListBox.wrap(recherche.getFormulaire()); lb2.addChangeHandler( new ChangeHandler() { @SuppressWarnings("rawtypes") @Override public void onChange(ChangeEvent event) { elements = new ArrayList(); parametres = new ArrayList(); choices = new ArrayList(); options = new ArrayList(); // Si la ligne selectionnée n'est pas le prompt de // la liste if (lb.getSelectedIndex() != 0) { // Récuperer la valeur selectionnée formulaire_id = Long.parseLong(lb.getValue(lb.getSelectedIndex())); // Récuperer les elements et parametres du // formulaire et les afficher dans la zone de // modification chargerFormulaire(); } } }); } }); // Ajouter action on change de la liste des formulaires , affichant // le formulaire selectionné final ListBox lb = ListBox.wrap(recherche.getFormulaire()); lb.addChangeHandler( new ChangeHandler() { @SuppressWarnings("rawtypes") @Override public void onChange(ChangeEvent event) { elements = new ArrayList(); parametres = new ArrayList(); choices = new ArrayList(); options = new ArrayList(); // Si la ligne selectionnée n'est pas le prompt de la liste if (lb.getSelectedIndex() != 0) { // Récuperer la valeur selectionnée formulaire_id = Long.parseLong(lb.getValue(lb.getSelectedIndex())); // Récuperer les elements et parametres du formulaire et // les afficher dans la zone de modification chargerFormulaire(); } } }); } }