Commit fe22687638b99769ff71efb5e4bfb60919449f50
Exists in
master
and in
111 other branches
Merge branch master into install-rework
Showing
10 changed files
with
85 additions
and
60 deletions
Show diff stats
help/ttTimeFormat
1 | 1 | <h3>ASCII Time Table Time Format</h3> |
2 | -<i>Year Month Day Hour Minute Second</i> => with different separators ("-", ":", "/", " "). | |
2 | +<i>Year Month Day Hour Minute Second</i> => with different separators ("-", ":", "/", " ") used in a standard way. | |
3 | 3 | <br/><i>Milliseconds</i> are not taken in to account. |
4 | 4 | <br/><br/> |
5 | 5 | Examples: |
... | ... |
js/app/controllers/JobsMgr.js
... | ... | @@ -187,6 +187,7 @@ Ext.define('amdaDesktop.JobsMgr', { |
187 | 187 | // AKKA - use processid to find job |
188 | 188 | nodeToMove = jobRootNode.findChild('id', job.id, false) |
189 | 189 | nodeToMove.set('status', job.status) |
190 | + nodeToMove.set('info', job.info) | |
190 | 191 | |
191 | 192 | // TODO check if really job.status |
192 | 193 | |
... | ... |
js/app/controllers/StatisticsModule.js
... | ... | @@ -43,14 +43,12 @@ Ext.define('amdaDesktop.StatisticsModule', { |
43 | 43 | |
44 | 44 | saveState: function() { |
45 | 45 | var uiContent = this.getUiContent(); |
46 | - var form = uiContent.down('form').getForm(); | |
47 | - var values = form.getValues(); | |
48 | - // Ext.state.Manager.set(this.id + '_form', values); | |
46 | + var form = uiContent.formPanel.items.items[1].getForm(); | |
47 | + var values = form.getValues(); | |
49 | 48 | Ext.state.Manager.set('timeinterval', {'startDate' : values.startDate,'stopDate' : values.stopDate }); |
50 | 49 | }, |
51 | 50 | |
52 | - getState : function() { | |
53 | - // return Ext.state.Manager.get(this.id + '_form'); | |
51 | + getState : function() { | |
54 | 52 | return Ext.state.Manager.get('timeinterval'); |
55 | 53 | } |
56 | 54 | |
... | ... |
js/app/models/Stats.js
... | ... | @@ -22,8 +22,8 @@ Ext.define('amdaModel.Stats', { |
22 | 22 | values.id = this.get('id'); |
23 | 23 | } |
24 | 24 | |
25 | - values.timesrc = this.get('timesrc'); | |
26 | - values.name = 'test'; //this.get('name'); | |
25 | + values.timesrc = this.get('timesrc'); | |
26 | + values.name = this.get('name'); | |
27 | 27 | |
28 | 28 | // if (this.get('description').match(/[a-z,0-9]/gi) != null) { |
29 | 29 | // values.description = this.get('description'); |
... | ... |
js/app/views/PlotComponents/PlotBaseSerieForm.js
... | ... | @@ -90,7 +90,7 @@ Ext.define('amdaPlotComp.PlotBaseSerieForm', { |
90 | 90 | me.object.set('serie-yaxis', value); |
91 | 91 | me.crtTree.refresh(); |
92 | 92 | }), |
93 | - this.addStandardFieldSet('Y Values range', '', this.getValuesRangeItems()), | |
93 | + this.addStandardFieldSet('Min/Max thresholds', '', this.getValuesRangeItems()), | |
94 | 94 | this.addStandardParamDropTarget('serie-colored-param', 'Colored Parameter'), |
95 | 95 | this.addStandardFieldSet('Lines', 'serie-lines-activated', this.addStandardLineItems('serie-lines')), |
96 | 96 | this.addStandardFieldSet('Symbols', 'serie-symbols-activated', this.addStandardSymbolsItems('serie-symbols')), |
... | ... |
js/app/views/PlotComponents/PlotSpectroForm.js
... | ... | @@ -30,7 +30,7 @@ Ext.define('amdaPlotComp.PlotSpectroForm', { |
30 | 30 | me.object.set('spectro-yaxis', value); |
31 | 31 | me.crtTree.refresh(); |
32 | 32 | }), |
33 | - this.addStandardFieldSet('Values range', '', this.getValuesRangeItems()) | |
33 | + this.addStandardFieldSet('Min/Max thresholds', '', this.getValuesRangeItems()) | |
34 | 34 | ]; |
35 | 35 | } |
36 | 36 | }); |
37 | 37 | \ No newline at end of file |
... | ... |
js/app/views/StatisticsUI.js
... | ... | @@ -38,8 +38,7 @@ Ext.define('amdaUI.StatisticsUI', |
38 | 38 | loadObject : function() |
39 | 39 | { |
40 | 40 | // load object into form |
41 | - var basicForm = this.formPanel.items.items[0].getForm(); | |
42 | - | |
41 | + var basicForm = this.formPanel.items.items[1].getForm(); | |
43 | 42 | basicForm.loadRecord(this.object); |
44 | 43 | |
45 | 44 | }, |
... | ... | @@ -101,7 +100,21 @@ Ext.define('amdaUI.StatisticsUI', |
101 | 100 | { |
102 | 101 | this.timeSelector.addTT(TTname, TTid); ; |
103 | 102 | }, |
104 | - | |
103 | + | |
104 | + /** | |
105 | + * Set Start-Stop from parameter info (Local & MyData) | |
106 | + */ | |
107 | + setTimeFromData : function(obj) { | |
108 | + if (!obj.start || !obj.stop) | |
109 | + return; | |
110 | + | |
111 | + var dateStart = new Date(obj.start.replace(/[T|Z]/g,' ').replace(/\-/g,'\/')); | |
112 | + var dateStop = new Date(obj.stop.replace(/[T|Z]/g,' ').replace(/\-/g,'\/')); | |
113 | + | |
114 | + this.formPanel.items.items[1].getForm().setValues({ startDate : dateStart, stopDate : dateStop }); | |
115 | + this.timeSelector.intervalSel.updateDuration(); | |
116 | + }, | |
117 | + | |
105 | 118 | generateCatalog : function() |
106 | 119 | { |
107 | 120 | var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.statistics.id); |
... | ... | @@ -119,7 +132,7 @@ Ext.define('amdaUI.StatisticsUI', |
119 | 132 | var updateStatus = true; |
120 | 133 | |
121 | 134 | var formValues = basicForm.getValues(); |
122 | - //this.object.set('name',formValues.name); | |
135 | + this.object.set('name',this.fieldName.getValue()); | |
123 | 136 | this.object.set('description',formValues.description); |
124 | 137 | |
125 | 138 | var recs = this.paramGrid.getStore().getNewRecords(); |
... | ... | @@ -207,7 +220,7 @@ Ext.define('amdaUI.StatisticsUI', |
207 | 220 | fields: [ 'name', 'hidden_id'] |
208 | 221 | }); |
209 | 222 | |
210 | - this.timeSelector = new amdaUI.TimeSelectorUI({id: 'statisticsTimeSelector', height : 160}); | |
223 | + this.timeSelector = new amdaUI.TimeSelectorUI({id: 'statisticsTimeSelector', flex:1}); | |
211 | 224 | |
212 | 225 | var store = Ext.create('Ext.data.Store', |
213 | 226 | { |
... | ... | @@ -218,8 +231,8 @@ Ext.define('amdaUI.StatisticsUI', |
218 | 231 | { |
219 | 232 | title: 'Select Parameter & Apply Function', |
220 | 233 | selType : 'rowmodel', |
221 | - // flex: 2, | |
222 | - height :250, | |
234 | + flex: 2, | |
235 | + // height :250, | |
223 | 236 | store : store, |
224 | 237 | columns: [ |
225 | 238 | { xtype: 'rownumberer' }, |
... | ... | @@ -362,36 +375,20 @@ Ext.define('amdaUI.StatisticsUI', |
362 | 375 | this.formPanel = Ext.create('Ext.form.Panel', |
363 | 376 | { |
364 | 377 | region: 'center', |
365 | - layout: 'hbox', | |
378 | + layout: { | |
379 | + type: 'hbox', | |
380 | + pack: 'start', | |
381 | + align: 'stretch' | |
382 | + }, | |
366 | 383 | //bodyStyle: {background : '#dfe8f6'}, |
367 | 384 | defaults: { bodyStyle: {background : '#dfe8f6'}, padding : '3'}, |
368 | 385 | fieldDefaults: { labelWidth: 80, labelAlign : 'top' }, |
369 | - items: [ | |
370 | - { | |
386 | + items: [ { | |
371 | 387 | xtype: 'form', |
372 | 388 | flex : 1, |
373 | 389 | layout: {type: 'vbox', pack: 'start', align: 'stretch'}, |
374 | - items : [ | |
375 | - this.paramGrid, | |
376 | - this.timeSelector | |
377 | - ] | |
378 | - }, | |
379 | - { | |
380 | - xtype: 'form', | |
381 | - title: 'Additional Information', | |
382 | - flex : 1, | |
383 | - layout: {type: 'vbox', pack: 'start', align: 'stretch', padding : '3'}, | |
384 | - items : [ | |
385 | - this.fieldName, | |
386 | - { | |
387 | - xtype: 'textarea', | |
388 | - name: 'description', | |
389 | - fieldLabel: 'Description', | |
390 | - height: 200 | |
391 | - } | |
392 | - ], | |
393 | - fbar:[ | |
394 | - { | |
390 | + items : [ this.paramGrid ], | |
391 | + fbar:[ { | |
395 | 392 | type: 'button', |
396 | 393 | text: 'Generate Catalog', |
397 | 394 | scope : this, |
... | ... | @@ -399,8 +396,7 @@ Ext.define('amdaUI.StatisticsUI', |
399 | 396 | { |
400 | 397 | // update object with user's values |
401 | 398 | // if the return is true (object had been updated) |
402 | - if(this.updateObject()){ | |
403 | - this.updateObject(); | |
399 | + if (this.updateObject()){ | |
404 | 400 | this.generateCatalog(); |
405 | 401 | } |
406 | 402 | } |
... | ... | @@ -409,9 +405,31 @@ Ext.define('amdaUI.StatisticsUI', |
409 | 405 | type: 'button', |
410 | 406 | text: 'Reset', |
411 | 407 | scope : this, |
412 | - handler: function() {} | |
408 | + handler: function() { | |
409 | + this.formPanel.getForm().reset(); | |
410 | + this.paramGrid.store.removeAll(); | |
411 | + this.timeSelector.TTGrid.store.removeAll(); | |
412 | + } | |
413 | 413 | }] |
414 | - }] | |
414 | + }, | |
415 | + { | |
416 | + xtype: 'form', | |
417 | + title: 'Additional Information', | |
418 | + flex : 1, | |
419 | + trackResetOnLoad: true, | |
420 | + layout: {type: 'vbox', pack: 'start', align: 'stretch', padding : '3'}, | |
421 | + items : [ | |
422 | + this.fieldName, | |
423 | + { | |
424 | + xtype: 'textarea', | |
425 | + name: 'description', | |
426 | + fieldLabel: 'Description', | |
427 | + height: 125 | |
428 | + }, | |
429 | + this.timeSelector | |
430 | + ] | |
431 | + } | |
432 | + ] | |
415 | 433 | }); |
416 | 434 | |
417 | 435 | var myConf = { |
... | ... |
php/classes/AmdaAction.php
... | ... | @@ -58,7 +58,6 @@ class AmdaAction |
58 | 58 | * $obj = { id: node.id, nodeType: node.nodeType } |
59 | 59 | */ |
60 | 60 | public function getTree($obj) { |
61 | - | |
62 | 61 | $node = $obj->node; |
63 | 62 | |
64 | 63 | $nodeType = $obj->nodeType; |
... | ... | @@ -102,6 +101,7 @@ class AmdaAction |
102 | 101 | $xmlName = SHAREDPATH.'/SharedObjectTree.xml'; |
103 | 102 | break; |
104 | 103 | case 'bkgWorks': |
104 | + // data/<user>/JOBS/jobs.xml | |
105 | 105 | $xmlName = USERJOBDIR.$this->xmlFiles[$nodeType]; |
106 | 106 | break; |
107 | 107 | case 'source': |
... | ... | @@ -144,8 +144,6 @@ class AmdaAction |
144 | 144 | $id = $child->getAttribute('xml:id'); |
145 | 145 | $name = $child->getAttribute('name'); |
146 | 146 | $help = $child->getAttribute('att'); |
147 | - if ($child->hasAttribute('dataStart')) $dataStart = $child->getAttribute('dataStart'); | |
148 | - if ($child->hasAttribute('dataStop')) $dataStop = $child->getAttribute('dataStop'); | |
149 | 147 | |
150 | 148 | $specialNode = false; |
151 | 149 | $isParameter = false; |
... | ... | @@ -158,12 +156,17 @@ class AmdaAction |
158 | 156 | { |
159 | 157 | case 'bkgWorks': |
160 | 158 | $specialNode = true; |
161 | - $status = $child->getAttribute('status'); | |
162 | - // if ($status == 'done') continue; | |
163 | - $childrenToReturn[] = array('text' => $name, 'id' => $id,'nodeType' => $nodeType, 'leaf' => $isLeaf, | |
164 | - 'pid' => $child->getAttribute('pid'), 'status' => $status, | |
165 | - 'jobType' => $child->getAttribute('jobType'), 'info' => $child->getAttribute('info')); | |
166 | - break; | |
159 | + $childrenToReturn[] = [ | |
160 | + 'text' => $name, | |
161 | + 'id' => $id, | |
162 | + 'nodeType' => $nodeType, | |
163 | + 'leaf' => $isLeaf, | |
164 | + 'pid' => $child->getAttribute('pid'), | |
165 | + 'status' => $child->getAttribute('status'), | |
166 | + 'jobType' => $child->getAttribute('jobType'), | |
167 | + 'info' => $child->getAttribute('info') | |
168 | + ]; | |
169 | + break; | |
167 | 170 | |
168 | 171 | case 'condition': |
169 | 172 | $objectMgr = new RequestMgr(); |
... | ... | @@ -175,9 +178,8 @@ class AmdaAction |
175 | 178 | $objplot = $objectMgr->getObject($id); |
176 | 179 | for ($i=0; $i < count($objplot->children); $i++) |
177 | 180 | { |
178 | - for ($j=0; $j < count($objplot->children[$i]->children); $j++) | |
179 | - { | |
180 | - $info = $info.' '.$objplot->children[$i]->children[$j]->name; | |
181 | + for ($j=0; $j < count($objplot->children[$i]->children); $j++) { | |
182 | + $info = $info.' . '.$objplot->children[$i]->children[$j]->name; | |
181 | 183 | } |
182 | 184 | } |
183 | 185 | break; |
... | ... | @@ -846,7 +848,7 @@ class AmdaAction |
846 | 848 | */ |
847 | 849 | public function getJobs() |
848 | 850 | { |
849 | - $obj = (object) array(); | |
851 | + $obj = (object) array(); | |
850 | 852 | return $this->executeRequest($obj, FunctionTypeEnumClass::PROCESSRUNNINGINFO); |
851 | 853 | } |
852 | 854 | |
... | ... | @@ -910,7 +912,6 @@ class AmdaAction |
910 | 912 | } catch (Exception $e) { |
911 | 913 | return array('success' => false, 'message' => 'Exception detected : '.$e->getMessage()); |
912 | 914 | } |
913 | - | |
914 | 915 | return $res; |
915 | 916 | } |
916 | 917 | |
... | ... |
php/classes/TimeTableMgr.php
... | ... | @@ -151,6 +151,9 @@ class TimeTableMgr extends AmdaObjectMgr |
151 | 151 | $lines = file($tmp_file,FILE_SKIP_EMPTY_LINES); |
152 | 152 | $description="Uploaded Time Table".PHP_EOL; |
153 | 153 | |
154 | + $recordsNumber = count($lines); | |
155 | + $descNumber = 0; | |
156 | + | |
154 | 157 | foreach ($lines as $line) |
155 | 158 | { |
156 | 159 | if ($line[0] == '#') { |
... | ... | @@ -161,6 +164,7 @@ class TimeTableMgr extends AmdaObjectMgr |
161 | 164 | |
162 | 165 | if (!strtotime(trim($date[0]))) { |
163 | 166 | $description=$description.PHP_EOL.$line; |
167 | + $descNumber++; | |
164 | 168 | continue; |
165 | 169 | } |
166 | 170 | // check if it is ISO format |
... | ... | @@ -194,7 +198,9 @@ class TimeTableMgr extends AmdaObjectMgr |
194 | 198 | } |
195 | 199 | } |
196 | 200 | } |
197 | - | |
201 | + if ( $recordsNumber == $descNumber ) | |
202 | + $description = "Looks like we can not read your time format...".PHP_EOL.$description; | |
203 | + | |
198 | 204 | $attributesToReturn['description'] = $description; |
199 | 205 | $attributesToReturn['name'] = basename($tmp_file, '.'.$suffix[1]); |
200 | 206 | $attributesToReturn['created'] = date('Y-m-d\TH:i:s'); |
... | ... |
update_amda/cp2amda
... | ... | @@ -65,6 +65,7 @@ if [ -d "$NEWMETA/ParamInfo" ]; then |
65 | 65 | mkdir $PARAMS_LOCALINFO_DIR |
66 | 66 | fi |
67 | 67 | cp $NEWMETA/ParamInfo/info*.xml $PARAMS_LOCALINFO_DIR |
68 | + cp $AMDAINTERNALDIR/PARAM_INFO_PREDEFINED/info*.xml $PARAMS_LOCALINFO_DIR | |
68 | 69 | fi |
69 | 70 | |
70 | 71 | # copy LocalParams.xml created by makeTree.php to AMDA installation |
... | ... |