Commit 98c92bbf5c6df937a9fb5cdd0b51c5fb11c94a8f
1 parent
b0f72ee0
Exists in
master
and in
49 other branches
#10557 - Done (Maybe some minor fixes to do)
Showing
8 changed files
with
144 additions
and
17 deletions
Show diff stats
generic_data/SpecialParameters/SpecialParams.xml
1 | 1 | <?xml version="1.0"?> |
2 | 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 | 11 | </group> |
6 | 12 | </special> |
... | ... |
js/app/models/SpecialParamNode.js
... | ... | @@ -29,25 +29,85 @@ Ext.define('amdaModel.SpecialParamNode', { |
29 | 29 | |
30 | 30 | constructor : function(config){ |
31 | 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 | 37 | localMenuItems : function() { |
35 | 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 | 60 | return menuItems; |
38 | 61 | }, |
39 | 62 | |
40 | 63 | getAllContextMenuItems: function(){ |
41 | - | |
42 | - // var menuItems = this.allMenuItems('File'); | |
43 | 64 | var locMenuItems = this.localMenuItems(); |
44 | - | |
45 | - // return Ext.Array.merge(menuItems,locMenuItems); | |
46 | - return locMenuItems; | |
65 | + return locMenuItems; | |
47 | 66 | }, |
48 | 67 | |
49 | 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('amdaReader.ExplorerReader', { |
18 | 18 | */ |
19 | 19 | |
20 | 20 | getType: function(node){ |
21 | - console.log(node); | |
22 | 21 | switch (node.nodeType) { |
23 | 22 | |
24 | 23 | case 'derivedParam': |
... | ... | @@ -37,7 +36,7 @@ Ext.define('amdaReader.ExplorerReader', { |
37 | 36 | return amdaModel.AliasNode; |
38 | 37 | case 'timeTable' : |
39 | 38 | return amdaModel.TimeTableNode; |
40 | - case 'catalog' : | |
39 | + case 'catalog' : | |
41 | 40 | return amdaModel.CatalogNode; |
42 | 41 | case 'sharedtimeTable' : |
43 | 42 | return amdaModel.sharedTimeTableNode; |
... | ... | @@ -54,8 +53,7 @@ Ext.define('amdaReader.ExplorerReader', { |
54 | 53 | case 'bkgWorks' : |
55 | 54 | return amdaModel.BkgJobNode; |
56 | 55 | case 'specialParam': |
57 | - console.log("Coucou"); | |
58 | - return amdaModel.SpecialParamNode; | |
56 | + return amdaModel.SpecialParamNode; | |
59 | 57 | default: |
60 | 58 | return amdaModel.InteractiveNode; |
61 | 59 | |
... | ... |
js/app/views/ExplorerUI.js
js/app/views/ParamArgumentsUI.js
... | ... | @@ -558,6 +558,60 @@ Ext.define('amdaUI.ParamArgumentsUI', { |
558 | 558 | |
559 | 559 | me.add(argumentField); |
560 | 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 | 615 | default: |
562 | 616 | console.log('Template argument type not yet implemented: ' + argument.type); |
563 | 617 | } |
... | ... |
js/app/views/SearchUI.js
... | ... | @@ -317,6 +317,7 @@ Ext.define('amdaUI.SearchUI', |
317 | 317 | (data.records[0].get('nodeType') == 'remoteParam') || |
318 | 318 | (data.records[0].get('nodeType') == 'remoteSimuParam') || |
319 | 319 | (data.records[0].get('nodeType') == 'derivedParam') || |
320 | + (data.records[0].get('nodeType') == 'specialParam') || | |
320 | 321 | (data.records[0].get('nodeType') == 'myDataParam') || |
321 | 322 | (data.records[0].get('nodeType') == 'alias')) && |
322 | 323 | (data.records[0].isLeaf() || data.records[0].get('isParameter')) && |
... | ... | @@ -365,6 +366,9 @@ Ext.define('amdaUI.SearchUI', |
365 | 366 | case 'derivedParam': |
366 | 367 | nameToSent = "ws_" + data.records[0].get('text'); |
367 | 368 | break; |
369 | + case 'specialParam': | |
370 | + nameToSent = data.records[0].get('id'); | |
371 | + break; | |
368 | 372 | case 'myDataParam': |
369 | 373 | var name = data.records[0].get('text'); |
370 | 374 | nameToSent = "wsd_" + name; |
... | ... |
js/app/views/StatisticsUI.js
... | ... | @@ -347,6 +347,7 @@ Ext.define('amdaUI.StatisticsUI', |
347 | 347 | (data.records[0].data.nodeType == 'remoteParam') || |
348 | 348 | (data.records[0].data.nodeType == 'remoteSimuParam') || |
349 | 349 | (data.records[0].data.nodeType == 'derivedParam') || |
350 | + (data.records[0].data.nodeType == 'specialParam') || | |
350 | 351 | (data.records[0].data.nodeType == 'myDataParam') || |
351 | 352 | (data.records[0].data.nodeType == 'alias')) && |
352 | 353 | (data.records[0].isLeaf() || data.records[0].data.isParameter) && |
... | ... | @@ -437,6 +438,9 @@ Ext.define('amdaUI.StatisticsUI', |
437 | 438 | nameToSent = "wsd_" + data.records[0].get('text'); |
438 | 439 | } |
439 | 440 | break; |
441 | + case 'specialParam': | |
442 | + nameToSent = data.records[0].get('id'); | |
443 | + break; | |
440 | 444 | default : |
441 | 445 | return false; |
442 | 446 | } |
... | ... |
php/classes/AmdaAction.php
... | ... | @@ -225,7 +225,7 @@ class AmdaAction |
225 | 225 | break; |
226 | 226 | |
227 | 227 | case 'localParam': |
228 | - | |
228 | + | |
229 | 229 | $globalStart = null; |
230 | 230 | $globalStop = null; |
231 | 231 | $timeRestriction = false; |
... | ... | @@ -588,9 +588,9 @@ class AmdaAction |
588 | 588 | break; |
589 | 589 | |
590 | 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 | 594 | break; |
595 | 595 | |
596 | 596 | default: |
... | ... |