Blame view

js/app/models/CatalogNode.js 3.99 KB
33705dc4   Benjamin Renard   Catalog visu rework
1
/**
f792a3de   elena   catalog ihm
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',
33705dc4   Benjamin Renard   Catalog visu rework
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
	constructor : function(config)
33705dc4   Benjamin Renard   Catalog visu rework
20
	{
3a5f60a1   elena   proper use os sta...
21
22
23
24
25
		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');
	},
33705dc4   Benjamin Renard   Catalog visu rework
26

eec153c1   Elena.Budnik   formattage, netto...
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
	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
d547a559   Hacene SI HADJ MOHAND   rm_6903 ok
42
43
44
45
46
47
		},{
			fnId : 'leaf-generateTT',
			text : 'Generate Time Table ',
			hidden : true
		}
            ];
33705dc4   Benjamin Renard   Catalog visu rework
48

eec153c1   Elena.Budnik   formattage, netto...
49
50
		return menuItems;
	},
d18b535d   elena   catalog draft + c...
51

eec153c1   Elena.Budnik   formattage, netto...
52
53
54
55
56
57
58
59
60
	localMultiMenuItems : function() {
		var menuItems =
		[{
			fnId : 'mult-shareMulti',
			text : 'Share selected '+this.self.objectName+'s'
		},{
			fnId : 'mult-downloadMulti',
			text : 'Download selected '+this.self.objectName+'s'
		}];
33705dc4   Benjamin Renard   Catalog visu rework
61

eec153c1   Elena.Budnik   formattage, netto...
62
63
64
		return menuItems;
	},

33705dc4   Benjamin Renard   Catalog visu rework
65
	shareNode: function(node) {
eec153c1   Elena.Budnik   formattage, netto...
66
67
68
69
		myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id, true, function (module) {
			module.shareCatalog({'name' : node.get('text'), 'id' : node.get('id')});
		});
	},
33705dc4   Benjamin Renard   Catalog visu rework
70

b0720b91   Benjamin Renard   Finalize catalog ...
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
	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);
eec153c1   Elena.Budnik   formattage, netto...
110
			// Catalog & TimeTable nodes normally use no objects in the tree
b0720b91   Benjamin Renard   Finalize catalog ...
111
/*			var obj = {'id' : me.get('id'), 'name' : me.get('text') };
33705dc4   Benjamin Renard   Catalog visu rework
112
113
114
			object = Ext.create(me.get('objectDataModel'), obj);
			me.set('object',object);
			module.setLinkedNode(me);
b0720b91   Benjamin Renard   Finalize catalog ...
115
116
			module.createWindow();*/
		//});
d547a559   Hacene SI HADJ MOHAND   rm_6903 ok
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
	},
                   generateTT: function(node){
                       var catObj = Ext.create('amdaModel.TimeTable');
                              var timeTabNode = Ext.create('amdaModel.TimeTableNode',{leaf : true});
                              catObj.set('relatedCatalogId', node.get('id'));
                              desc =   'Generated by CDPP/Amda Catalog Module \n';
                              if (node.get('description'))
                                  desc = desc + node.get('description');
                              catObj.set('description', desc);
                              timeTabNode.set('object',catObj);
                              var explorerTree = Ext.getCmp(amdaUI.ExplorerUI.RESRC_TAB.TREE_ID);
                                        var ttRootNode = explorerTree.getRootNode().findChild('id', 'timeTable-treeRootNode', true);
                                        amdaModel.InteractiveNode.preloadNodes(ttRootNode.getRootNode(),
			function()
			{
				// edit newNode into Parameter Module with node as contextNode
				timeTabNode.editInModule();
			});
33705dc4   Benjamin Renard   Catalog visu rework
135
136


d547a559   Hacene SI HADJ MOHAND   rm_6903 ok
137
                   }
f792a3de   elena   catalog ihm
138
});