Commit 98c92bbf5c6df937a9fb5cdd0b51c5fb11c94a8f

Authored by Erdogan Furkan
1 parent b0f72ee0

#10557 - Done (Maybe some minor fixes to do)

generic_data/SpecialParameters/SpecialParams.xml
1 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 <special name="Special" desc="Special_parameter" xml:id="specialParam-treeRootNode"> 2 <special name="Special" desc="Special_parameter" xml:id="specialParam-treeRootNode">
3 - <group xml:id="TimeStampAll" name="TimeStamp" desc="Time fonctions" >  
4 - <parameter name='Bonjour' xml:id="timestamp"/> 3 + <group xml:id="ConstantsAll" name = "Constants" desc = "Usable constants for scalar, vector of matrix cases.">
  4 + <parameter name ="Scalar" xml:id="constant_scal"/>
  5 + <parameter name ="Vector" xml:id="constant_vec"/>
  6 + <parameter name ="Matrix" xml:id="constant_mat"/>
  7 + </group>
  8 + <group xml:id="TimeStampAll" name="TimeStamp" desc="Time parameters : Timestamp gives you the elapsed time in seconds since 01/01/1970 and Timestamp from gives the same since a time decided by the user." >
  9 + <parameter name='Timestamp' xml:id="timestamp"/>
  10 + <parameter name='Timestamp From' xml:id="timestampfrom"/>
5 </group> 11 </group>
6 </special> 12 </special>
js/app/models/SpecialParamNode.js
@@ -29,25 +29,85 @@ Ext.define(&#39;amdaModel.SpecialParamNode&#39;, { @@ -29,25 +29,85 @@ Ext.define(&#39;amdaModel.SpecialParamNode&#39;, {
29 29
30 constructor : function(config){ 30 constructor : function(config){
31 this.callParent(arguments); 31 this.callParent(arguments);
  32 +
  33 + this.set('moduleId',myDesktopApp.dynamicModules.param.id);
  34 + this.set('objectDataModel',amdaModel.Parameter.$className);
32 }, 35 },
33 36
34 localMenuItems : function() { 37 localMenuItems : function() {
35 var menuItems = 38 var menuItems =
36 - []; 39 + [{
  40 + fnId: 'leaf-plotParam',
  41 + text: 'Plot Parameter',
  42 + hidden: true
  43 + }, {
  44 + fnId: 'leaf-downParam',
  45 + text: 'Download Parameter',
  46 + hidden: true
  47 + }, {
  48 + fnId: 'para-plotParam',
  49 + text: 'Plot Parameter',
  50 + hidden: true
  51 + }, {
  52 + fnId: 'para-downParam',
  53 + text: 'Download Parameter',
  54 + hidden: true
  55 + },{
  56 + fnId : 'leaf-createDerivedParam',
  57 + text : 'Create Derived Parameter',
  58 + hidden : true
  59 + },];
37 return menuItems; 60 return menuItems;
38 }, 61 },
39 62
40 getAllContextMenuItems: function(){ 63 getAllContextMenuItems: function(){
41 -  
42 - // var menuItems = this.allMenuItems('File');  
43 var locMenuItems = this.localMenuItems(); 64 var locMenuItems = this.localMenuItems();
44 -  
45 - // return Ext.Array.merge(menuItems,locMenuItems);  
46 - return locMenuItems; 65 + return locMenuItems;
47 }, 66 },
48 67
49 onMenuItemClick : function(menu,item,event) { 68 onMenuItemClick : function(menu,item,event) {
50 - 69 + var fnId = Ext.util.Format.substr(item.fnId, 5, item.fnId.length);
  70 + if(item){
  71 + switch (item.fnId)
  72 + {
  73 + case 'root-collapseAll':
  74 + case 'dire-collapseAll':
  75 + case 'miss-collapseAll':
  76 + if(this && !this.isLeaf()) {
  77 + this.collapse(true);
  78 + }
  79 + break;
  80 + case 'leaf-createDerivedParam':
  81 + this.createLeaf(this);
  82 + break;
  83 + case 'leaf-plotParam':
  84 + case 'para-plotParam':
  85 + this.createPlot(this);
  86 + break;
  87 + case 'leaf-downParam':
  88 + case 'para-downParam':
  89 + this.createDownload(this);
  90 + break;
  91 + default:
  92 + break;
  93 + } // switch end
  94 + }
  95 +
51 }, 96 },
52 97
  98 + createLeaf: function(node)
  99 + {
  100 + myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.param.id, true, function(module) {
  101 + if (!myDesktopApp.desktop.getWindow(myDesktopApp.dynamicModules.param.id)) {
  102 + var param = Ext.create(node.get('objectDataModel'));
  103 + var newNode = Ext.create(amdaModel.DerivedParamNode.$className, {leaf : true, object : param});
  104 + // edit newNode into Parameter Module with node as contextNode
  105 + newNode.editInModule();
  106 + }
  107 + var paramName = node.get('id');
  108 + var components = null;
  109 + module.addParam(paramName,node.get('leaf'),node.get('needsArgs'),components);
  110 + });
  111 + },
  112 +
53 }); 113 });
js/app/stores/ExplorerReader.js
@@ -18,7 +18,6 @@ Ext.define(&#39;amdaReader.ExplorerReader&#39;, { @@ -18,7 +18,6 @@ Ext.define(&#39;amdaReader.ExplorerReader&#39;, {
18 */ 18 */
19 19
20 getType: function(node){ 20 getType: function(node){
21 - console.log(node);  
22 switch (node.nodeType) { 21 switch (node.nodeType) {
23 22
24 case 'derivedParam': 23 case 'derivedParam':
@@ -37,7 +36,7 @@ Ext.define(&#39;amdaReader.ExplorerReader&#39;, { @@ -37,7 +36,7 @@ Ext.define(&#39;amdaReader.ExplorerReader&#39;, {
37 return amdaModel.AliasNode; 36 return amdaModel.AliasNode;
38 case 'timeTable' : 37 case 'timeTable' :
39 return amdaModel.TimeTableNode; 38 return amdaModel.TimeTableNode;
40 - case 'catalog' : 39 + case 'catalog' :
41 return amdaModel.CatalogNode; 40 return amdaModel.CatalogNode;
42 case 'sharedtimeTable' : 41 case 'sharedtimeTable' :
43 return amdaModel.sharedTimeTableNode; 42 return amdaModel.sharedTimeTableNode;
@@ -54,8 +53,7 @@ Ext.define(&#39;amdaReader.ExplorerReader&#39;, { @@ -54,8 +53,7 @@ Ext.define(&#39;amdaReader.ExplorerReader&#39;, {
54 case 'bkgWorks' : 53 case 'bkgWorks' :
55 return amdaModel.BkgJobNode; 54 return amdaModel.BkgJobNode;
56 case 'specialParam': 55 case 'specialParam':
57 - console.log("Coucou");  
58 - return amdaModel.SpecialParamNode; 56 + return amdaModel.SpecialParamNode;
59 default: 57 default:
60 return amdaModel.InteractiveNode; 58 return amdaModel.InteractiveNode;
61 59
js/app/views/ExplorerUI.js
@@ -597,6 +597,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, { @@ -597,6 +597,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
597 break; 597 break;
598 case 'localParam' : 598 case 'localParam' :
599 case 'remoteParam': 599 case 'remoteParam':
  600 + case 'specialParam':
600 case 'remoteSimuParam': 601 case 'remoteSimuParam':
601 record.createPlot(record); 602 record.createPlot(record);
602 break; 603 break;
js/app/views/ParamArgumentsUI.js
@@ -558,6 +558,60 @@ Ext.define(&#39;amdaUI.ParamArgumentsUI&#39;, { @@ -558,6 +558,60 @@ Ext.define(&#39;amdaUI.ParamArgumentsUI&#39;, {
558 558
559 me.add(argumentField); 559 me.add(argumentField);
560 break; 560 break;
  561 + case 'int':
  562 + var argumentField = Ext.create('Ext.form.NumberField', {
  563 + argId: 'template_' + key,
  564 + fieldLabel: argument.name,
  565 + value: parseInt(argument.default),
  566 + regex: /^\d+$/,
  567 + listeners: {
  568 + change: function (field, newValue, oldValue, eOpts) {
  569 + var template_args = me.paramRequestObject.get('template_args');
  570 + if (!template_args)
  571 + template_args = {};
  572 + template_args[key] = newValue;
  573 + me.paramRequestObject.set('template_args', template_args);
  574 + if (!this.inRebuild && (me.onChange != null))
  575 + me.onChange(uiScope, key, newValue, oldValue, true);
  576 + },
  577 + scope: me
  578 + }
  579 + });
  580 +
  581 +
  582 + me.add(argumentField);
  583 + break;
  584 + case 'date':
  585 + var argumentField = Ext.create('Ext.form.field.Date', {
  586 + argId: 'template_' + key,
  587 + fieldLabel: argument.name,
  588 + allowBlank: false, format: 'Y/m/d H:i:s.u',
  589 + minValue:'1970/01/01 00:00:00.000',
  590 + value: parseInt(argument.default),
  591 + listeners: {
  592 + change: function (field, newValue, oldValue, eOpts) {
  593 + var template_args = me.paramRequestObject.get('template_args');
  594 + if (!template_args)
  595 + template_args = {};
  596 +
  597 + if(field.isValid() && newValue.getTime() > 0 ){
  598 + template_args[key] = newValue.getTime()/1000.;
  599 + }
  600 + else{
  601 + template_args[key] = 0;
  602 + }
  603 + me.paramRequestObject.set('template_args', template_args);
  604 + if (!this.inRebuild && (me.onChange != null)){
  605 + me.onChange(uiScope, key, newValue, oldValue, true);
  606 + }
  607 + },
  608 + scope: me
  609 + }
  610 + });
  611 +
  612 +
  613 + me.add(argumentField);
  614 + break;
561 default: 615 default:
562 console.log('Template argument type not yet implemented: ' + argument.type); 616 console.log('Template argument type not yet implemented: ' + argument.type);
563 } 617 }
js/app/views/SearchUI.js
@@ -317,6 +317,7 @@ Ext.define(&#39;amdaUI.SearchUI&#39;, @@ -317,6 +317,7 @@ Ext.define(&#39;amdaUI.SearchUI&#39;,
317 (data.records[0].get('nodeType') == 'remoteParam') || 317 (data.records[0].get('nodeType') == 'remoteParam') ||
318 (data.records[0].get('nodeType') == 'remoteSimuParam') || 318 (data.records[0].get('nodeType') == 'remoteSimuParam') ||
319 (data.records[0].get('nodeType') == 'derivedParam') || 319 (data.records[0].get('nodeType') == 'derivedParam') ||
  320 + (data.records[0].get('nodeType') == 'specialParam') ||
320 (data.records[0].get('nodeType') == 'myDataParam') || 321 (data.records[0].get('nodeType') == 'myDataParam') ||
321 (data.records[0].get('nodeType') == 'alias')) && 322 (data.records[0].get('nodeType') == 'alias')) &&
322 (data.records[0].isLeaf() || data.records[0].get('isParameter')) && 323 (data.records[0].isLeaf() || data.records[0].get('isParameter')) &&
@@ -365,6 +366,9 @@ Ext.define(&#39;amdaUI.SearchUI&#39;, @@ -365,6 +366,9 @@ Ext.define(&#39;amdaUI.SearchUI&#39;,
365 case 'derivedParam': 366 case 'derivedParam':
366 nameToSent = "ws_" + data.records[0].get('text'); 367 nameToSent = "ws_" + data.records[0].get('text');
367 break; 368 break;
  369 + case 'specialParam':
  370 + nameToSent = data.records[0].get('id');
  371 + break;
368 case 'myDataParam': 372 case 'myDataParam':
369 var name = data.records[0].get('text'); 373 var name = data.records[0].get('text');
370 nameToSent = "wsd_" + name; 374 nameToSent = "wsd_" + name;
js/app/views/StatisticsUI.js
@@ -347,6 +347,7 @@ Ext.define(&#39;amdaUI.StatisticsUI&#39;, @@ -347,6 +347,7 @@ Ext.define(&#39;amdaUI.StatisticsUI&#39;,
347 (data.records[0].data.nodeType == 'remoteParam') || 347 (data.records[0].data.nodeType == 'remoteParam') ||
348 (data.records[0].data.nodeType == 'remoteSimuParam') || 348 (data.records[0].data.nodeType == 'remoteSimuParam') ||
349 (data.records[0].data.nodeType == 'derivedParam') || 349 (data.records[0].data.nodeType == 'derivedParam') ||
  350 + (data.records[0].data.nodeType == 'specialParam') ||
350 (data.records[0].data.nodeType == 'myDataParam') || 351 (data.records[0].data.nodeType == 'myDataParam') ||
351 (data.records[0].data.nodeType == 'alias')) && 352 (data.records[0].data.nodeType == 'alias')) &&
352 (data.records[0].isLeaf() || data.records[0].data.isParameter) && 353 (data.records[0].isLeaf() || data.records[0].data.isParameter) &&
@@ -437,6 +438,9 @@ Ext.define(&#39;amdaUI.StatisticsUI&#39;, @@ -437,6 +438,9 @@ Ext.define(&#39;amdaUI.StatisticsUI&#39;,
437 nameToSent = "wsd_" + data.records[0].get('text'); 438 nameToSent = "wsd_" + data.records[0].get('text');
438 } 439 }
439 break; 440 break;
  441 + case 'specialParam':
  442 + nameToSent = data.records[0].get('id');
  443 + break;
440 default : 444 default :
441 return false; 445 return false;
442 } 446 }
php/classes/AmdaAction.php
@@ -225,7 +225,7 @@ class AmdaAction @@ -225,7 +225,7 @@ class AmdaAction
225 break; 225 break;
226 226
227 case 'localParam': 227 case 'localParam':
228 - 228 +
229 $globalStart = null; 229 $globalStart = null;
230 $globalStop = null; 230 $globalStop = null;
231 $timeRestriction = false; 231 $timeRestriction = false;
@@ -588,9 +588,9 @@ class AmdaAction @@ -588,9 +588,9 @@ class AmdaAction
588 break; 588 break;
589 589
590 case 'specialParam': 590 case 'specialParam':
591 - error_log('FER - HOLA');  
592 - $isParameter=true;  
593 - $childrenToReturn[] = array('text' => $name, 'id' => $id,'nodeType' => $nodeType); 591 + $specialNode=TRUE;
  592 + $isParameter=($child->tagName == 'parameter');
  593 + $childrenToReturn[] = array('text' => $name, 'id' => $id,'nodeType' => $nodeType, 'isParameter' => $isParameter, 'needsArgs' => $isParameter, 'leaf' => $isParameter);
594 break; 594 break;
595 595
596 default: 596 default: