CatalogNode.js
1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/**
* 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', {
extend: 'amdaModel.TimeTableNode',
statics: {
nodeType: 'catalog',
objectName: 'Catalog'
},
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');
},
localMenuItems : function() {
var menuItems =
[
{
fnId : 'leaf-shareLeaf',
text : 'Share '+this.self.objectName,
hidden : true
},{
fnId : 'leaf-download',
text : 'Download '+ this.self.objectName,
hidden : true
},{
fnId : 'leaf-visu',
text : 'Visualize '+ this.self.objectName,
hidden : true
}];
return menuItems;
},
localMultiMenuItems : function() {
var menuItems =
[{
fnId : 'mult-shareMulti',
text : 'Share selected '+this.self.objectName+'s'
},{
fnId : 'mult-downloadMulti',
text : 'Download selected '+this.self.objectName+'s'
}];
return menuItems;
},
shareNode: function(node) {
myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id, true, function (module) {
module.shareCatalog({'name' : node.get('text'), 'id' : node.get('id')});
});
},
visu : function(contextNode) {
var me = this;
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();
});
}
});