InteropUI.js
3.21 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
126
127
128
129
/**
* Project : AMDA-NG
* Name : InteropUI.js
* @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 $
******************************************************************************
* FT Id : Date : Name - Description
******************************************************************************
* : :23/04/2012: BRE - file creation
*/
Ext.define('amdaUI.InteropUI', {
extend: 'Ext.tab.Panel',
alias: 'widget.panelInterop',
requires: [
'amdaUI.ParamsMgrUI'
],
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()
};
},
init : function(config) {
var me = this;
this.onSwitchConnect = config.onSwitchConnect;
var activeTab = config.activeTab ? config.activeTab : 0;
var myConf = {
plain : true,
activeTab: activeTab,
defaults: {
autoHeight: true,
layout : 'fit',
bodyStyle: { background : '#dfe8f6' }
},
items: [
this.getSampTab(config.clientsStore),
{ xtype : 'paramsMgrPanel', baseId : config.baseId, layout : 'hbox'}
]
};
Ext.apply (this , Ext.apply (arguments, myConf));
}
});