Commit 2ea60c88755e970a09d56a4fd8cc5be669951639
Exists in
master
and in
109 other branches
Merge branch 'catalog-update-view' into 'master'
Catalog update view See merge request !32
Showing
1 changed file
with
69 additions
and
50 deletions
Show diff stats
js/app/views/CatalogUI.js
... | ... | @@ -21,7 +21,10 @@ Ext.define('amdaUI.CatalogUI', { |
21 | 21 | this.init(config); |
22 | 22 | this.callParent(arguments); |
23 | 23 | this.toReconfigure = true; |
24 | - if (this.object) this.loadObject(); | |
24 | + | |
25 | + if (this.object) { | |
26 | + this.loadObject(); | |
27 | + } | |
25 | 28 | }, |
26 | 29 | |
27 | 30 | setObject : function (object, toReconfigure) { |
... | ... | @@ -120,9 +123,9 @@ Ext.define('amdaUI.CatalogUI', { |
120 | 123 | }); |
121 | 124 | |
122 | 125 | columns[1] = Ext.create('Ext.grid.column.Column', { text: 'Start Time', sortable : true, dataIndex: 'start', |
123 | - width : 120, menuDisabled: true, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true, format : 'Y-m-d\TH:i:s'}}); | |
126 | + width : 120, menuDisabled: false, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true, format : 'Y-m-d\TH:i:s'}}); | |
124 | 127 | columns[2] = Ext.create('Ext.grid.column.Column', { text: 'Stop Time', sortable : true, dataIndex: 'stop', |
125 | - width : 120, menuDisabled: true, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true, format : 'Y-m-d\TH:i:s'}}); | |
128 | + width : 120, menuDisabled: false, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true, format : 'Y-m-d\TH:i:s'}}); | |
126 | 129 | |
127 | 130 | Ext.Array.each(result.parameters, function(obj) |
128 | 131 | { |
... | ... | @@ -133,13 +136,13 @@ Ext.define('amdaUI.CatalogUI', { |
133 | 136 | if (obj.type == 1) // dateTime |
134 | 137 | { |
135 | 138 | columns[i] = Ext.create('Ext.grid.column.Column', { text: obj.name, sortable : true, dataIndex: index, |
136 | - width : 120, menuDisabled: true, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true, format : 'Y-m-d\TH:i:s'}}); | |
139 | + width : 120, menuDisabled: false, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true, format : 'Y-m-d\TH:i:s'}}); | |
137 | 140 | } |
138 | 141 | else |
139 | 142 | { |
140 | 143 | width = 50. * parseInt(obj.size); |
141 | 144 | columns[i] = Ext.create('Ext.grid.column.Column', { text: obj.name, sortable : false, dataIndex: index, |
142 | - width : width, menuDisabled: true, editor: 'textfield' }); | |
145 | + width : width, menuDisabled: false, editor: 'textfield' }); | |
143 | 146 | } |
144 | 147 | i++; |
145 | 148 | }); |
... | ... | @@ -172,21 +175,21 @@ Ext.define('amdaUI.CatalogUI', { |
172 | 175 | me.updateCount(); |
173 | 176 | //Statistical plugin |
174 | 177 | // this.fireEvent("refresh"); |
175 | - } | |
178 | + } | |
176 | 179 | } |
177 | - }); | |
180 | + }); | |
178 | 181 | |
179 | 182 | me.TTGrid.reconfigure(store, columns); |
180 | - } | |
183 | + } | |
181 | 184 | me.TTGrid.getSelectionModel().deselectAll(); |
182 | 185 | // |
183 | 186 | // // clear filters |
184 | 187 | // me.TTGrid.getStore().clearFilter(true); |
185 | 188 | // |
186 | - // //clear sort | |
187 | - // me.TTGrid.getStore().sorters.clear(); | |
188 | - // //me.TTGrid.getStore().sorters = new Ext.util.MixedCollection(); | |
189 | - | |
189 | + // clear sort | |
190 | + me.TTGrid.getStore().sorters.clear(); | |
191 | + // me.TTGrid.getStore().sorters = new Ext.util.MixedCollection(); | |
192 | + | |
190 | 193 | //set cache token to the Catalog object |
191 | 194 | me.object.set('cacheToken', result.token); |
192 | 195 | me.setParamInfo(result.parameters); |
... | ... | @@ -216,8 +219,9 @@ Ext.define('amdaUI.CatalogUI', { |
216 | 219 | } |
217 | 220 | else { |
218 | 221 | var typeTT = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id).linkedNode.data.nodeType; |
219 | - if (this.object.get('id') == '') { | |
220 | - //TODO ? | |
222 | + | |
223 | + if (this.object.get('id') == '') { | |
224 | + AmdaAction.initTTCache(this.isCatalog, 1, this.onAfterInit,this); | |
221 | 225 | } |
222 | 226 | else { |
223 | 227 | //From existing TT file |
... | ... | @@ -284,8 +288,7 @@ Ext.define('amdaUI.CatalogUI', { |
284 | 288 | if (btn == 'cancel') return; |
285 | 289 | |
286 | 290 | this.fieldName.clearInvalid(); |
287 | - this.saveProcess(true); | |
288 | - | |
291 | + this.saveProcess(true); | |
289 | 292 | }, |
290 | 293 | |
291 | 294 | /** |
... | ... | @@ -342,33 +345,38 @@ Ext.define('amdaUI.CatalogUI', { |
342 | 345 | // Only update the record if the new value is different than the |
343 | 346 | // startValue. When the view refreshes its el will gain focus |
344 | 347 | if (!record.isEqual(value, startValue)) { |
345 | - var obj = {}; | |
346 | - | |
347 | - obj['cacheId'] = record.get('cacheId'); | |
348 | - obj['isCatalog'] = true; | |
349 | - obj[activeColumn.dataIndex] = value; | |
350 | - | |
351 | - //Interval is modified on the server side | |
352 | - me.editing = true; | |
353 | - | |
354 | - AmdaAction.modifyTTCacheInterval(obj, function (result, e) { | |
355 | - var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id); | |
356 | - if (module) | |
357 | - module.getUiContent().status = result.status; | |
358 | - context.grid.getSelectionModel().deselectAll(); | |
359 | - context.store.reload({ | |
360 | - callback : function(records, options, success) { | |
361 | - context.view.bufferedRenderer.scrollTo(context.rowIdx, true, function() { | |
362 | - me.fireEvent('edit', me, context); | |
363 | - me.editing = false; | |
364 | - }, me); | |
348 | + var obj = {}; | |
349 | + | |
350 | + obj['cacheId'] = record.get('cacheId'); | |
351 | + obj['isCatalog'] = true; | |
352 | + obj[activeColumn.dataIndex] = value; | |
353 | + | |
354 | + //Interval is modified on the server side | |
355 | + me.editing = true; | |
356 | + | |
357 | + AmdaAction.modifyTTCacheInterval(obj, function (result, e) { | |
358 | + var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id); | |
359 | + if (module) | |
360 | + module.getUiContent().status = result.status; | |
361 | + if (!context.store.loading) { | |
362 | + context.grid.getSelectionModel().deselectAll(); | |
363 | + context.store.reload({ | |
364 | + callback : function(records, options, success) { | |
365 | + context.view.bufferedRenderer.scrollTo(context.rowIdx, true, function() { | |
366 | + me.fireEvent('edit', me, context); | |
367 | + me.editing = false; | |
368 | + }, me); | |
369 | + } | |
370 | + }); | |
371 | + } | |
372 | + else { | |
373 | + me.editing = false; | |
365 | 374 | } |
366 | - }); | |
367 | 375 | }, this); |
368 | 376 | } |
369 | 377 | else |
370 | 378 | me.editing = false; |
371 | - } | |
379 | + } | |
372 | 380 | } |
373 | 381 | }); |
374 | 382 | |
... | ... | @@ -376,7 +384,8 @@ Ext.define('amdaUI.CatalogUI', { |
376 | 384 | height: 530, |
377 | 385 | columns: [ ], |
378 | 386 | frame: true, |
379 | - columnLines: true, | |
387 | + columnLines: true, | |
388 | + selModel: {pruneRemoved: false}, | |
380 | 389 | // selType: 'cellmodel', |
381 | 390 | plugins: [ cellEditing, { ptype : 'bufferedrenderer'} ], |
382 | 391 | dockedItems: [{ |
... | ... | @@ -397,14 +406,16 @@ Ext.define('amdaUI.CatalogUI', { |
397 | 406 | var me = this; |
398 | 407 | AmdaAction.addTTCacheInterval({'index' : row, 'isCatalog' : true}, function (result, e) { |
399 | 408 | this.status = result.status; |
400 | - this.TTGrid.getStore().reload({ | |
401 | - callback : function(records, options, success) { | |
402 | - me.TTGrid.getView().bufferedRenderer.scrollTo(row, false, function() { | |
403 | - me.TTGrid.getView().select(row); | |
404 | - cellEditing.startEditByPosition({row: row, column: 1}); | |
405 | - }, me); | |
406 | - } | |
407 | - }); | |
409 | + if (!this.TTGrid.getStore().loading) { | |
410 | + this.TTGrid.getStore().reload({ | |
411 | + callback : function(records, options, success) { | |
412 | + me.TTGrid.getView().bufferedRenderer.scrollTo(row, false, function() { | |
413 | + me.TTGrid.getView().select(row); | |
414 | + cellEditing.startEditByPosition({row: row, column: 1}); | |
415 | + }, me); | |
416 | + } | |
417 | + }); | |
418 | + } | |
408 | 419 | }, this); |
409 | 420 | } |
410 | 421 | },{ |
... | ... | @@ -420,7 +431,9 @@ Ext.define('amdaUI.CatalogUI', { |
420 | 431 | this.TTGrid.getSelectionModel().deselectAll(); |
421 | 432 | AmdaAction.removeTTCacheIntervalFromId(rowId, this.isCatalog, function (result, e) { |
422 | 433 | this.status = result.status; |
423 | - this.TTGrid.getStore().reload(); | |
434 | + if (!this.TTGrid.getStore().loading) { | |
435 | + this.TTGrid.getStore().reload(); | |
436 | + } | |
424 | 437 | }, this); |
425 | 438 | } |
426 | 439 | } |
... | ... | @@ -477,17 +490,23 @@ Ext.define('amdaUI.CatalogUI', { |
477 | 490 | var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id); |
478 | 491 | |
479 | 492 | if (!module) return; |
493 | + | |
494 | + module.createLinkedNode(); | |
495 | + module.createObject(); | |
496 | + | |
480 | 497 | var obj = module.linkedNode.get('object'); |
481 | 498 | |
482 | - if (obj && obj.get('id') == '' && !obj.get('fromPlugin')) { | |
483 | 499 | var me = this; |
484 | 500 | |
485 | 501 | Ext.Msg.prompt('Define Parameters', 'Please enter parameters number:', function(btn, text){ |
486 | 502 | if (btn == 'ok'){ |
487 | 503 | AmdaAction.initTTCache(me.isCatalog, text, me.onAfterInit, me); |
488 | 504 | } |
505 | + else { | |
506 | + AmdaAction.initTTCache(me.isCatalog, 0, me.onAfterInit, me); | |
507 | + } | |
489 | 508 | }, this); |
490 | - } | |
509 | + | |
491 | 510 | } |
492 | 511 | }] |
493 | 512 | }, |
... | ... |