]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
add DNS view/edit widgets
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 1 Feb 2017 06:14:07 +0000 (07:14 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 1 Feb 2017 06:17:47 +0000 (07:17 +0100)
Makefile
node/DNSEdit.js [new file with mode: 0644]
node/DNSView.js [new file with mode: 0644]

index 3675e0ea3a88719d5189cbf6e717f84fc45cc8b9..9d5c345275735f30f390f15aae528f453de6d8bc 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -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                \
diff --git a/node/DNSEdit.js b/node/DNSEdit.js
new file mode 100644 (file)
index 0000000..aa40f47
--- /dev/null
@@ -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();
+    }
+});
diff --git a/node/DNSView.js b/node/DNSView.js
new file mode 100644 (file)
index 0000000..3c608db
--- /dev/null
@@ -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);
+    }
+});