]>
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',
30 Ext
.define('Proxmox.form.NetworkSelector', {
31 extend
: 'Proxmox.form.ComboGrid',
32 alias
: 'widget.proxmoxNetworkSelector',
34 controller
: 'proxmoxNetworkSelectorController',
36 nodename
: 'localhost',
37 setNodename: function(nodename
) {
38 this.nodename
= nodename
;
39 var networkSelectorStore
= this.getStore();
40 networkSelectorStore
.removeAll();
41 // because of manual local copy of data for ip4/6
42 this.getPicker().refresh();
43 if (networkSelectorStore
&& typeof networkSelectorStore
.getProxy
=== 'function') {
44 networkSelectorStore
.getProxy().setUrl('/api2/json/nodes/'+ nodename
+ '/network');
45 networkSelectorStore
.load();
48 // set default value to empty array, else it inits it with
49 // null and after the store load it is an empty array,
50 // triggering dirtychange
56 model
: 'Proxmox.data.NetworkSelector',
68 return item
.data
.cidr
;
72 load: function(store
, records
, successfull
) {
74 records
.forEach(function(record
) {
75 if (record
.data
.cidr6
) {
76 let dest
= record
.data
.cidr
? record
.copy(null) : record
;
77 dest
.data
.cidr
= record
.data
.cidr6
;
78 dest
.data
.address
= record
.data
.address6
;
79 delete record
.data
.cidr6
;
80 dest
.data
.comments
= record
.data
.comments6
;
81 delete record
.data
.comments6
;
94 header
: gettext('CIDR'),
101 header
: gettext('IP'),
102 dataIndex
: 'address',
106 header
: gettext('Interface'),
111 header
: gettext('Active'),
112 renderer
: Proxmox
.Utils
.format_boolean
,
117 header
: gettext('Type'),
123 header
: gettext('Comment'),
125 dataIndex
: 'comments',