]>
git.proxmox.com Git - proxmox-widget-toolkit.git/blob - form/NetworkSelector.js
1 Ext
.define('Proxmox.form.NetworkSelectorController', {
2 extend
: 'Ext.app.ViewController',
3 alias
: 'controller.proxmoxNetworkSelectorController',
9 throw "missing custom view config: nodename";
11 view
.getStore().getProxy().setUrl('/api2/json/nodes/'+ view
.nodename
+ '/network');
15 Ext
.define('Proxmox.data.NetworkSelector', {
16 extend
: 'Ext.data.Model',
28 Ext
.define('Proxmox.form.NetworkSelector', {
29 extend
: 'Proxmox.form.ComboGrid',
30 alias
: 'widget.proxmoxNetworkSelector',
32 nodename
: 'localhost',
33 controller
: 'proxmoxNetworkSelectorController',
34 setNodename: function(nodename
) {
35 this.nodename
= nodename
;
36 var networkSelectorStore
= this.getStore();
37 networkSelectorStore
.removeAll();
38 // because of manual local copy of data for ip4/6
39 this.getPicker().refresh();
40 if (networkSelectorStore
&& typeof networkSelectorStore
.getProxy
=== 'function') {
41 networkSelectorStore
.getProxy().setUrl('/api2/json/nodes/'+ nodename
+ '/network');
42 networkSelectorStore
.load();
45 // set default value to empty array, else it inits it with
46 // null and after the store load it is an empty array,
47 // triggering dirtychange
53 model
: 'Proxmox.data.NetworkSelector',
65 return item
.data
.cidr
;
69 load: function(store
, records
, successfull
) {
72 records
.forEach(function(record
) {
73 if(record
.data
.cidr
&& record
.data
.cidr6
) {
74 var tempcopy
= record
.copy(null);
75 tempcopy
.data
.cidr
= tempcopy
.data
.cidr6
;
76 delete tempcopy
.data
.cidr6
;
77 tempcopy
.data
.comment
= tempcopy
.data
.comments6
;
78 delete tempcopy
.data
.comments6
;
82 if(!record
.data
.cidr
&& record
.data
.cidr6
) {
83 record
.data
.cidr
= record
.data
.cidr6
;
84 delete record
.data
.cidr6
;
85 record
.data
.comments
= record
.data
.comments6
;
86 delete record
.data
.comments6
;
99 header
: gettext('CIDR'),
105 header
: gettext('Interface'),
110 header
: gettext('Active'),
111 renderer
: Proxmox
.Utils
.format_boolean
,
116 header
: gettext('Type'),
122 header
: gettext('Comment'),
124 dataIndex
: 'comments'