CatalogNode.js
3.27 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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/**
* 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-plot',
text : 'Plot '+ this.self.objectName,
hidden : true
},{
fnId : 'leaf-visu',
text : 'Visualize '+ this.self.objectName,
hidden : true
},{
fnId : 'leaf-generateTT',
text : 'Generate Time Table ',
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'
},{
fnId : 'mult-plotMulti',
text : 'Plot 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(node) {
var me = this;
var visuWinFunc = function(object) {
myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.visu.id, true, function (module) {
module.visualize(object);
});
};
amdaModel.InteractiveNode.preloadNodes(this.getRootNode(),
function()
{
if (me.get('object')) {
visuWinFunc(me.get('object'));
}
else
{
AmdaAction.getObject(me.get('id'), me.get('nodeType'), function (result,remoteEvent) {
var t = remoteEvent.getTransaction();
if (result) {
var paramObj = Ext.create(me.get('objectDataModel'), result);
// set parameter into node
me.set('object',paramObj);
// Edition of parameter into parameter Module
visuWinFunc(me.get('object'));
}
else {
myDesktopApp.errorMsg(t.action + "." + t.method + " : No catalog '"
+ this.get('name') + "' found!");
}
}, me);
}
});
//var me = this;
//myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.visu.id, true, function (module) {
// module.visualize(me);
// 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();*/
//});
}
});