diff --git a/js/app/models/AmdaNode.js b/js/app/models/AmdaNode.js
index 69d1033..e7b350c 100644
--- a/js/app/models/AmdaNode.js
+++ b/js/app/models/AmdaNode.js
@@ -13,7 +13,7 @@
  *  :           :08/06/2011: CDA - Migration extjs4
  */
 Ext.define('amdaModel.AmdaNode', {
-    extend: 'Ext.data.Model',
+    extend: 'Ext.data.TreeModel',
     
     requires: ['amdaReader.ExplorerReader'],
     
@@ -192,3 +192,4 @@ Ext.define('amdaModel.AmdaNode', {
     }
 
 });
+
diff --git a/js/app/models/InteractiveNode.js b/js/app/models/InteractiveNode.js
index 541d5b7..9a07da5 100644
--- a/js/app/models/InteractiveNode.js
+++ b/js/app/models/InteractiveNode.js
@@ -700,7 +700,7 @@ Ext.define('amdaModel.InteractiveNode', {
                         {
                             var newNode = Ext.create(me.$className,
                                             {
-                                                    leaf : false, nodeType : me.nodeType,
+                                                    leaf : false, nodeType : me.get('nodeType'),
                                                     text : amdaModel.AmdaNode.NEW_DIR_NAME,
                                                     children : []
                                             });
diff --git a/js/app/models/PlotObject.js b/js/app/models/PlotObject.js
index 075fdf8..f0c63df 100644
--- a/js/app/models/PlotObject.js
+++ b/js/app/models/PlotObject.js
@@ -28,4 +28,6 @@ Ext.define('amdaModel.PlotObject', {
     ]//,
     
   //  hasMany: {model: 'amdaModel.PlotPanel', name: 'children'}
+}, function () {
+    Ext.data.NodeInterface.decorate(this);
 });
\ No newline at end of file
diff --git a/js/app/stores/AmdaTreeReader.js b/js/app/stores/AmdaTreeReader.js
index 4466bf9..10365f0 100644
--- a/js/app/stores/AmdaTreeReader.js
+++ b/js/app/stores/AmdaTreeReader.js
@@ -45,7 +45,7 @@ Ext.define('amdaReader.AmdaTreeReader', {
             record.phantom = false;
 
             // Use generated function to extract all fields at once
-            me.convertRecordData(convertedValues, node, record);
+            me.convertRecordData(convertedValues, node, record, me.applyDefaults);
             records.push(record);
 
             if (me.implicitIncludes) {
diff --git a/js/app/views/OperationsTT.js b/js/app/views/OperationsTT.js
index 3f04fd7..e03ebd0 100644
--- a/js/app/views/OperationsTT.js
+++ b/js/app/views/OperationsTT.js
@@ -62,6 +62,7 @@ Ext.define('amdaUI.OperationsTT', {
 	    }
 	    
 	    var me = this;
+	    me.parent.TTGrid.getSelectionModel().deselectAll();
 	    AmdaAction.operationTTCacheIntervals(extend,shift, function () {
 	    	me.parent.TTGrid.getStore().reload();
 	    	
diff --git a/js/app/views/TimeTableUI.js b/js/app/views/TimeTableUI.js
index 2e8b25c..435ff86 100755
--- a/js/app/views/TimeTableUI.js
+++ b/js/app/views/TimeTableUI.js
@@ -92,12 +92,13 @@ Ext.define('amdaUI.TimeTableUI', {
         	me.TTGrid.getStore().clearFilter(true);
         
     		//clear sort
-        	me.TTGrid.getStore().sorters = new Ext.util.MixedCollection();
+        	me.TTGrid.getStore().sorters.clear();
+        	//me.TTGrid.getStore().sorters = new Ext.util.MixedCollection();
         	
         	//set cache token to the Time Table object
         	me.object.set('cacheToken', result.token);
         	
-        	me.TTGrid.getStore().reload();
+        	me.TTGrid.getStore().load();
         	
         	me.status = result.status;
         	
@@ -223,6 +224,7 @@ Ext.define('amdaUI.TimeTableUI', {
 	},
 	
 	addInterval : function(start, stop) {
+		this.TTGrid.getSelectionModel().deselectAll();
 	   AmdaAction.addTTCacheInterval({'start' : start, 'stop' : stop},function (result, e) {
 		   this.TTGrid.getStore().reload();
 		   this.status = result.status;
@@ -390,21 +392,26 @@ Ext.define('amdaUI.TimeTableUI', {
 	    	            		
 	    	            	//context.grid.getSelectionModel().deselectAll();
 	    	            	//Interval is modified on the server side
+	    	            	me.editing = true;
+	    	            	
 	    	            	AmdaAction.modifyTTCacheInterval(obj, function (result, e) {
+	    	            		
 	    	            		var ttModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.tt.id);
                     			if (ttModule)
                     				ttModule.getUiContent().status = result.status;
+                    			context.grid.getSelectionModel().deselectAll();
 	    	            		context.store.reload({
 	                        		callback : function(records, options, success) {
-	                        			context.view.refresh();
 	                        			context.view.bufferedRenderer.scrollTo(context.rowIdx, true, function() {
 	                        				me.fireEvent('edit', me, context);
-		            	    	            me.editing = false;
+	                        				me.editing = false;
 	                        			}, me);	    	            
 	                        		}
 	                        	});
 	                        }, this);
 	    	            }
+	    	            else
+	    	            	me.editing = false;
 	    	        }
 	    	    }
 	    
@@ -537,6 +544,7 @@ Ext.define('amdaUI.TimeTableUI', {
                         var row = 0;
                         if (selection)
                         	row = store.indexOf(selection) + 1;
+                        this.TTGrid.getSelectionModel().deselectAll();
                         
                         var me = this;
                         AmdaAction.addTTCacheInterval({'index' : row}, function (result, e) {
@@ -544,6 +552,7 @@ Ext.define('amdaUI.TimeTableUI', {
                         	this.TTGrid.getStore().reload({
                         		callback : function(records, options, success) {
                         			me.TTGrid.getView().bufferedRenderer.scrollTo(row, false, function() {
+                        				me.TTGrid.getView().select(row);
                         				cellEditing.startEditByPosition({row: row, column: 1});	
                         			}, me);	
                         		}
@@ -559,6 +568,7 @@ Ext.define('amdaUI.TimeTableUI', {
                         var selection = this.TTGrid.getView().getSelectionModel().getSelection()[0];
                         if (selection) {
                         	var rowId = selection.get('cacheId');
+                        	this.TTGrid.getSelectionModel().deselectAll();
                         	AmdaAction.removeTTCacheIntervalFromId(rowId, function (result, e) {
                         		this.status = result.status;
                             	this.TTGrid.getStore().reload();
diff --git a/js/lib/ext-override.js b/js/lib/ext-override.js
index 248faa9..0e674f4 100644
--- a/js/lib/ext-override.js
+++ b/js/lib/ext-override.js
@@ -97,7 +97,7 @@ Ext.onReady(function () {
     }      
     });*/  
 	
-	Ext.override(Ext.selection.Model, {
+	/*Ext.override(Ext.selection.Model, {
 		storeHasSelected: function(record) {
 			var store = this.store,
 				records,
@@ -125,6 +125,6 @@ Ext.onReady(function () {
 			}
 			return false;
 		}
-	});
+	});*/
 }); 
             
\ No newline at end of file
--
libgit2 0.21.2