Blame view

js/app/models/CatalogNode.js 2.29 KB
f792a3de   elena   catalog ihm
1
2
3
4
5
6
7
8
9
10
11
/** 
 * Project  : AMDA-NG
 * Name     : CatalogNode.js
 * @class   amdaModel.CatalogNode
 * @extends amdaModel.TimeTableNode
 * @brief   Basic Model of Node corresponding to a amda catalog
 * @author  elena
 */

Ext.define('amdaModel.CatalogNode', {

3a5f60a1   elena   proper use os sta...
12
	extend: 'amdaModel.TimeTableNode',
f792a3de   elena   catalog ihm
13
    
3a5f60a1   elena   proper use os sta...
14
15
16
17
	statics: {
		nodeType: 'catalog',
		objectName: 'Catalog'
	},
f792a3de   elena   catalog ihm
18

3a5f60a1   elena   proper use os sta...
19
20
21
22
23
24
25
	constructor : function(config)
	{	
		this.callParent(arguments)
		this.set('moduleId',myDesktopApp.dynamicModules.catalog.id);
		this.set('objectDataModel',amdaModel.Catalog.$className);
		if (this.get('leaf')) this.set('iconCls', 'icon-catalog');
	},
d18b535d   elena   catalog draft + c...
26
27
28
    
     localMenuItems : function() {
        var menuItems =
169f14d2   Benjamin Renard   Add shared object...
29
30
         [
        {
d18b535d   elena   catalog draft + c...
31
32
33
            fnId : 'leaf-shareLeaf',
            text : 'Share '+this.self.objectName,
            hidden : true
169f14d2   Benjamin Renard   Add shared object...
34
        },{
d18b535d   elena   catalog draft + c...
35
36
37
            fnId : 'leaf-download',
            text : 'Download '+ this.self.objectName,
            hidden : true
5cfea1f2   elena   vizu draft
38
39
40
        },{
            fnId : 'leaf-visu',
            text : 'Visualize '+ this.self.objectName,
d18b535d   elena   catalog draft + c...
41
            hidden : true
5cfea1f2   elena   vizu draft
42
        }];
d18b535d   elena   catalog draft + c...
43
44
45
46
47
48
     
        return menuItems;
    },

    localMultiMenuItems : function() {
        var menuItems =
169f14d2   Benjamin Renard   Add shared object...
49
         [{
d18b535d   elena   catalog draft + c...
50
51
            fnId : 'mult-shareMulti',
            text : 'Share selected '+this.self.objectName+'s'
169f14d2   Benjamin Renard   Add shared object...
52
        },{
d18b535d   elena   catalog draft + c...
53
54
            fnId : 'mult-downloadMulti',
            text : 'Download selected '+this.self.objectName+'s'
169f14d2   Benjamin Renard   Add shared object...
55
        }];
d18b535d   elena   catalog draft + c...
56
57
     
        return menuItems;
3a5f60a1   elena   proper use os sta...
58
59
60
61
62
63
64
65
    },
    
    ttDownload : function() { 
	    alert('NOT IMPLEMENTED YET');
    },
    
     downloadMulti: function() { 
	    alert('NOT IMPLEMENTED YET');
5cfea1f2   elena   vizu draft
66
67
    },
    
169f14d2   Benjamin Renard   Add shared object...
68
69
70
71
72
73
    shareNode: function(node) {
   	 	myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id, true, function (module) {
   	 		module.shareCatalog({'name' : node.get('text'), 'id' : node.get('id')});
        });
    },
    
5cfea1f2   elena   vizu draft
74
75
76
77
    visu : function(contextNode) { 
	    
	var me = this;
	 
9d412dda   elena   catalog tmp and r...
78
79
80
81
82
83
84
85
86
87
88
       myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.visu.id, true, function (module) {
		
		// Catalog & TimeTable nodes normally use no objects in the tree
		var obj = {'id' : me.get('id'), 'name' : me.get('text') };
		object = Ext.create(me.get('objectDataModel'), obj);       
		me.set('object',object); 
		 		
		module.setLinkedNode(me);
		
		module.createWindow(); 		  		 	      
		 
5cfea1f2   elena   vizu draft
89
        });
f792a3de   elena   catalog ihm
90
    }
f792a3de   elena   catalog ihm
91
});