add DNS view/edit widgets

This commit is contained in:
Dietmar Maurer 2017-02-01 07:14:07 +01:00
parent bb64de6e76
commit eb874be792
3 changed files with 101 additions and 0 deletions

View File

@ -29,6 +29,8 @@ JSSRC= \
window/TaskViewer.js \
node/NetworkEdit.js \
node/NetworkView.js \
node/DNSEdit.js \
node/DNSView.js \
node/Tasks.js \
node/ServiceView.js \
node/TimeEdit.js \

54
node/DNSEdit.js Normal file
View File

@ -0,0 +1,54 @@
Ext.define('Proxmox.node.DNSEdit', {
extend: 'Proxmox.window.Edit',
alias: ['widget.proxmoxNodeDNSEdit'],
initComponent : function() {
var me = this;
if (!me.nodename) {
throw "no node name specified";
}
me.items = [
{
xtype: 'textfield',
fieldLabel: gettext('Search domain'),
name: 'search',
allowBlank: false
},
{
xtype: 'proxmoxtextfield',
fieldLabel: gettext('DNS server') + " 1",
vtype: 'IP64Address',
skipEmptyText: true,
name: 'dns1'
},
{
xtype: 'proxmoxtextfield',
fieldLabel: gettext('DNS server') + " 2",
vtype: 'IP64Address',
skipEmptyText: true,
name: 'dns2'
},
{
xtype: 'proxmoxtextfield',
fieldLabel: gettext('DNS server') + " 3",
vtype: 'IP64Address',
skipEmptyText: true,
name: 'dns3'
}
];
Ext.applyIf(me, {
subject: gettext('DNS'),
url: "/api2/extjs/nodes/" + me.nodename + "/dns",
fieldDefaults: {
labelWidth: 120
}
});
me.callParent();
me.load();
}
});

45
node/DNSView.js Normal file
View File

@ -0,0 +1,45 @@
Ext.define('Proxmox.node.DNSView', {
extend: 'Proxmox.grid.ObjectGrid',
alias: ['widget.proxmoxNodeDNSView'],
initComponent : function() {
var me = this;
if (!me.nodename) {
throw "no node name specified";
}
var run_editor = function() {
var win = Ext.create('Proxmox.node.DNSEdit', {
nodename: me.nodename
});
win.show();
};
Ext.apply(me, {
url: "/api2/json/nodes/" + me.nodename + "/dns",
cwidth1: 130,
interval: 1000,
rows: {
search: { header: 'Search domain', required: true },
dns1: { header: gettext('DNS server') + " 1", required: true },
dns2: { header: gettext('DNS server') + " 2" },
dns3: { header: gettext('DNS server') + " 3" }
},
tbar: [
{
text: gettext("Edit"),
handler: run_editor
}
],
listeners: {
itemdblclick: run_editor
}
});
me.callParent();
me.on('activate', me.rstore.startUpdate);
me.on('destroy', me.rstore.stopUpdate);
}
});