Aliases.js
3.45 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
Ext.define('MyMA.view.Aliases', {
extend: 'Ext.window.Window',
alias: 'widget.aliases',
layout: 'fit',
minimizable: true,
constrainHeader: true,
closeAction: 'destroy',
width: 900,
listeners: {
render: function(win) {
if(Ext.getBody().getHeight() > 500) {
win.setHeight(Ext.getBody().getHeight() - 150);
}
}
},
items: [{
xtype: 'grid',
border: false,
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop'
},
listeners: {
/**
* This event is fired through the GridView.
* Add listeners to the GridView object Fired when a drop operation has been completed and the data has been moved or copied
* @param {} node
* @param {} data
* @param {} overModel
* @param {} dropPosition
* @param {} eOpts
*/
beforedrop: function(node, data, overModel, dropPosition, eOpts) {
Ext.each(data.records, function(record) {
if(record.get('alias') != this.groupName) {
record.set('alias', this.groupName);
record.save({
action: 'update',
scope: this,
failure: function(record) {
record.store.reload();
}
});
}
}, {
data: data,
groupName: this.getFeature('alias-groups').getGroupName(node),
model: overModel
});
}
}
},
tbar: [{
xtype: 'button',
itemId: 'addrecord',
iconCls: 'x-ibtn-add',
text: 'New Item'
}, {
xtype: 'tbseparator',
width: 5
}, {
xtype: 'searchfield',
handler: 'search',
name: 'query'
}, {
xtype: 'tbspacer',
width: 5
}, {
xtype: 'button',
itemId: 'search',
text: 'Search'
}],
bbar: {
xtype: 'pagingtoolbar',
displayInfo: true,
store: 'Aliases'
},
features: [{
ftype: 'grouping',
id: 'alias-groups',
groupHeaderTpl: 'Group: {name} ({rows.length})',
startCollapsed: false
}],
selModel: {
selType: 'rowmodel'
},
columns: [{
xtype: 'actioncolumn',
width: 30,
items: [{
getClass: function() {
return 'x-ibtn-edit x-ibtn-def';
}
}]
}, {
header: 'ID',
dataIndex: 'id',
width: 40
}, {
header: 'Recipient',
dataIndex: 'recipient',
flex: 1
}, {
header: 'Alias',
hidden: true,
dataIndex: 'alias'
}, {
header: 'Comment',
dataIndex: 'comment',
flex: 1
}, {
xtype: 'actioncolumn',
width: 30,
items: [{
getClass: function() {
return 'x-ibtn-delete x-ibtn-def';
}
}]
}],
selType: 'rowmodel',
multiSelect: true,
store: 'Aliases'
}]
});