extend: 'Proxmox.grid.ObjectGrid',
alias: ['widget.pmgMailProxyPorts'],
- initComponent : function() {
- var me = this;
+ url: '/api2/json/config/mail',
+
+ monStoreErrors: true,
+
+ editorConfig: {
+ url: '/api2/extjs/config/mail',
+ onlineHelp: 'pmgconfig_mailproxy_ports',
+ },
+
+ interval: 5000,
+
+ cwidth1: 200,
+
+ controller: {
+
+ xclass: 'Ext.app.ViewController',
- var rows = {
- ext_port: {
- required: true,
- defaultValue: 26,
- header: gettext('External SMTP Port'),
- editor: {
- xtype: 'proxmoxWindowEdit',
- subject: gettext('External SMTP Port'),
- items: {
- xtype: 'proxmoxintegerfield',
- name: 'ext_port',
- minValue: 1,
- maxValue: 65535,
- deleteEmpty: true,
- value: 26,
- labelWidth: 150,
- fieldLabel: gettext('External SMTP Port')
- }
- }
- },
- int_port: {
- required: true,
- defaultValue: 25,
- header: gettext('Internal SMTP Port'),
- editor: {
- xtype: 'proxmoxWindowEdit',
- subject: gettext('Internal SMTP Port'),
- items: {
- xtype: 'proxmoxintegerfield',
- name: 'int_port',
- minValue: 1,
- maxValue: 65535,
- deleteEmpty: true,
- value: 25,
- labelWidth: 150,
- fieldLabel: gettext('Internal SMTP Port')
- }
- }
- }
- };
+ onEdit: function() {
+ this.getView().run_editor();
+ },
+ },
- var baseurl = '/config/mail';
+ listeners: {
+ itemdblclick: 'onEdit',
+ },
- Ext.apply(me, {
- url: '/api2/json' + baseurl,
- editorConfig: {
- url: '/api2/extjs' + baseurl,
- },
- interval: 5000,
- cwidth1: 200,
- rows: rows,
- listeners: {
- itemdblclick: me.run_editor
- }
- });
+ tbar: [
+ {
+ text: gettext('Edit'),
+ xtype: 'proxmoxButton',
+ disabled: true,
+ handler: 'onEdit',
+ },
+ ],
+
+ initComponent: function() {
+ var me = this;
+
+ me.add_integer_row('ext_port', gettext('External SMTP Port'),
+ {
+ defaultValue: 25, deleteEmpty: true,
+ minValue: 1, maxValue: 65535,
+});
+
+ me.add_integer_row('int_port', gettext('Internal SMTP Port'),
+ {
+ defaultValue: 26, deleteEmpty: true,
+ minValue: 1, maxValue: 65535,
+});
me.callParent();
me.on('activate', me.rstore.startUpdate);
me.on('destroy', me.rstore.stopUpdate);
- }
+ me.on('deactivate', me.rstore.stopUpdate);
+ },
});