From 131984889df5ac1c4eeaa541bbf54b94ff82a751 Mon Sep 17 00:00:00 2001 From: abou Date: Fri, 10 May 2013 09:13:04 +0000 Subject: [PATCH] TMA-6077 - Liens GED/Services : Partie Zimbra git-svn-id: http://10.83.199.175/svn/trunk/ent@21437 7aca092c-bad2-11dd-b7cb-bdc45c3e6652 --- .../Zimlet/com_logica_ged/com_logica_ged.css | 9 + .../Zimlet/com_logica_ged/com_logica_ged.js | 161 ++++++++++++++++++ .../com_logica_ged/com_logica_ged.properties | 5 + .../Zimlet/com_logica_ged/com_logica_ged.xml | 6 + .../com_logica_ged/templates/zmtGed.template | 15 ++ 5 files changed, 196 insertions(+) create mode 100644 services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.css create mode 100644 services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.js create mode 100644 services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.properties create mode 100644 services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.xml create mode 100644 services/Zimbra/Zimlet/com_logica_ged/templates/zmtGed.template diff --git a/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.css b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.css new file mode 100644 index 0000000000..43102c9bb2 --- /dev/null +++ b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.css @@ -0,0 +1,9 @@ +.DwtCompositeGED { + width: 700px; + height: 500px; +} + + +/* .ZmDialogGED { */ +/* /* overflow: auto; */ */ +/* } */ \ No newline at end of file diff --git a/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.js b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.js new file mode 100644 index 0000000000..53ce5b99c3 --- /dev/null +++ b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.js @@ -0,0 +1,161 @@ +/** + * Fichier JS, pour la Zimlet de connexion de Zimbra avec la GED de LifeRay. + * + * @author abou + */ + +/** + * Constructeur de Zimlet. + */ +com_logica_ged_HandlerObject = function() { +}; + +com_logica_ged_HandlerObject.prototype = new ZmZimletBase(); +com_logica_ged_HandlerObject.prototype.constructor = com_logica_ged_HandlerObject; + +/** + * Création d'un alias pour l'Object Handler de la zimlet. + */ +var zimlet_ged = com_logica_ged_HandlerObject; + +/** + * Variables globales + */ +var titreFenetre, config_url, button_text, pView, pbDialog, fieldId; + +/** + * Fonction init, Initalisation des libellées depuis le fichier de + * configuration. + */ +zimlet_ged.prototype.init = function() { + ZmMsg.myComputer = this.getMessage("zmtGed_ongletText"); + config_url = this.getMessage("zmtGed_url"); + button_text = this.getMessage("zmtGed_buttonText"); + titreFenetre = this.getMessage("zmtGed_titreFenetreText"); +}; + +/** + * Fonction pour préparer les paramètres de la requete hhtp. + */ +var lancerHttpGet = function(callback) { + + url = document.URL.split('/'); + var extServer = url[0] + "//" + url[2]; + + // TODO : bouchon à supprimer + extServer = 'http://www.apache.org'; + + // TODO : bouchon à supprimer + var extServerParams = ""; + + // add parameters to the url + var extServerUrl = [ extServer, "?", extServerParams ].join(""); + + // TODO : bouchon à supprimer + extServerUrl = extServer; + + var encodedExtServerUrl = AjxStringUtil.urlComponentEncode(extServerUrl); + + var proxyServletUrl = [ ZmZimletBase.PROXY, encodedExtServerUrl ].join(""); + + // Appel webservice + AjxRpc.invoke(null, proxyServletUrl, null, new AjxCallback(this, callback), true); + +}; + +/** + * Méthode callback après lancement de la requête http. + */ +var gedCallBack = function(response) { +// if (response.success == false) { +// // afficher l'erreur de la repense +// appCtxt.getAppController().setStatusMsg("Error: " + response.text, ZmStatusView.LEVEL_WARNING); +// return; +// } + + pView.getHtmlElement().innerHTML = response.text; + pView.getHtmlElement().style.overflow = "auto"; + + // Display dialog + pbDialog.popup(); +}; + +/** + * Reféfinition de la fonction hérité pour modifier le comportement par défaut + * du bouton Parcourir. + */ +ZmMyComputerTabViewPage.prototype._addAttachmentField = function() { + if (this._attachCount >= this.MAX_NO_ATTACHMENTS) { + return; + } + + this._attachCount++; + + var row = this.attachmentTable.insertRow(-1); + var cell = row.insertCell(-1); + fieldId = Dwt.getNextId(); + // + var subs = { + id : fieldId, + uri : config_url, + buttonText : button_text + }; + cell.innerHTML = AjxTemplate.expand("com_logica_ged.templates.zmtGed#AddAttachmentTemplate", subs); + + var removeEl = document.getElementById(fieldId + "_remove"); + removeEl.onclick = AjxCallback.simpleClosure(this._removeAttachmentField, this, row); + + var inputId = fieldId + "_input"; + if (this._focusElId == -1) { + this._focusElId = inputId; + } + var inputEl = document.getElementById(inputId); + var sizeEl = document.getElementById(fieldId + "_size"); + var buttonEl = document.getElementById(fieldId + "_button"); + + // ajout d'un handler pour le clique sur le bouton. + Dwt.setHandler(buttonEl, DwtEvent.ONCLICK, ouvrirFenetreGed(inputId)); + buttonEl.onclick = ouvrirFenetreGed(inputId); + +}; + +/** + * Création de la fenêtre pour choisir un document depuis la GED. + */ +var ouvrirFenetreGed = function(inputId) { + debugger; + if (pbDialog) { // si la zimlet existe déjà... + pbDialog.clear(); + } + + pView = new DwtComposite({ + parent : appCtxt.getShell(), + className : "DwtCompositeGED" + }); + + pbDialog = new ZmDialog({ + title : titreFenetre, + className : "ZmDialogGED", + view : pView, + parent : appCtxt.getShell(), + standardButtons : [ DwtDialog.CANCEL_BUTTON ] + }); + + // Listner pour le bouton fermer + pbDialog.setButtonListener(DwtDialog.CANCEL_BUTTON, new AjxListener(this, fermerBtnListener)); + + // appel Webservice + lancerHttpGet(gedCallBack); + document.getElementById(inputId).value = "chi7aja "+inputId; + +}; + +/** + * Listner pour fermer la fenêtre. + */ +var fermerBtnListener = function() { + + pbDialog.popdown(); + pbDialog.clear();// cacher la fenêtre. +}; +; diff --git a/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.properties b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.properties new file mode 100644 index 0000000000..517fde5fe4 --- /dev/null +++ b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.properties @@ -0,0 +1,5 @@ +zmtGed_ongletText = Mon espace de travail +zmtGed_url = http://fr.yahoo.fr +zmtGed_params = aaaaa,bbbbb,ccccc,ddddd +zmtGed_buttonText = Ouvrir GED +zmtGed_titreFenetreText = Titre de la fenêtre (à définir) \ No newline at end of file diff --git a/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.xml b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.xml new file mode 100644 index 0000000000..d22bdec098 --- /dev/null +++ b/services/Zimbra/Zimlet/com_logica_ged/com_logica_ged.xml @@ -0,0 +1,6 @@ + + com_logica_ged.js + templates/zmtGed.template.js + com_logica_ged_HandlerObject + com_logica_ged.css + \ No newline at end of file diff --git a/services/Zimbra/Zimlet/com_logica_ged/templates/zmtGed.template b/services/Zimbra/Zimlet/com_logica_ged/templates/zmtGed.template new file mode 100644 index 0000000000..40e4a5b0e0 --- /dev/null +++ b/services/Zimbra/Zimlet/com_logica_ged/templates/zmtGed.template @@ -0,0 +1,15 @@ + \ No newline at end of file -- 2.17.1