Commit adaa88cca76288a5e9e3d796a92a4705944c49fe

Authored by Benjamin Renard
2 parents 13b02085 ea219e9c

Merge branch 'SEL_11587' into amdadev

generic_data/Functions/functions.xml
@@ -102,28 +102,28 @@ @@ -102,28 +102,28 @@
102 <prompts> 102 <prompts>
103 <prompt>input window time in secs</prompt> 103 <prompt>input window time in secs</prompt>
104 </prompts> 104 </prompts>
105 - <info_brief>covariance() function for two params</info_brief> 105 + <info_brief>covariance() function for two params. The second parameter is resampled to the times of the first one.</info_brief>
106 <new_kernel>#covariance</new_kernel> 106 <new_kernel>#covariance</new_kernel>
107 </function> 107 </function>
108 <function name="pearson_(,,)" args="2" kind="sliding" group="stat"> 108 <function name="pearson_(,,)" args="2" kind="sliding" group="stat">
109 <prompts> 109 <prompts>
110 <prompt>input window time in secs</prompt> 110 <prompt>input window time in secs</prompt>
111 </prompts> 111 </prompts>
112 - <info_brief>Pearson coefficient of two parameters</info_brief> 112 + <info_brief>Pearson coefficient of two parameters. The second parameter is resampled to the times of the first one.</info_brief>
113 <new_kernel>#pearson</new_kernel> 113 <new_kernel>#pearson</new_kernel>
114 </function> 114 </function>
115 <function name="kendall_(,,)" args="2" kind="sliding" group="stat"> 115 <function name="kendall_(,,)" args="2" kind="sliding" group="stat">
116 <prompts> 116 <prompts>
117 <prompt>input window time in secs</prompt> 117 <prompt>input window time in secs</prompt>
118 </prompts> 118 </prompts>
119 - <info_brief>Kendall coefficient of two parameters</info_brief> 119 + <info_brief>Kendall coefficient of two parameters. The second parameter is resampled to the times of the first one.</info_brief>
120 <new_kernel>#kendall</new_kernel> 120 <new_kernel>#kendall</new_kernel>
121 </function> 121 </function>
122 <function name="spearman_(,,)" args="2" kind="sliding" group="stat"> 122 <function name="spearman_(,,)" args="2" kind="sliding" group="stat">
123 <prompts> 123 <prompts>
124 <prompt>input window time in secs</prompt> 124 <prompt>input window time in secs</prompt>
125 </prompts> 125 </prompts>
126 - <info_brief>Spearman coefficient of two parameters</info_brief> 126 + <info_brief>Spearman coefficient of two parameters. The second parameter is resampled to the times of the first one.</info_brief>
127 <new_kernel>#spearman</new_kernel> 127 <new_kernel>#spearman</new_kernel>
128 </function> 128 </function>
129 <!-- <function name="shiftN_(,)" args="1" kind="amda"> 129 <!-- <function name="shiftN_(,)" args="1" kind="amda">
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Welcome on Amda</title> 5 <title>Welcome on Amda</title>
6 -<link href="js/resources/css/AccueilAmda.css" rel="stylesheet" type="text/css"> 6 +<link href="js/resources/css/AccueilAmda.css?v=4" rel="stylesheet" type="text/css">
7 <!-- Login --> 7 <!-- Login -->
8 <link rel="stylesheet" type="text/css" href="js/resources/css/login.css" /> 8 <link rel="stylesheet" type="text/css" href="js/resources/css/login.css" />
9 <link rel="icon" href="favicon.ico" type="image/x-icon"> 9 <link rel="icon" href="favicon.ico" type="image/x-icon">
js/app/views/IntervalUI.js
@@ -240,6 +240,21 @@ Ext.define(&#39;amdaUI.IntervalUI&#39;, { @@ -240,6 +240,21 @@ Ext.define(&#39;amdaUI.IntervalUI&#39;, {
240 labelAlign: 'left', 240 labelAlign: 'left',
241 labelWidth: 60, 241 labelWidth: 60,
242 listeners: { 242 listeners: {
  243 + afterrender: function (field) {
  244 + field.inputEl.on('paste', function (e) {
  245 +
  246 + var clipboardData = e.browserEvent.clipboardData || window.clipboardData;
  247 + var pastedData = clipboardData.getData('text');
  248 + var regex = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3})$/;
  249 + var match = pastedData.match(regex);
  250 +
  251 + if (match) {
  252 + e.preventDefault();
  253 + var formattedDate = `${match[1]}/${match[2]}/${match[3]} ${match[4]}:${match[5]}:${match[6]}.${match[7]}`;
  254 + field.setValue(formattedDate);
  255 + }
  256 + });
  257 + },
243 change: onChangeField, 258 change: onChangeField,
244 focus: function(field) { 259 focus: function(field) {
245 this.activeField = fieldId; 260 this.activeField = fieldId;
js/app/views/TimeTableUI.js
@@ -519,6 +519,24 @@ Ext.define(&#39;amdaUI.TimeTableUI&#39;, { @@ -519,6 +519,24 @@ Ext.define(&#39;amdaUI.TimeTableUI&#39;, {
519 ] 519 ]
520 }; 520 };
521 var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', { 521 var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
  522 + listeners: {
  523 + beforeedit: function (editor, context) {
  524 + context.column.getEditor().on('render', function (field) {
  525 + field.inputEl.on('paste', function (e) {
  526 + var clipboardData = e.browserEvent.clipboardData || window.clipboardData;
  527 + var pastedData = clipboardData.getData('text');
  528 + var regex = /^(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2}):(\d{2})\.(\d{3})$/;
  529 + var match = pastedData.match(regex);
  530 +
  531 + if (match) {
  532 + e.preventDefault();
  533 + var formattedDate = `${match[1]}-${match[2]}-${match[3]}T${match[4]}:${match[5]}:${match[6]}.${match[7]}`;
  534 + field.setValue(formattedDate);
  535 + }
  536 + });
  537 + });
  538 + }
  539 + },
522 onEditComplete: function (ed, value, startValue) { 540 onEditComplete: function (ed, value, startValue) {
523 var me = this, 541 var me = this,
524 activeColumn = me.getActiveColumn(), 542 activeColumn = me.getActiveColumn(),
js/resources/css/AccueilAmda.css
@@ -5,6 +5,27 @@ body{ @@ -5,6 +5,27 @@ body{
5 text-align: left; 5 text-align: left;
6 background-color: #FFF; 6 background-color: #FFF;
7 } 7 }
  8 +
  9 +/*
  10 + content: "We're currently having problems accessing one of our storage bays. \A Most of MMS data and Solar Orbiter/EAS data are not currently available. \ASorry for the inconvenience";
  11 + content: "A maintenance will take place on Thursday 21 November from 12:00 CET to 14:00 CET on our network infrastructure. \A Access to AMDA will be interrupted during this period. \ASorry for the inconveniences.";
  12 + */
  13 +
  14 +
  15 +/* body:before {
  16 + content: "A maintenance will take place on Thursday 21 November from 12:00 CET to 14:00 CET on our network infrastructure. \A Access to AMDA will be interrupted during this period. \ASorry for the inconveniences.";
  17 + background: rgba(255, 0, 0, 0.349);
  18 + color: white;
  19 + width: 100%;
  20 + display: block;
  21 + text-align: center;
  22 + position: absolute;
  23 + z-index: 10;
  24 + font-size: 10px;
  25 + font-weight: bold;
  26 + white-space: pre-wrap;
  27 +} */
  28 +
8 /*•••••••••••••• couvercle et trou ••••••••••••*/ 29 /*•••••••••••••• couvercle et trou ••••••••••••*/
9 30
10 #trou{ 31 #trou{
php/WebServices/WebServer.php
@@ -223,27 +223,7 @@ class WebServer @@ -223,27 +223,7 @@ class WebServer
223 { 223 {
224 $param = new stdClass; 224 $param = new stdClass;
225 225
226 - if (preg_match("#^ws_#",$paramId))  
227 - {  
228 - $res = $this->paramLoader->getDerivedParameterNameFromId($paramId);  
229 -  
230 - if (!$res["success"]) {  
231 - $this->throwError("serverError", "Not available derived parameter $paramId");  
232 - }  
233 - $param->paramid = "ws_".$res['name'];  
234 - }  
235 - else if (preg_match("#^wsd_#",$paramId))  
236 - {  
237 - $res = $this->paramLoader->getUploadedParameterNameFromId($paramId);  
238 -  
239 - if (!$res["success"]){  
240 - $this->throwError("serverError", "Not available parameter $paramId");  
241 - }  
242 - $param->paramid = "wsd_".$res['name'];  
243 - }  
244 - else {  
245 - $param->paramid = $paramId;  
246 - } 226 + $param->paramid = $paramId;
247 $params[] = $param; 227 $params[] = $param;
248 } 228 }
249 229
@@ -460,6 +440,7 @@ class WebServer @@ -460,6 +440,7 @@ class WebServer
460 $dim_1 = empty($dim_1) ? 1 : intval($dim_1); 440 $dim_1 = empty($dim_1) ? 1 : intval($dim_1);
461 $dim_2 = $paramNode->getAttribute('dim_2'); 441 $dim_2 = $paramNode->getAttribute('dim_2');
462 $dim_2 = empty($dim_2) ? 1 : intval($dim_2); 442 $dim_2 = empty($dim_2) ? 1 : intval($dim_2);
  443 + $ws_id = "ws_".$paramNode->getAttribute('name');
463 $paramNode->setAttribute('size', $dim_1 * $dim_2); 444 $paramNode->setAttribute('size', $dim_1 * $dim_2);
464 445
465 $display_type = 'timeseries'; 446 $display_type = 'timeseries';
@@ -470,16 +451,21 @@ class WebServer @@ -470,16 +451,21 @@ class WebServer
470 $display_type = 'spectrogram'; 451 $display_type = 'spectrogram';
471 } 452 }
472 $paramNode->setAttribute('display_type', $display_type); 453 $paramNode->setAttribute('display_type', $display_type);
  454 + $paramNode->setAttribute('internal_id', $paramNode->getAttribute('xml:id'));
  455 + $paramNode->setAttribute('xml:id', $ws_id);
473 } 456 }
474 // => In parameters from an uploaded file 457 // => In parameters from an uploaded file
475 $paramNodes = $dom->getElementsByTagName("mydata"); 458 $paramNodes = $dom->getElementsByTagName("mydata");
476 foreach ($paramNodes as $paramNode) { 459 foreach ($paramNodes as $paramNode) {
477 // size already exists 460 // size already exists
  461 + $wsd_id = "wsd_".$paramNode->getAttribute('name');
478 $display_type = 'timeseries'; 462 $display_type = 'timeseries';
479 if ($paramNode->getAttribute('plottype') == 'Spectra') { 463 if ($paramNode->getAttribute('plottype') == 'Spectra') {
480 $display_type = 'spectrogram'; 464 $display_type = 'spectrogram';
481 } 465 }
482 $paramNode->setAttribute('display_type', $display_type); 466 $paramNode->setAttribute('display_type', $display_type);
  467 + $paramNode->setAttribute('internal_id', $paramNode->getAttribute('xml:id'));
  468 + $paramNode->setAttribute('xml:id', $wsd_id);
483 } 469 }
484 $dom->save(WSConfigClass::getWsResultDir().$wsParamDst); 470 $dom->save(WSConfigClass::getWsResultDir().$wsParamDst);
485 471