]>
git.proxmox.com Git - pmg-gui.git/blob - js/Transport.js
1 Ext
.define('pmg-transport', {
2 extend
: 'Ext.data.Model',
3 fields
: ['domain', 'host', 'protocol', { name
: 'port', type
: 'integer' },
4 { name
: 'use_mx', type
: 'boolean' }, 'comment'],
7 url
: "/api2/json/config/transport",
12 Ext
.define('PMG.Transport', {
13 extend
: 'Ext.grid.GridPanel',
14 alias
: ['widget.pmgTransport'],
16 initComponent: function() {
19 let store
= new Ext
.data
.Store({
20 model
: 'pmg-transport',
26 Proxmox
.Utils
.monStoreErrors(me
, store
, true);
27 let reload
= () => store
.load();
29 me
.selModel
= Ext
.create('Ext.selection.RowModel', {});
31 let run_editor = function() {
32 let rec
= me
.selModel
.getSelection()[0];
37 let win
= Ext
.createWidget('pmgTransportEditor', {
38 url
: "/api2/extjs/config/transport/" + rec
.data
.domain
,
42 win
.on('destroy', reload
);
50 xtype
: 'proxmoxButton',
51 text
: gettext('Edit'),
53 selModel
: me
.selModel
,
57 text
: gettext('Create'),
59 let win
= Ext
.createWidget('pmgTransportEditor', {
61 url
: "/api2/extjs/config/transport",
64 win
.on('destroy', reload
);
69 xtype
: 'proxmoxStdRemoveButton',
70 selModel
: me
.selModel
,
71 baseurl
: '/config/transport',
77 xtype
: 'pmgFilterField',
78 filteredFields
: ['domain', 'host', 'port', 'protocol', 'comment'],
86 header
: gettext('Relay Domain'),
91 header
: gettext('Host'),
96 header
: gettext('Protocol'),
98 dataIndex
: 'protocol',
101 header
: gettext('Port'),
106 header
: gettext('Use MX'),
108 renderer
: Proxmox
.Utils
.format_boolean
,
112 header
: gettext('Comment'),
113 renderer
: Ext
.String
.htmlEncode
,
114 dataIndex
: 'comment',
119 itemdblclick
: run_editor
,
128 Ext
.define('PMG.TransportEditor', {
129 extend
: 'Proxmox.window.Edit',
130 alias
: 'widget.pmgTransportEditor',
131 mixins
: ['Proxmox.Mixin.CBind'],
133 cbindData
: (cfg
) => ({
134 domainXType
: cfg
.method
=== 'POST' ? 'proxmoxtextfield' : 'displayfield',
142 protoIsSMTP
: get => get('proto') === 'smtp',
145 onlineHelp
: 'pmgconfig_mailproxy_transports',
146 subject
: gettext("Transport"),
150 xtype
: 'displayfield',
152 xtype
: '{domainXType}',
155 fieldLabel
: gettext("Relay Domain"),
160 fieldLabel
: gettext("Host"),
163 xtype
: 'proxmoxKVComboBox',
165 fieldLabel
: gettext('Protocol'),
178 xtype
: 'proxmoxintegerfield',
183 fieldLabel
: gettext("Port"),
186 xtype
: 'proxmoxcheckbox',
190 disabled
: '{!protoIsSMTP}',
191 hidden
: '{!protoIsSMTP}',
194 fieldLabel
: gettext('Use MX'),
199 fieldLabel
: gettext("Comment"),