Blame view

js/app/views/InteropUI.js 3.06 KB
16035364   Benjamin Renard   First commit
1
2
/**
 * Project   : AMDA-NG
db3a6e4b   Nathanael Jourdane   fix tabs on inter...
3
 * Name	  : InteropUI.js
16035364   Benjamin Renard   First commit
4
5
6
7
8
9
 * @class   amdaUI.InteropUI
 * @extends Ext.tab.Panel
 * @brief   Interop Module UI definition (View)
 * @author  Benjamin RENARD
 * @version $Id: InteropUI.js 1093 2012-10-03 15:54:26Z elena $
 ******************************************************************************
db3a6e4b   Nathanael Jourdane   fix tabs on inter...
10
 *	FT Id	 :   Date   : Name - Description
16035364   Benjamin Renard   First commit
11
 ******************************************************************************
db3a6e4b   Nathanael Jourdane   fix tabs on inter...
12
 *  :		   :23/04/2012: BRE  - file creation
16035364   Benjamin Renard   First commit
13
14
15
16
 */


Ext.define('amdaUI.InteropUI', {
db3a6e4b   Nathanael Jourdane   fix tabs on inter...
17
18
	extend: 'Ext.tab.Panel',
	alias: 'widget.panelInterop',
d53e0fe6   Nathanael Jourdane   Move EPN-TAP modu...
19

16035364   Benjamin Renard   First commit
20
	requires: [
d53e0fe6   Nathanael Jourdane   Move EPN-TAP modu...
21
22
23
		'amdaUI.ParamsMgrUI', 'amdaUI.EpnTapUI'
	],

db3a6e4b   Nathanael Jourdane   fix tabs on inter...
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
	constructor: function(config) {
		this.init(config);
		this.callParent(arguments);
	},

	onSwitchConnect	: Ext.emptyFn,

	updateStatus: function(isConnected) {
		var sampTab = this.getComponent('samp_tab_panel');

		var sampButton = sampTab.dockedItems.items[0].items.items[1];
		sampButton.setIconCls(isConnected ? 'icon-connected' : 'icon-disconnected');
	},

	/*updateClients : function(clients)
	{
		var sampTab = this.getComponent('samp_tab_panel');

		var sampDataView = sampTab.query('dataview')[0];

		sampDataView.store.loadData(clients);
	},*/

	getSampToolBar: function() {
		var me = this;
		return [
				'SAMP connection : ',
				{
					iconCls: 'icon-disconnected',
					handler: function() {
						if (me.onSwitchConnect)
							me.onSwitchConnect();
					}
				}
		];
	},

	getSampClientsDataView: function(clientsStore) {
		var tpl = new Ext.XTemplate(
			'<tpl for=".">',
			  '<div style="margin: 2px;border: 1px solid #99BDE8;" class="clientinfo">',
				'<img src="{iconUrl}" width=24 height=24/><br/>',
				'<b>Name : </b><span>{name}</span><br/>',
				'<b>Identificator : </b><span>{id}</span><br/>',
				'<b>Description : </b><span>{descriptionText}</span><br/>',
				//'<b>Documentation : </b><span>{documentationUrl}</span><br/>',
			  '</div>',
			'</tpl>'
		);

		return {
			xtype : 'dataview',
			store : clientsStore,
			tpl: tpl,
			emptyText: 'No clients to show',
			itemSelector : 'div.clientinfo',
			overClass:'x-view-over',
			autoScroll : true,
			width  : 300,
			height : 300
		};
	},

	getSampTab: function (clientsStore) {
		var me = this;
		return {
			xtype : 'panel',
			id : 'samp_tab_panel',
			title : 'SAMP',
			layout : 'fit',
			items : [
					 this.getSampClientsDataView(clientsStore)
					 ],
			tbar : me.getSampToolBar()
		};
	},
d53e0fe6   Nathanael Jourdane   Move EPN-TAP modu...
100

db3a6e4b   Nathanael Jourdane   fix tabs on inter...
101
102
103
104
	init: function(config) {
		var me = this;
		this.onSwitchConnect = config.onSwitchConnect;
		var activeTab = config.activeTab ? config.activeTab : 0;
d53e0fe6   Nathanael Jourdane   Move EPN-TAP modu...
105
106
107
108
109
110
111
112
113
114
115

		var myConf = {
			plain : true,
			activeTab: activeTab,
			defaults: {
				autoHeight: true,
				layout : 'fit',
				bodyStyle: { background : '#dfe8f6' }
			},
			items: [
				this.getSampTab(config.clientsStore),
db3a6e4b   Nathanael Jourdane   fix tabs on inter...
116
117
				{xtype: 'paramsMgrPanel', baseId: config.baseId, layout: 'hbox'},
				{xtype: 'panelEpnTap'}
a8794c12   Nathanael Jourdane   Big refactoring (...
118
			],
db3a6e4b   Nathanael Jourdane   fix tabs on inter...
119
120
121
122
			listeners: {
				afterrender: function() { config.loadTab(this.getActiveTab()); },
				tabchange: function(tabpanel, tab) { config.loadTab(tab); }
			}
d53e0fe6   Nathanael Jourdane   Move EPN-TAP modu...
123
		};
d53e0fe6   Nathanael Jourdane   Move EPN-TAP modu...
124
125
126
		Ext.apply (this , Ext.apply (arguments, myConf));
	}
});