Changeset 767
- Timestamp:
- 04/25/13 12:22:14 (11 years ago)
- Location:
- tapas
- Files:
-
- 108 added
- 19 edited
- 3 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
tapas/domain/interface/com/ether/tapas/Preference.java
r400 r767 77 77 78 78 @NotNull 79 public Pair<String, String> getBervCorrection() 80 { 81 return _bervCorrection; 82 } 83 84 public void setBervCorrection( @NotNull final Pair<String, String> bervCorrection ) 85 { 86 _bervCorrection = bervCorrection ; 87 } 88 89 @NotNull 79 90 private Pair<String, String> _format; 80 91 @NotNull … … 88 99 @NotNull 89 100 private Pair<String, String> _co2Extinction; 101 @NotNull 102 private Pair<String, String> _bervCorrection; 90 103 } -
tapas/service/implementation/com/ether/TapasServiceImpl.java
r529 r767 47 47 48 48 final String servicePath = prop.getProperty( "service_path" ); 49 final String srcPath = prop.getProperty( "src_path" );49 //final String srcPath = prop.getProperty( "src_path" ); 50 50 final String dataPath = prop.getProperty( "data_path" ); 51 51 52 final String fichier = servicePath + "/" + "request.xml";52 //final String fichier = servicePath + "/" + "request.xml"; 53 53 final Element tapas = new Element( "tapas" ); 54 54 final List<Element> listRequest = new ArrayList<Element>( fTapas.getRequests().size() ); … … 125 125 preferences.addContent( co2e ); 126 126 127 //berv correction 128 final Element bervCorr = new Element( "berv_correction" ); 129 validR = new Attribute( "valid", "YES,NO" ); 130 bervCorr.setAttribute( validR ); 131 bervCorr.setText( iRequest.getPreference().getBervCorrection().getSecondValue() ); 132 preferences.addContent( bervCorr ); 133 134 127 135 request.addContent( preferences ); 128 136 … … 488 496 annee = "" + cal.get( Calendar.YEAR ); 489 497 490 fileName = "/" + annee + "/" + mois + "/" + jour + "/" + nomCourt + "_" + annee + mois + jour + ind; 498 //fileName = "/" + annee + "/" + mois + "/" + jour + "/" + nomCourt + "_" + annee + mois + jour + ind; 499 fileName="/"+type+"/" + nomCourt + "_" + annee + mois + jour + ind; 491 500 492 501 if( type == "arletty" ) fileName = fileName + ".arl"; … … 495 504 return fileName; 496 505 } 506 497 507 498 508 -
tapas/web/index.jsp
r382 r767 1 1 <%--This redirect is used to allow messages sources in the index page--%> 2 <jsp:forward page="project?methodName=home "/>2 <jsp:forward page="project?methodName=home_en"/> -
tapas/web/init_en.jsp
r529 r767 23 23 <fieldset class="cfs3"> 24 24 25 WHAT TAPAS CAN DO FOR YOU : 25 <u>What is TAPAS ?</u><br> 26 27 TAPAS is a free on-line service for the astronomical community, allowing the user to access a simulated atmospheric transmission for the specific observing conditions. It can be accessed through the ETHER data base makes use of:<br> 28 <ul type=circle> 29 <li>the latest available version of spectroscopic HITRAN data base 30 <li>the most realistic atmospheric profile (temperature T(z) and pressure p(z) ) that is available from ECMWF meteorological field adapted to the location and time of the observation, with the addition of an estimate from MSIS-E for altitudes higher than 1 hPa pressure level. The composite profiles (p,T, density) is produced by an ETHER product called Arletty. 31 </ul> 32 For observations in the future, a climatological atmospheric profile is computed - the LBLRTM software for the calculation of the atmospheric transmission in the spherical geometry, including refraction -<br> 33 34 The user receives an e-mail indicating an address where he can find the required atmospheric transmission product. Then, the user may divide his/her observed spectrum by the simulated transmission spectrum to get the spectrum of his/her target âout of atmosphereâ. 35 36 Reports from problems encountered by users, comments, critics, suggestions, appreciations from the users are very welcome, and could serve for an improvement of the TAPAS Services. 37 They all should be addressed to "Cathy Boonne (IPSL)" <cbipsl@ipsl.jussieu.fr>. She will either answer directly or redirect to the relevant TAPAS team member. 38 <br><br> 39 40 41 <u>What TAPAS can do for you ?</u> 26 42 27 43 <ul type=circle> 28 <li>Make use of the <a href="http://ether.ipsl.jussieu.fr">ETHER</a> facility to interpolate within the ECMWF (European Centre for Medium-Range Weather Forecasts) the pressure, temperature,and constituent profile at the location of your observing site and within 6 hours from the date of your observations.29 <br> 44 <li>Make use of the ETHER facility to interpolate within the ECMWF (European Centre for Medium-Range Weather Forecasts) pressure, temperature and constituent profile at the location of your observing site and within 6 hours from the date of your observations. 45 30 46 <li>Compute the atmospheric transmittance from the top of the atmosphere down to the observatory, based on the HITRAN (high-resolution transmission molecular absorption database) molecular database and the LBLTRM (Line-By-Line Radiative Transfer Model) radiative transfer code. 31 <br> 47 32 48 <li>Provide separate transmittances associated with H2O, O2, O3, CO2, and Rayleigh scattering. 33 <br> 49 34 50 <li>Allow disentangling atmospheric features from other absorptions in your astronomical spectra. 35 51 36 52 </ul> 37 53 54 <table cellpadding=4 cellspacing=6 align="center"> 55 <tr> 56 <td colspan=5> 57 <img width=760px height="290px" src="resources/images/graph_tapas1.jpg"> 58 </td> 59 </tr> 60 </table> 38 61 <br> 39 62 63 64 <u>Definition of spectral interval for the computation</u> <br> 65 Wavelength coverage: the spectral interval may be selected within the window from 350 to 2500 nm. 66 <br><br> 67 <u>Wavelength sampling, resolution and PSF</u> 68 <br> 69 The resolution is defined as λ/FWHM, where FWHM is the Full-width at half maximum of an instrumental shape assumes to be Gaussian. The sampling is defined by the sampling ratio, the number of points per FWHM. 70 <br><br> 71 <u>Selection of atmospheric constituents:</u><br> 72 The user may select the transmission computation within the following list: 73 - Rayleigh extinction, O2, Ozone, H2O. In the future, NO2 and NO3 from a climatology established from GOMOS /ENVISAT measurements may also be available. 74 75 The user may also select the option in which the transmissions are calculated separately for each constituent, for a better identification of observed lines. The total transmission is then the multiplication of all individual transmissions. It also may be useful to get the H2O transmission separately, because the quantity of H2O may be adjusted by a power law of the transmission, TX(H2O), where X is the adjusting factor. Such a formula must be applied, in principle only with the highest possible resolution, and after that the user may convolute by the spectrometer PSF spectral profile PSF. 76 <br> 77 <br> 78 <u>Input parameters are:</u><br> 79 <ul type=circle> 80 <li>RA DEC of the target, or the zenith angle of the target. 81 <li>location of the observer (including the altitude). A list of most important observatories (with location and altitude) are included in the TAPAS data base, easing the user request. 82 <li>Arletty p-T profile 83 <li>H2O and ozone profiles from ECMWF. 84 </ul> 85 The atmospheric refraction, which bends the light path and increases slightly the atmospheric path is taken into account. 86 <br> 87 <br> 88 89 <u>The TAPAS team</u>: 90 <ul type=circle> 91 <li>Jean-Loup Bertaux at LATMOS is the overall scientific manager of the project. 92 <li>Rosine Lallement at GEPI is the chief scientist for the astronomy. 93 <li>Stéphane Ferron at ACRI-ST has developed the computation of the transmission with LBLRTM 94 <li>Cathy Boonne at IPSL is managing the ETHER data center. 95 <li>Renaud Bodichon at IPSL has developed the user interface 96 </ul> 97 In addition, Alain Hauchecorne at LATMOS is used by the TAPAS team as an expert in atmospheric physics. He developed the Arletty product within Ether. 98 <br> 99 <br> 100 <u>Laboratories and institutions involved:</u><br> 101 <u>GEPI</u>, <u>LATMOS</u>, <u>IPSL</u>, <u>ACRI-ST</u> 102 103 <br><u>GEPI</u> is a Department of Observatoire de Paris-Meudon (France), involved in many instrumental projects (ground-based and space-based, GAIA/ESA,EUCLID/ESA), dealing with stellar Physics and galactic physics. 104 105 <br><u>LATMOS</u> is located on the campus of UVSQ (Université de Versailles Saint Quentin) and on the campus of Université Pierre et Marie Curie, Paris, France. 106 107 <br><u>IPSL</u> (Institut Pierre Simon Laplace) is a federation of 6 laboratories, which develop a common strategy in the field of Climate research. It manages a number of observation services, and the ETHER data center for the chemistry of the atmosphere. 108 109 <br><u>ACRI-ST</u> is an independent R&D company based in Sophia-Antipolis, France. Its team of engineers and researchers provides skills in applied maths, geophysics, mechanics, numerical modeling, for studies, expertise, training, and environmental information services.: 260 route du Pin Montard, BP 234 06904 Sophia-Antipolis Cedex, France Tel +33 (0)4 92 96 75 00; Fax +33 (0)4 92 96 71 17 110 111 <br><br>Any question about TAPAS should be addressed to <u>Cathy Boonne (IPSL) (cbipsl@ipsl.jussieu.fr)</u>. She will either answer directly or redirect to the relevant TAPAS team member. 112 113 114 <br><br> 115 <u>Acknowledgements</u><br>This work is being supported by CNES (Centre National des Etudes Spatiales) and CNRS (Centre National de la Recherche Scientifique).<br>TAPAS is a service maintained by ETHER data center. ETHER acknowledges for TAPAS the use of HITRAN data base and the LBLRTM radiative transfer code, the use of ECMWF data and the ETHER data center. 116 117 118 <br> 40 119 <table cellpadding=4 cellspacing=6 align="center"> 41 120 … … 45 124 <td><a target="_blank" href="http://www.ipsl.fr"><img width=100 src="resources/images/logo_ipsl.png"></a></td> 46 125 <td><a target="_blank" href="http://www.cnrs.fr"><img border="1" width=70 src="resources/images/logo_cnrs.jpg"></a></td> 126 <td><a target="_blank" href="http://gepi.obspm.fr"><img border="1" width=140 src="resources/images/logo_gepi.jpg"></a></td> 47 127 </tr> 128 </table> 48 129 49 130 -
tapas/web/init_fr.jsp
r529 r767 23 23 <fieldset class="cfs3"> 24 24 25 WHAT TAPAS CAN DO FOR YOU : 25 <u>Qu'est-ce que TAPAS ?</u><br> 26 27 TAPAS est un service en ligne gratuit pour la communauté astronomique, permettant à l'utilisateur d'accéder à une transmission atmosphérique simulée pour des conditions d'observations spécifiques. On peut y accéder par le biais de la base de données ETHER utilisant:<br> 28 <ul type=circle> 29 <li>la dernière version de la base de données spectroscopiue HITRAN 30 <li>le profil atmosphérique le plus réaliste (température T (z) et p pression (z)) qui est disponible à partir du champ météorologique ECMWF adapté à l'emplacement et l'heure de l'observation, avec l'ajout d'une estimation du MSIS-E pour les altitudes supérieures à 1hPa. Les profils P, T et densité sont produits par le logiciel Arletty d'Ether. 31 </ul> 32 Pour des observations dans le futur, un profil atmosphérique climatologique est calculé - le logiciel LBLRTM pour le calcul de la transmission de l'atmosphÚre dans la géométrie sphérique incluant la réfraction - 33 34 L'utilisateur reçoit un courrier électronique lui indiquant une lien où se trouve le produit de la transmission atmosphérique requise. 35 Ensuite, l'utilisateur peut filtrer son spectre observé par le spectre de transmission simulé pour obtenir le spectre cible "hors de l'atmosphÚre". 36 Les problÚmes rencontrés par les utilisateurs, commentaires, critiques, suggestions, appréciations des visiteurs sont les bienvenus, et peuvent servir à une amélioration de TAPAS. Ils devront être adressés à «Cathy Boonne (IPSL)". 37 Elle répondra directement ou redirigera vers le membre de l'équipe TAPAS approprié. 38 39 <br><br> 40 41 42 <u>Que peut faire TAPAS pour vous ?</u> 26 43 27 44 <ul type=circle> 28 <li> Make use of the <a href="http://ether.ipsl.jussieu.fr">ETHER</a> facility to interpolate within the ECMWF (European Centre for Medium-Range Weather Forecasts) the pressure, temperature, and constituent profile at the location of your observing site and within 6 hours from the date of yourobservations.29 <br> 30 <li>C ompute the atmospheric transmittance from the top of the atmosphere down to the observatory, based on the HITRAN (high-resolution transmission molecular absorption database) molecular database and the LBLTRM (Line-By-Line Radiative Transfer Model) radiative transfer code.31 <br> 32 <li> Provide separate transmittances associated with H2O, O2, O3, CO2, and Rayleigh scattering.33 <br> 34 <li> Allow disentangling atmospheric features from other absorptions in your astronomical spectra.45 <li>Faire usage des services de Ether pour interpoler via ECMWF (Centre Européen pour les Prévisions Météorologiques à Moyen Terme) la pression, la température et le profil de l'espÚce concernée à l'emplacement de votre site d'observation et dans les 6 heures à partir de la date de vos observations. 46 47 <li>Calculer le facteur de transmission atmosphérique du sommet de l'atmosphÚre vers l'observatoire, basé sur la base de données moléculaire HITRAN ((high-resolution transmission molecular absorption database) et le code du transfert radiatif LBLTRM (Line-By-Line Radiative Transfer Model). 48 49 <li>Fournir des transmitions distinctes associées à H2O, O2, O3, CO2, et la diffusion de Rayleigh. 50 51 <li>Mettre en évidence d'autres caractéristiques atmosphériques par votre spectre astronomique. 35 52 36 53 </ul> 37 54 55 <table cellpadding=4 cellspacing=6 align="center"> 56 <tr> 57 <td colspan=5> 58 <img width=760px height="290px" src="resources/images/graph_tapas1.jpg"> 59 </td> 60 </tr> 61 </table> 38 62 <br> 39 63 64 65 <u>Définition de l'intervalle spectral pour le calcul</u> <br> 66 Couverture de longueurs d'onde: l'intervalle spectral peut être choisi dans la fenêtre de 350 à 2500 nm. 67 <br><br> 68 <u>Longueur d'onde d'échantillonnage, la résolution et PSF</u> 69 <br> 70 La résolution est définie comme λ / FWHM, où LMH est la pleine largeur à mi-hauteur d'une forme instrumentale supposée gaussienne. L'échantillonnage est défini par le rapport d'échantillonnage : nombre de points par FWHM. 71 <br><br> 72 <u>Choix des composants atmosphériques:</u><br> 73 L'utilisateur peut sélectionner le calcul de la transmission par la liste suivante : - Rayleigh extinction, O2, Ozone, H2O. à l'avenir, NO2 et NO3 d'une climatologie établie à partir des mesures GOMOS / ENVISAT peuvent également être disponibles. 74 L'utilisateur peut également sélectionner l'option dont les transmissions sont calculées séparément pour chaque constituant, pour une meilleure identification des raies observées. La transmission totale est alors la multiplication de toutes les transmissions individuelles. Il peut également être utile pour obtenir la transmission H2O séparément, car la quantité de H2O peut être réglée par une loi de puissance de la transmission, TX (H2O), où X est le facteur d'ajustement. Une telle formule doit être appliquée en principe uniquement avec la résolution la plus élevée possible, et ensuite l'utilisateur peut convoluer par le spectromÚtre PSF profil spectral PSF. 75 <br> 76 <br> 77 <u>Les paramÚtres d'entrée sont:</u> 78 <br> 79 <ul type=circle> 80 <li>RA DEC de la cible, ou l'angle zénithal de la cible. 81 <li>Position de l'observateur (incluant l'altitude). Une liste de la plupart des observatoires importants (avec l'emplacement et l'altitude) est incluse dans la base de données de TAPAS, facilitant la demande de l'utilisateur. 82 <li>Arletty p-T profile 83 <li>H2O and ozone profiles from ECMWF. 84 </ul> 85 La réfraction atmosphérique, qui infléchit la trajectoire de la lumiÚre et augmente légÚrement la voie atmosphérique est prise en compte.<br> 86 <br> 87 88 <u>L'équipe TAPAS</u>: 89 <ul type=circle> 90 <li>Jean-Loup Bertaux (LATMOS), responsable scientifique du projet. 91 <li>Rosine Lallement (GEPI) chef scientifique pour l'astronomie. 92 <li>Stéphane Ferron (ACRI-ST) a développé le module de calcul de la transmission avec LBLRTM 93 <li>Cathy Boonne (IPSL) responsable du centre de données ETHER à Paris. 94 <li>Renaud Bodichon (IPSL) a développé l'interface utilisateur 95 </ul> 96 Egalement, Alain Hauchecorne (LATMOS) est consulté par l'équipe TAPAS en tant qu'expert en Physique de l'atmosphÚre. Il est à l'origine du produit Arletty. 97 <br> 98 <br> 99 <u>Les laboratories and institutions impliquées:</u><br> 100 <u>GEPI</u>, <u>LATMOS</u>, <u>IPSL</u>, <u>ACRI-ST</u> 101 102 <br><u>GEPI</u> est un département de l'Observatoire de Paris-Meudon (France), impliqué dans de nombreux projets instrumentaux (basés au sol et dans l'espace, GAIA/ESA,EUCLID/ESA), traitant de Physique stellaire et galactique. 103 104 <br><u>LATMOS</u>est situé sur le campus de l'UVSQ (Université de Versailles Saint Quentin) et sur ââle campus de l'Université Pierre et Marie Curie, Paris, France. 105 106 <br><u>IPSL</u> (Institut Pierre Simon Laplace) est une fédération de 6 laboratoires qui développent une stratégie commune dans le domaine de la recherche sur le climat. Saisissez du texte, l'adresse d'un site Web ou importez un document à traduire. Il gÚre un certain nombre de services d'observation et le centre de données Ether pour la Chimie de l'atmosphÚre. 107 108 <br><u>ACRI-ST</u> est une société de R&D indépendante basée à Sophia-Antipolis, France. Son équipe d'ingénieurs et de chercheurs fournit des compétences en mathématiques appliquées, géophysique, mécanique, modélisation numérique, pour les études, l'expertise, la formation et les services d'information sur l'environnement : 260 route du Pin Montard, BP 234 06904 Sophia-Antipolis Cedex, France Tel +33 (0)4 92 96 75 00; Fax +33 (0)4 92 96 71 17. 109 110 <br><br>Toute question au sujet de TAPAS doit être adressée à <u> Cathy Boonne (IPSL) (cbipsl@ipsl.jussieu.fr) </u>. Elle répondra directement ou redirigera vers le membre de l'équipe TAPAS pertinente. 111 112 113 <br><br> 114 <u>Remerciements</u><br>Ce travail est soutenu par le CNES (Centre National des Etudes Spatiales) et le CNRS (Centre National de la Recherche Scientifique). 115 <br> TAPAS est un service géré par le centre de données Ether. Ether remercie pour TAPAS l'utilisation de la base de données HITRAN et le code de transfert radiatif LBLRTM, l'utilisation des données du ECMWF et le centre de données Ether. 116 117 118 <br> 40 119 <table cellpadding=4 cellspacing=6 align="center"> 41 120 … … 45 124 <td><a target="_blank" href="http://www.ipsl.fr"><img width=100 src="resources/images/logo_ipsl.png"></a></td> 46 125 <td><a target="_blank" href="http://www.cnrs.fr"><img border="1" width=70 src="resources/images/logo_cnrs.jpg"></a></td> 126 <td><a target="_blank" href="http://gepi.obspm.fr"><img border="1" width=140 src="resources/images/logo_gepi.jpg"></a></td> 47 127 </tr> 128 </table> 48 129 49 130 -
tapas/web/init_old.jsp
r529 r767 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>2 1 <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> 3 <%@ taglib prefix="tiles" uri="/WEB-INF/tlds/struts-tiles.tld" %>4 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>5 2 6 < tiles:insert page="/resources/templates/templateEther.jsp" flush="true">3 <script type="text/javascript"> 7 4 8 <tiles:put name="insertCss" type="string"/> 9 <tiles:put name="insertJsOrJsp" type="string"/> 5 var language='<spring:message code="language"/>'; 10 6 11 <tiles:put name="title" type="string"><spring:message code="app.title"/> - <spring:message code="title.home"/></tiles:put> 12 <tiles:put name="nav" type="string"><a href=""><spring:message code="label.home"/></a></tiles:put> 7 document.location.href = "project?methodName=home_"+language; 13 8 9 </script> 14 10 15 <%-- ****************** CONTENT ****************** --%>16 <tiles:put name="bodytitle" type="string"><spring:message code="title.home"/></tiles:put>17 18 <tiles:put name="body" type="string">19 <c:if test="${not empty errors}">20 <div id="errors"><spring:message code="${errors}"/></div>21 </c:if>22 <div class="containerLabel3">23 <fieldset class="cfs3">24 25 WHAT TAPAS CAN DO FOR YOU :26 27 <ul type=circle>28 <li>Make use of the <a href="http://ether.ipsl.jussieu.fr">ETHER</a> facility to interpolate within the ECMWF (European Centre for Medium-Range Weather Forecasts) the pressure, temperature, and constituent profile at the location of your observing site and within 6 hours from the date of your observations.29 <br>30 <li>Compute the atmospheric transmittance from the top of the atmosphere down to the observatory, based on the HITRAN (high-resolution transmission molecular absorption database) molecular database and the LBLTRM (Line-By-Line Radiative Transfer Model) radiative transfer code.31 <br>32 <li>Provide separate transmittances associated with H2O, O2, O3, CO2, and Rayleigh scattering.33 <br>34 <li>Allow disentangling atmospheric features from other absorptions in your astronomical spectra.35 36 </ul>37 38 <br>39 40 <table cellpadding=4 cellspacing=6 align="center">41 42 <tr>43 <td><a target="_blank" href="http://www.cnes.fr"><img border="1" width=70 src="resources/images/logo_cnes.png"></a></td>44 <td><a target="_blank" href="http://www.latmos.ipsl.fr"><img border="1" width=100 src="resources/images/logo_latmos.png"></a></td>45 <td><a target="_blank" href="http://www.ipsl.fr"><img width=100 src="resources/images/logo_ipsl.png"></a></td>46 <td><a target="_blank" href="http://www.cnrs.fr"><img border="1" width=70 src="resources/images/logo_cnrs.jpg"></a></td>47 </tr>48 49 50 51 </table>52 53 </fieldset>54 </div>55 56 </tiles:put>57 58 </tiles:insert> -
tapas/web/project/formTapas.jsp
r529 r767 4 4 <%@ page import="com.ether.WebException" %> 5 5 <%@ page import="com.ether.YesNo" %> 6 <%@ page import="com.ether.WebHelper" %> 6 7 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 7 8 <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> … … 43 44 <div class="containerForm" id="formulaire"></div> 44 45 45 46 <%=WebHelper.getRequestParameter( request,"language","",true )%> 46 47 <script type="text/javascript"> 47 48 var tapasTexts = $A( "" ); … … 84 85 tapasTexts["label.climato"] = "<spring:message code="label.climato"/>"; 85 86 tapasTexts["label.datemesure"] = "<spring:message code="label.datemesure"/>"; 87 tapasTexts["label.berv"] = "<spring:message code="label.berv"/>"; 86 88 87 89 tapasTexts["label.format"] = "<spring:message code="label.format"/>"; … … 108 110 tapasTexts["label.title.del"] = "<spring:message code="label.title.del"/>"; 109 111 tapasTexts["label.or"] = "<spring:message code="label.or"/>"; 112 tapasTexts["language"] = "<spring:message code="language"/>"; 110 113 111 114 var interfaceTapas = new InterfaceTapas( ${jSonFileFormats}, ${jSonYesNos}, ${jSonObservatories}, ${jSonSpectralUnits}, ${jSonInstrumentalFunctions}, ${jSonClimatoReferences} ); -
tapas/web/project/formTapas_script.jsp
r529 r767 1 1 2 <script type="text/javascript"> 2 3 … … 22 23 this.select_ico2eList = new Object(); 23 24 this.select_irextinctionList = new Object(); 25 this.select_ibervCList = new Object(); 24 26 25 27 this.jSonObservatories = jsonObservatories || false; … … 35 37 this.numRequest = 1; 36 38 39 this.language = tapasTexts["language"] ; 40 this.browser="Firefox"; 41 42 if (navigator.userAgent.indexOf('Firefox') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Firefox') + 8)) >= 3.6){ 43 this.browser="Firefox"; 44 } 45 else if (navigator.userAgent.indexOf('Chrome') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Chrome') + 7).split(' ')[0]) >= 15){ 46 this.browser="Chrome"; 47 } 48 else if(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Version') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Version') + 8).split(' ')[0]) >= 5){ 49 this.browser="Safari"; 50 } 51 37 52 // Buttons 38 53 var submitButton = new Button( {value:tapasTexts["label.submitButton"], parent:this.containerCenter, id:"button_submit", className: "red_button", classNameText:"red_button_text", onClick:jQuery.proxy( this.onClickSubmit, this )} ); … … 159 174 160 175 161 createTr: function( texte, inputId, container, textesup, event, champ, ctnb ) 162 { 176 createTr: function( texte, inputId, container, textesup, event, champ, ctnb, info ) 177 { 178 163 179 var tr = $( document.createElement( "tr" ) ); 164 180 var td1 = $( document.createElement( "td" ) ); … … 184 200 container.append( tr ); 185 201 202 var re1 = new RegExp("isr_"); 203 var re2 = new RegExp("irp_"); 204 205 if (info && (inputId.match(re1) || inputId.match(re2))) { 206 var mt="-4px"; 207 var ml=""; 208 209 if (this.browser == "Firefox") { 210 if (this.language == "en") ml="-252px"; 211 else ml="-244px"; 212 } 213 else if (this.browser == "Chrome") { 214 if (this.language == "en") ml="-227px"; 215 else ml="-223px"; 216 } 217 218 var img = $( document.createElement( "img" ) ); 219 var a = $( document.createElement( "a" ) ); 220 var div = $( document.createElement( "div" ) ); 221 img.attr("src","resources/images/info.png"); 222 img.attr("width","19"); 223 a.attr("style","cursor:pointer"); 224 225 img.bind("click",[inputId,450,100,this],this.onClickInfos); 226 a.append(img); 227 div.append(a); 228 div.attr( "style","margin-left:"+ml+";margin-top:"+mt); 229 230 tr.append( div ); 231 232 /*td2.attr( {colspan:3} ); 233 tr.append( td2 ); 234 tr.append( div );*/ 235 } 236 else if (info) { 237 var img = $( document.createElement( "img" ) ); 238 var a = $( document.createElement( "a" ) ); 239 img.attr("src","resources/images/info.png"); 240 img.attr("width","19"); 241 a.attr("style","cursor:pointer"); 242 img.bind("click",[inputId,450,100,this],this.onClickInfos); 243 a.append(img); 244 td3.append(a); 245 246 } 186 247 }, 187 248 … … 197 258 tr.append( td1 ); 198 259 container.append( tr ); 260 199 261 200 262 }, … … 210 272 var td4 = $( document.createElement( "td" ) ); 211 273 var td5 = $( document.createElement( "td" ) ); 274 var td6 = $( document.createElement( "td" ) ); 212 275 var input1 = $( document.createElement( "input" ) ); 213 276 var input2 = $( document.createElement( "input" ) ); … … 220 283 td3.html( texte2 ); 221 284 td5.html( textesup ); 285 var img = $( document.createElement( "img" ) ); 286 var a = $( document.createElement( "a" ) ); 287 img.attr("src","resources/images/info.png"); 288 img.attr("width","19"); 289 a.attr("style","cursor:pointer"); 290 img.bind("click",["spectral_range",450,100,this],this.onClickInfos); 291 a.append(img); 292 td5.append(a); 293 294 //img.onclick(this.onClickInfos("spectral_range",1200,440)); 295 222 296 td1.attr( {class:"containerLabel"} ); 223 297 td3.attr( {class:"containerLabel3"} ); … … 233 307 tr.append( td4 ); 234 308 tr.append( td5 ); 309 tr.append( td6 ); 235 310 container.append( tr ); 236 311 }, … … 238 313 239 314 240 createTrList: function( texte, inputId, index, container, type )315 createTrList: function( texte, inputId, index, container, type, info ) 241 316 { 242 317 var tr = $( document.createElement( "tr" ) ); … … 244 319 var td2 = $( document.createElement( "td" ) ); 245 320 var input = $( document.createElement( "input" ) ); 321 var champ="", ml="", mt="-4px"; 322 323 var div = $( document.createElement( "div" ) ); 246 324 247 325 input.attr( {id: inputId} ); … … 251 329 tr.append( td1 ); 252 330 253 if( 'format' == type ) this.displaySelect( td2, inputId, index, this.jSonFileFormats, this.selectFileFormatsList, false, null ); 331 332 // alert(inputId); 333 if( 'format' == type ) { 334 this.displaySelect( td2, inputId, index, this.jSonFileFormats, this.selectFileFormatsList, false, null ); 335 info = true; 336 champ = "iformat_"; 337 ml="-2px"; 338 mt="-4px"; 339 } 340 254 341 else 255 342 if( 'yesno' == type ) … … 263 350 else if( (/^(ico2e_[1-9]+)$/.test( inputId ) ) ) 264 351 this.displaySelect( td2, inputId, index, this.jSonYesNos, this.select_ico2eList, false, "yesNos" ); 265 else if( (/^(irextinction_[1-9]+)$/.test( inputId ) ) ) 352 else if( (/^(irextinction_[1-9]+)$/.test( inputId ) ) ) { 353 266 354 this.displaySelect( td2, inputId, index, this.jSonYesNos, this.select_irextinctionList, false, "yesNos" ); 267 } 268 else if( 'observatories' == type ) 355 info = true; 356 champ=inputId; 357 if (this.language == "en") ml="-11px"; 358 else ml="-13px"; 359 360 } 361 else if( (/^(ibervC_[1-9]+)$/.test( inputId ) ) ) { 362 this.displaySelect( td2, inputId, index, this.jSonYesNos, this.select_ibervCList, false, "yesNos" ); 363 info = true; 364 champ=inputId; 365 if (this.language == "en") ml="-11px"; 366 else ml="-13px"; 367 } 368 } 369 else if( 'observatories' == type ) { 269 370 this.displaySelect( td2, inputId, index, this.jSonObservatories, this.selectObservatoriesList, true, "observatories" ); 270 else if( 'spectralUnit' == type ) 371 372 if (this.browser == "Firefox") { 373 if (this.language == "en") ml="-162px"; 374 else ml="-116px"; 375 } 376 else if (this.browser == "Chrome") { 377 if (this.language == "en") ml="-123px"; 378 else ml="-84px"; 379 } 380 381 champ="iobservatory_"; 382 } 383 else if( 'spectralUnit' == type ) { 271 384 this.displaySelect( td2, inputId, index, this.jSonSpectralUnits, this.selectSpectralUnitsList, true, "spectralUnits" ); 272 else if( 'ilsf' == type ) 385 info = true; 386 387 champ = "ispectral_choice_"; 388 389 if (this.browser == "Firefox") { 390 if (this.language == "en") ml="-162px"; 391 else ml="-116px"; 392 } 393 else if (this.browser == "Chrome") { 394 if (this.language == "en") ml="-123px"; 395 else ml="-84px"; 396 } 397 398 } 399 else if( 'ilsf' == type ) { 273 400 this.displaySelect( td2, inputId, index, this.jSonInstrumentalFunctions, this.selectInstrumentalFunctionsList, false, "instrumentalFunctions" ); 274 else if( 'climatoReference' == type ) 401 info = true; 402 champ = "ifunction_"; 403 if (this.language == "en") ml="-192px"; 404 else ml="-172px"; 405 406 if (this.browser == "Firefox") { 407 if (this.language == "en") ml="-192px"; 408 else ml="-172px"; 409 } 410 else if (this.browser == "Chrome") { 411 if (this.language == "en") ml="-149px"; 412 else ml="-134px"; 413 } 414 415 } 416 else if( 'climatoReference' == type ) { 275 417 this.displaySelect( td2, inputId, index, this.jSonClimatoReferences, this.selectClimatoReferencesList, false, "climatoReferences" ); 276 277 td2.attr( {colspan:3} ); 278 tr.append( td2 ); 418 info = true; 419 champ = "icr_"; 420 421 if (this.browser == "Firefox") { 422 if (this.language == "en") ml="-170px"; 423 else ml="-162px"; 424 } 425 else if (this.browser == "Chrome") { 426 if (this.language == "en") ml="-127px"; 427 else ml="-124px"; 428 } 429 430 } 431 432 433 434 if (info) { 435 var img = $( document.createElement( "img" ) ); 436 var a = $( document.createElement( "a" ) ); 437 img.attr("src","resources/images/info.png"); 438 img.attr("width","19"); 439 a.attr("style","cursor:pointer"); 440 441 img.bind("click",[champ,450,100,this],this.onClickInfos); 442 a.append(img); 443 div.append(a); 444 div.attr( "style","margin-left:"+ml+";margin-top:"+mt); 445 446 td2.attr( {colspan:3} ); 447 tr.append( td2 ); 448 tr.append( div ); 449 } 450 else { 451 td2.attr( {colspan:3} ); 452 tr.append( td2 ); 453 } 279 454 container.append( tr ); 280 455 }, … … 306 481 307 482 var res = jQuery.parseJSON( result ).result; 308 alert( res ); 483 309 484 }, 310 485 311 486 312 487 // EVENTS ******************************************************** 488 onClickInfos: function(param) 489 { 490 491 var parametre=param.data[0]; 492 var width=param.data[1]; 493 var height=param.data[2]; 494 var context=param.data[3]; 495 496 if ("spectral_range" == parametre) { 497 width=600; 498 height=150; 499 var titre = "Définition de l'intervalle spectral pour le calcul."; 500 var pageInfo = "resources/doc/infosSpectralRange_fr.txt"; 501 502 if( "fr" != context.language ) { 503 titre = "Definition of spectral interval for the computation."; 504 pageInfo = "resources/doc/infosSpectralRange_en.txt"; 505 width=600; 506 height=100; 507 } 508 509 } 510 511 if ("ispectral_choice_" == parametre) { 512 var titre = "Unité spectrale"; 513 var pageInfo = "resources/doc/infosSpectralUnit_fr.txt"; 514 width=600; 515 height=450; 516 if( "fr" != context.language ) { 517 titre = "Spectral unit"; 518 pageInfo = "resources/doc/infosSpectralUnit_en.txt"; 519 width=500; 520 height=500; 521 } 522 } 523 524 var re = new RegExp("irp_"); 525 if (parametre.match(re)) { 526 var titre = "Résolution"; 527 var pageInfo = "resources/doc/infosResolution_fr.txt"; 528 width=600; 529 height=200; 530 if( "fr" != context.language ) { 531 titre = "Resolution power"; 532 pageInfo = "resources/doc/infosResolution_en.txt"; 533 width=500; 534 height=200; 535 } 536 } 537 538 var re = new RegExp("isr_"); 539 if (parametre.match(re)) { 540 var titre = "Taux d'échantillonnage"; 541 var pageInfo = "resources/doc/infosSamplingRatio_fr.txt"; 542 width=600; 543 height=100; 544 if( "fr" != context.language ) { 545 titre = "Sampling Ratio"; 546 pageInfo = "resources/doc/infosSamplingRatio_en.txt"; 547 width=500; 548 height=100; 549 } 550 } 551 552 var re = new RegExp("ibervC_"); 553 if (parametre.match(re)) { 554 var titre = "Correction BERV"; 555 var pageInfo = "resources/doc/infosBERV_fr.txt"; 556 width=950; 557 height=700; 558 if( "fr" != context.language ) { 559 titre = "BERV correction"; 560 pageInfo = "resources/doc/infosBERV_en.txt"; 561 width=950; 562 height=700; 563 } 564 } 565 566 var re = new RegExp("ira_"); 567 if (parametre.match(re)) { 568 var titre = "LOS Ascension Droite"; 569 var pageInfo = "resources/doc/infosLOSRA_fr.txt"; 570 width=600; 571 height=100; 572 if( "fr" != context.language ) { 573 titre = "LOS Right Ascension"; 574 pageInfo = "resources/doc/infosLOSRA_en.txt"; 575 width=500; 576 height=100; 577 } 578 } 579 580 var re = new RegExp("ide_"); 581 if (parametre.match(re)) { 582 var titre = "LOS Déclinaison"; 583 var pageInfo = "resources/doc/infosLOSD_fr.txt"; 584 width=600; 585 height=100; 586 if( "fr" != context.language ) { 587 titre = "LOS Declination"; 588 pageInfo = "resources/doc/infosLOSD_en.txt"; 589 width=600; 590 height=100; 591 } 592 } 593 594 var re = new RegExp("iza_"); 595 if (parametre.match(re)) { 596 var titre = "Angle zénithal"; 597 var pageInfo = "resources/doc/infosZenithalAngle_fr.txt"; 598 width=600; 599 height=100; 600 if( "fr" != context.language ) { 601 titre = "Zenithal angle"; 602 pageInfo = "resources/doc/infosZenithalAngle_en.txt"; 603 width=600; 604 height=100; 605 } 606 } 607 608 var re = new RegExp("isr_"); 609 if (parametre.match(re)) { 610 var titre = "Taux d'échantillonnage"; 611 var pageInfo = "resources/doc/infosSamplingRatio_fr.txt"; 612 width=600; 613 height=100; 614 if( "fr" != context.language ) { 615 titre = "Sampling Ratio"; 616 pageInfo = "resources/doc/infosSamplingRatio_en.txt"; 617 width=500; 618 height=100; 619 } 620 } 621 622 var re = new RegExp("irextinction_"); 623 if (parametre.match(re)) { 624 var titre = "Sélection des composants atmsophériques"; 625 var pageInfo = "resources/doc/infosSpecies_fr.txt"; 626 width=600; 627 height=350; 628 if( "fr" != context.language ) { 629 titre = "Selection of atmospheric constituents"; 630 pageInfo = "resources/doc/infosSpecies_en.txt"; 631 width=600; 632 height=300; 633 } 634 } 635 636 if ("icr_" == parametre) { 637 var titre = "Modèle atmosphérique"; 638 var pageInfo = "resources/doc/infosAtmosphericModel_fr.txt"; 639 width=600; 640 height=500; 641 if( "fr" != context.language ) { 642 titre = "Atmospheric model"; 643 pageInfo = "resources/doc/infosAtmosphericModel_en.txt"; 644 width=500; 645 height=450; 646 } 647 } 648 649 if ("iobservatory_" == parametre) { 650 var titre = "Observatoire"; 651 var pageInfo = "resources/doc/infosObservatory_fr.txt"; 652 width=600; 653 height=200; 654 if( "fr" != context.language ) { 655 titre = "Observatory"; 656 pageInfo = "resources/doc/infosObservatory_en.txt"; 657 width=500; 658 height=200; 659 } 660 } 661 662 if ("iformat_" == parametre) { 663 var titre = "Format fichier"; 664 var pageInfo = "resources/doc/infosInstrumentalFunction_fr.txt"; 665 width=600; 666 height=200; 667 if( "fr" != context.language ) { 668 titre = "File format"; 669 pageInfo = "resources/doc/infosInstrumentalFunction_en.txt"; 670 width=500; 671 height=200; 672 } 673 } 674 675 if ("ifunction_" == parametre) { 676 var titre = "Fonction instrumentale"; 677 var pageInfo = "resources/doc/infosInstrumentalFunction_fr.txt"; 678 width=600; 679 height=250; 680 if( "fr" != context.language ) { 681 titre = "Instrumental function"; 682 pageInfo = "resources/doc/infosInstrumentalFunction_en.txt"; 683 width=500; 684 height=200; 685 } 686 } 687 688 689 var $dialog = $( '<div></div>' ) 690 .load( pageInfo ) 691 .dialog( { 692 autoOpen: false, 693 title:titre, 694 height:height, 695 width:width 696 } ); 697 698 $dialog.dialog( 'open' ); 699 700 }, 701 313 702 onClickSubmit: function() 314 703 { … … 371 760 //$( "#tab_request" + i ).html( "toto"); 372 761 $( "#tab_request" + i ).attr( {name:z} ); 373 $( "#tab_request" + i ).attr( {id:"tab_request" + z} ); 762 $( "#tab_request" + i ).attr( {id:"tab_request" + z} ); this.angleChoice 374 763 $( "#tabObservation_" + i ).attr( {id:"tabObservation_" + z} ); 375 764 // $( "#select_iobservatory_" + i ).attr( {id:"select_iobservatory_" + z} ); … … 412 801 this.select_ico2eList[i] = null; 413 802 803 this.select_ibervCList[z] = this.select_ibervCList[i]; 804 this.select_ibervCList[i] = null; 805 414 806 // Supression du calendrier puis re-création en insérant l'ancienne date 415 807 var oldDate = this.calendarConverter.parse( $( "#iobservation_date_" + i ).val() ); … … 512 904 { 513 905 906 907 514 908 var divAll = $( document.createElement( "div" ) ); 515 909 divAll.attr( {id:"all_" + this.nbRequest, class:"divAll"} ); … … 573 967 this.createTrList( tapasTexts["label.eo2"], "io2e_" + this.nbRequest, this.nbRequest, tabPreference, 'yesno' ); 574 968 this.createTrList( tapasTexts["label.eco2"], "ico2e_" + this.nbRequest, this.nbRequest, tabPreference, 'yesno' ); 575 576 this.createTrList( tapasTexts["label.observatory"], "iobservatory_" + this.nbRequest, this.nbRequest, tabObservation, 'observatories' ); 969 this.createTrList( tapasTexts["label.berv"], "ibervC_" + this.nbRequest, this.nbRequest, tabPreference, 'yesno' ); 970 971 this.createTrList( tapasTexts["label.observatory"], "iobservatory_" + this.nbRequest, this.nbRequest, tabObservation, 'observatories',true ); 577 972 this.createCalendar( tabObservation, tapasTexts["label.datemesure"], "iobservation_date_" + this.nbRequest, false, true ); 578 973 … … 588 983 589 984 590 this.createTr( tapasTexts["label.resolution"], "irp_" + this.nbRequest, tabObservation, "", "", "","" );591 this.createTr( tapasTexts["label.ratio"], "isr_" + this.nbRequest, tabObservation, "", "","","" );592 593 594 this.createTr( tapasTexts["label.ira"], "ira_" + this.nbRequest,tabObservation,"hh:mm:ss (J2000)","keypress","ra","2" );985 this.createTr( tapasTexts["label.resolution"], "irp_" + this.nbRequest, tabObservation, "", "", "","",true ); 986 this.createTr( tapasTexts["label.ratio"], "isr_" + this.nbRequest, tabObservation, "", "","","",true ); 987 988 989 this.createTr( tapasTexts["label.ira"], "ira_" + this.nbRequest,tabObservation,"hh:mm:ss (J2000)","keypress","ra","2",true ); 595 990 //this.createTime( tabObservation, tapasTexts["label.ira"], "ira_" + this.nbRequest, false, true,"hh:mm:ss (J2000)" ); 596 this.createTr( tapasTexts["label.ide"], "ide_" + this.nbRequest, tabObservation, "deg:':''","keypress","de","2" );991 this.createTr( tapasTexts["label.ide"], "ide_" + this.nbRequest, tabObservation, "deg:':''","keypress","de","2",true ); 597 992 this.createTrTxt( tapasTexts["label.or"], tabObservation ); 598 this.createTr( tapasTexts["label.iza"], "iza_" + this.nbRequest, tabObservation, "[0,90] °","keypress","za","2" );993 this.createTr( tapasTexts["label.iza"], "iza_" + this.nbRequest, tabObservation, "[0,90] °","keypress","za","2",true ); 599 994 600 995 … … 640 1035 preference.co2Extinction.firstValue = this.select_ico2eList[i].getValuesInString(); 641 1036 preference.co2Extinction.secondValue = this.select_ico2eList[i].getValue(); 1037 1038 preference.bervCorrection = new Object(); 1039 preference.bervCorrection.firstValue = this.select_ibervCList[i].getValuesInString(); 1040 preference.bervCorrection.secondValue = this.select_ibervCList[i].getValue(); 642 1041 643 1042 … … 877 1276 //this.createTime( tabObservation, tapasTexts["label.ira"], "ira_" + this.nbRequest, false, true,"hh:mm:ss (J2000)" ); 878 1277 this.createTr( tapasTexts["label.ide"], "ide_" + this.nbRequest, tabObservation, "deg:':''","keypress","de","2" ); 1278 879 1279 this.createTrTxt( "or", tabObservation ); 880 1280 this.createTr( tapasTexts["label.iza"], "iza_" + this.nbRequest, tabObservation, "[0,90] °","keypress","za","2" ); … … 905 1305 this.select_io2eList[indice].select(this.select_io2eList[indice-1].getValue(),false); 906 1306 this.select_ico2eList[indice].select(this.select_ico2eList[indice-1].getValue(),false); 1307 this.select_ibervCList[indice].select(this.select_ibervCList[indice-1].getValue(),false); 907 1308 908 1309 $( "#iminspectral_ranger_" + indice ).val($( "#iminspectral_ranger_" + indice0 ).val() ); -
tapas/web/resources/js/classesForJQuery/LoginButton.js
r490 r767 228 228 { 229 229 this.errors = jQuery.parseJSON( result ).errors; 230 this.setJSONUser( null != jQuery.parseJSO N( result ).jSONUser ? jQuery.parseJSON( result ).jSONUser : false );230 this.setJSONUser( null != jQuery.parseJSOetherN( result ).jSONUser ? jQuery.parseJSON( result ).jSONUser : false ); 231 231 if( null == this.errors ) 232 232 this.updateLoginOrLogout(); -
tapas/web/resources/js/classesForJQuery/Select.js
r502 r767 39 39 this.isHover = false; 40 40 this.arrayOptions = $(); 41 this.values = $();42 41 this.className = objectParameter.className ? "select_container " + objectParameter.className : "select_container"; 43 42 this.classNameOption = objectParameter.classNameOption ? "select_choicelist " + objectParameter.classNameOption : "select_choicelist"; 43 // this.callbackSelect = objectParameter.callbackSelect ? objectParameter.callbackSelect : false; 44 45 // Variables 46 this.itemValues = $(); 44 47 45 48 // Select div 46 49 this.divSelect = $( document.createElement( "div" ) ); 47 this.divSelect.attr( {id:this.id, class:this.className 50 this.divSelect.attr( {id:this.id, class:this.className} ); 48 51 49 52 this.divSelectLeft = $( document.createElement( "div" ) ) … … 65 68 this.divOption.addClass( this.classNameOption ); 66 69 this.parent.append( this.divOption ); 70 71 //rajout pour onclick 72 // if(this.callbackSelect) 73 // this.divSelect.bind( 'click', this, this.onClickSelect ); 67 74 68 75 this.divSelect.bind( "mouseup", this, this.toggleOption ); … … 71 78 this.divOption.bind( 'mouseover', this, this.onMouseHover ); 72 79 this.divOption.bind( 'mouseout', this, this.onMouseOut ); 80 this.parent.bind( 'mouseleave', this, this.onMouseParentOut ); 73 81 74 82 if( this.isDisplayed ) … … 89 97 }, 90 98 99 getValue2: function() 100 { 101 return this.itemValue2; 102 }, 103 91 104 getValues: function() 92 105 { 93 return this. values;106 return this.itemValues; 94 107 }, 95 108 96 109 getValuesInString: function( separator ) 97 110 { 98 var valulues = $.makeArray( this. values );111 var valulues = $.makeArray( this.itemValues ); 99 112 if( separator ) 100 113 return valulues.join( separator ); … … 148 161 this.divSelect.addClass( "disable" ); 149 162 this.hideOption(); 163 /* Nath*/ 164 this.divSelectMiddle.removeClass( "select_selectMiddle" ); 165 this.divSelectMiddle.addClass( "select_selectMiddle_disable" ); 150 166 }, 151 167 … … 155 171 this.isDisable = false; 156 172 this.divSelect.removeClass( "disable" ); 173 /* Nath*/ 174 this.divSelectMiddle.removeClass( "select_selectMiddle_disable" ); 175 this.divSelectMiddle.addClass( "select_selectMiddle" ); 157 176 }, 158 177 … … 176 195 177 196 // public 178 add: function( itemValue, itemName, callback )197 add: function( itemValue, itemName, callback, itemValue2 ) 179 198 { 180 199 var divOptionMiddle = $( document.createElement( "div" ) ); … … 183 202 divOptionMiddle.itemName = itemName; 184 203 divOptionMiddle.itemValue = itemValue; 204 if( itemValue2 ) 205 divOptionMiddle.itemValue2 = itemValue2; 185 206 divOptionMiddle.callback = callback; 186 207 this.divOption.append( divOptionMiddle ); … … 189 210 190 211 this.arrayOptions.push( divOptionMiddle ); 191 this. values.push( itemValue );212 this.itemValues.push( itemValue ); 192 213 }, 193 214 … … 202 223 var index = jQuery.inArray( divOption, this.arrayOptions ); 203 224 this.arrayOptions.splice( index, 1 ); 204 this. values.splice( index, 1 );225 this.itemValues.splice( index, 1 ); 205 226 return false; 206 227 } … … 213 234 this.divOption.empty(); 214 235 this.arrayOptions = $(); 215 this. values = $();236 this.itemValues = $(); 216 237 }, 217 238 … … 265 286 this.itemName = divOption.itemName; 266 287 this.itemValue = divOption.itemValue; 288 this.itemValue2 = divOption.itemValue2; 267 289 this.divSelectMiddle.html( this.itemName ); 268 290 }, … … 276 298 contextEvent.hideOption(); 277 299 contextEvent.select( divOption.itemValue, true ); 278 if( undefined != divOption.callback )279 divOption.callback( divOption.itemValue );280 300 }, 281 301 … … 287 307 288 308 // private 309 onMouseParentOut: function( event ) 310 { 311 event.data.isHover = false; 312 event.data.hideOption(); 313 }, 314 289 315 onMouseOut: function( event ) 290 316 { … … 307 333 } 308 334 } 335 336 // onClickSelect: function() 337 // { 338 // this.callbackSelect(); 339 // } 309 340 } ); -
tapas/web/resources/jsp/dataProtocol_en.jsp
r423 r767 1 1 <div class="title1">TAPAS Data Policy and Data Protocol</div> 2 2 <BR/> 3 qsdkmqldksfsdjfkl 3 By using TAPAS, the user takes full responsibility of whatever may happen as a result of its use. The organizations establishing and maintaining the TAPAS web site and services should not be hold responsible for any inconvenient that may result in the use of TAPAS. 4 Most of the discrepancies between actual observations and the predictions of the simulated transmission noted during the validation period can be assigned to 4 main causes : 5 - highly saturated regions of absorption, where the transmission is actually 0 or very small.<br> 6 - an instrument PSF which differs from the user-defined Gaussian, either because of an incorrect choice of PFS width, or because the true PSF is not Gaussian. The actual PSF of an instrument may evolve along the spectrum.<br> 7 - an incorrect wavelength calibration of the instrument.<br> 8 - a difference of H2O content between the meteorological estimate and the reality.<br> 9 10 4 11 <BR/> 5 12 <a href="project?methodName=downloadFileDataProtocolEn"> -
tapas/web/resources/jsp/dataProtocol_fr.jsp
r423 r767 1 1 <div class="title1">TAPAS Protocole de données</div> 2 2 <BR/> 3 qsdkmqldksfsdjfkl 3 En utilisant TAPAS, l'utilisateur assume l'entiÚre responsabilité de tout ce qui peut se produire en raison de son utilisation. Les organisations qui maintiennent le site Web TAPAS et les services associés ne pourront pas être tenus responsable pour tout inconvénient qui pourrait résulter de l'utilisation de TAPAS. 4 La plupart des écarts entre les observations réelles et les prévisions de la transmission simulée notée au cours de la période de validation provient de 4 causes principales :<br> 5 - Les régions fortement saturéesen absorption, où la transmission est en fait 0 ou trÚs faible <br> 6 - Un instrument qui diffÚre de la fonction gaussienne définie par l'utilisateur, soit en raison d'un mauvais choix de largeur PFS, soit parce que le vrai PSF n'est pas gaussien. Le PSF réelle d'un instrument est susceptible d'évoluer le long du spectre. <br> 7 - Un étalonnage de longueur d'ondes incorrect de l'instrument. <br> 8 - Une différence de teneur en H2O entre l'estimation météorologique et la réalité. 4 9 <BR/> 5 10 <a href="project?methodName=downloadFileDataProtocolFr"> -
tapas/web/resources/templates/templateBackoffice.jsp
r444 r767 85 85 <%-- ****************** BOTTOM ****************** --%> 86 86 <div id="containerBottom" class="containerTapas containerBottom" align="right"> 87 © 201 2<a href="http://ether.ipsl.jussieu.fr" target="help">ETHER </a>/ CNRS87 © 2013 <a href="http://ether.ipsl.jussieu.fr" target="help">ETHER </a>/ CNRS 88 88 </div> 89 89 -
tapas/web/resources/templates/templateBackoffice_script.jsp
r433 r767 29 29 this.createLogin(); 30 30 31 var interfaceButton = new Button( {value:templateTexts["bo.site"], parent:this.containerTools, id:"button_interface", className: "gray_button", classNameText:"blue_button_text", onClick:this.onClick Megapoli} );31 var interfaceButton = new Button( {value:templateTexts["bo.site"], parent:this.containerTools, id:"button_interface", className: "gray_button", classNameText:"blue_button_text", onClick:this.onClickTapas} ); 32 32 var homeButton = new Button( {value:templateTexts["app.home"], parent:this.containerTools, id:"button_home", className: "gray_button", classNameText:"blue_button_text", onClick:this.onClickHome} ); 33 33 }, … … 51 51 }, 52 52 53 onClick Megapoli: function()53 onClickTapas: function() 54 54 { 55 55 document.location.href = "index.jsp"; -
tapas/web/resources/templates/templateEther.jsp
r529 r767 39 39 <tiles:insert attribute="insertCss"/> 40 40 <tiles:insert attribute="insertJsOrJsp"/> 41 42 41 43 </HEAD> 42 44 … … 74 76 <li><a href="http://ether.ipsl.jussieu.fr" class="parent" target="_blank"><img width=50 height="50" src="resources/images/logo_ether.jpg"></a></li> 75 77 76 <li><a href=" project?methodName=home" class="parent"><span><spring:message code="title.home"/></span></a>78 <li><a href="#" onClick="openHome();" class="parent"><span><spring:message code="title.home"/></span></a> 77 79 78 80 </li> … … 81 83 82 84 </li> 83 <li><a href="#" ><span><spring:message code="title.legals"/></span></a></li>85 <li><a href="#" onclick="openLegals();"><span><spring:message code="title.legals"/></span></a></li> 84 86 85 87 </ul> … … 98 100 <%-- ****************** BOTTOM ****************** --%> 99 101 <div id="containerBottom" class="containerTapas containerBottom" align="right"> 100 © 201 2<a href="http://ether.ipsl.jussieu.fr" target="help">ETHER </a>/ CNRS102 © 2013 <a href="http://ether.ipsl.jussieu.fr" target="help">ETHER </a>/ CNRS 101 103 </div> 102 104 </div> … … 129 131 130 132 var interfaceTemplate = new InterfaceTemplate(); 133 134 function openLegals() { 135 location.href="project?methodName=mentionsl_"+interfaceTemplate.language; 136 } 137 138 function openHome() { 139 location.href="project?methodName=home_"+interfaceTemplate.language; 140 } 141 131 142 </script> 132 143 -
tapas/web/resources/templates/templateEther_old.jsp
r481 r767 123 123 <%-- ****************** BOTTOM ****************** --%> 124 124 <div id="containerBottom" class="containerTapas containerBottom" align="right"> 125 © 201 2<a href="http://ether.ipsl.jussieu.fr" target="help">ETHER </a>/ CNRS125 © 2013 <a href="http://ether.ipsl.jussieu.fr" target="help">ETHER </a>/ CNRS 126 126 </div> 127 127 </div> -
tapas/web/resources/templates/templateEther_script.jsp
r508 r767 14 14 /** *********** VARIABLES *********** **/ 15 15 this.language = '<spring:message code="language"/>'; 16 this.languagetoswitch='<spring:message code="label.language.value.to.switch"/>'; 16 17 this.webmaster = "<%=WebHelper.getProperty(request, "mail.webmaster")%>"; 17 18 this.jSONUser = <%=WebHelper.getJSONUser( request )%> ? <%=WebHelper.getJSONUser( request )%> : false; … … 49 50 $.ajax( { 50 51 url: "project?methodName=setLocale&language=<spring:message code="label.language.value.to.switch"/>", 51 success:function() 52 53 success:jQuery.proxy(function() 52 54 { 53 location.reload(); 54 } 55 location.href = "project?methodName=home_"+this.languagetoswitch; 56 57 //location.reload(); 58 },this) 59 60 /*success:function() 61 { 62 location.href = "project?methodName=home_"+this.language; 63 //location.reload(); 64 }*/ 65 55 66 } ); 56 67 }, … … 59 70 60 71 // EVENTS ******************************************************** 72 ttt: function() 73 { 74 alert("ok"); 75 //document.location.href = "project?methodName=mentionsl_fr"; 76 }, 77 61 78 onClickBO: function() 62 79 { … … 65 82 66 83 onClickHome: function() 84 { 85 document.location.href = "index.jsp"; 86 }, 87 88 89 onClickLegals: function() 67 90 { 68 91 document.location.href = "index.jsp"; … … 100 123 //alert("toto"); 101 124 //$("#liamenu").addClass("hover"); 125 }, 126 127 getLanguage: function() { 128 return this.language; 129 102 130 } 103 131 -
tapas/web/src/com/ether/ControllerEponge.java
r423 r767 38 38 * @throws WebException 39 39 */ 40 @ControllerMethod(view = VIEW_INIT) 40 41 /*@ControllerMethod(view = VIEW_INIT_EN) 41 42 public Map<String, Object> home() 42 throws WebException 43 { 43 throws WebException 44 { 45 46 return new HashMap<String, Object>(); 47 } */ 48 49 @ControllerMethod(view = VIEW_INIT_EN) 50 public Map<String, Object> home_en() 51 throws WebException 52 { 53 54 return new HashMap<String, Object>(); 55 } 56 57 @ControllerMethod(view = VIEW_INIT_FR) 58 public Map<String, Object> home_fr() 59 throws WebException 60 { 61 62 return new HashMap<String, Object>(); 63 } 64 65 @ControllerMethod(view = VIEW_MENTIONSL_EN) 66 public Map<String, Object> mentionsl_en() 67 throws WebException 68 { 69 70 return new HashMap<String, Object>(); 71 } 72 73 @ControllerMethod(view = VIEW_MENTIONSL_FR) 74 public Map<String, Object> mentionsl_fr() 75 throws WebException 76 { 77 44 78 return new HashMap<String, Object>(); 45 79 } … … 153 187 * @throws WebException 154 188 */ 189 155 190 private void sendEmailToAdministratorAndUser( @NotNull final User user ) 156 191 throws WebException … … 211 246 212 247 private static final String VIEW_INIT = "init"; 248 private static final String VIEW_INIT_FR = "init_fr"; 249 private static final String VIEW_INIT_EN = "init_en"; 250 private static final String VIEW_MENTIONSL_FR = "mentionsl_fr"; 251 private static final String VIEW_MENTIONSL_EN = "mentionsl_en"; 213 252 private static final String VIEW_DATA_PROTOCOL_EN = "project/home_dataProtocol_en"; 214 253 // TODO : mettre les bons fichiers de Dataprotocol 215 private static final String DOWNLOAD_DATA_PROTOCOL_EN = " bib.txt";216 private static final String DOWNLOAD_DATA_PROTOCOL_FR = " bib.txt";254 private static final String DOWNLOAD_DATA_PROTOCOL_EN = "data_protocol_e.txt"; 255 private static final String DOWNLOAD_DATA_PROTOCOL_FR = "data_protocol_f.txt"; 217 256 } -
tapas/web/src/com/ether/WebHelper.java
r449 r767 33 33 { 34 34 String parameterValue; 35 35 36 if( null == parameterName ) 36 37 parameterValue = defaultParameterValue; -
tapas/web/src/json/json-context.xml
r466 r767 27 27 <entry key="o2Extinction" value="com.ether.Pair"/> 28 28 <entry key="co2Extinction" value="com.ether.Pair"/> 29 <entry key="bervCorrection" value="com.ether.Pair"/> 29 30 </map> 30 31 </entry> -
tapas/web/src/messages_en.properties
r529 r767 10 10 label.spectralUnit=Spectral unit 11 11 label.spectralRange=Spectral range 12 label.spectralorange=Intervalle spectral 12 13 label.to=to 13 14 label.or=or … … 19 20 label.climato=Atmospheric Model 20 21 label.datemesure=Date measurement 22 label.berv=BERV Correction 21 23 22 24 label.format=File format -
tapas/web/src/messages_fr.properties
r529 r767 10 10 label.spectralUnit=Unité spectrale 11 11 label.spectralRange=Intervalle spectral 12 label.spectralorange=Intervalle spectral 12 13 label.to= à 13 14 label.or=ou … … 17 18 label.climato=ModÚle atmosphérique 18 19 label.datemesure=Date de mesure 20 label.berv=Correction BERV 21 19 22 20 23 label.format=Format fichier
Note: See TracChangeset
for help on using the changeset viewer.