]>
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',
81 header
: gettext('Relay Domain'),
86 header
: gettext('Host'),
91 header
: gettext('Protocol'),
93 dataIndex
: 'protocol',
96 header
: gettext('Port'),
101 header
: gettext('Use MX'),
103 renderer
: Proxmox
.Utils
.format_boolean
,
107 header
: gettext('Comment'),
108 renderer
: Ext
.String
.htmlEncode
,
109 dataIndex
: 'comment',
114 itemdblclick
: run_editor
,
123 Ext
.define('PMG.TransportEditor', {
124 extend
: 'Proxmox.window.Edit',
125 alias
: 'widget.pmgTransportEditor',
126 mixins
: ['Proxmox.Mixin.CBind'],
128 cbindData
: (cfg
) => ({
129 domainXType
: cfg
.method
=== 'POST' ? 'proxmoxtextfield' : 'displayfield',
137 protoIsSMTP
: get => get('proto') === 'smtp',
140 onlineHelp
: 'pmgconfig_mailproxy_transports',
141 subject
: gettext("Transport"),
145 xtype
: 'displayfield',
147 xtype
: '{domainXType}',
150 fieldLabel
: gettext("Relay Domain"),
155 fieldLabel
: gettext("Host"),
158 xtype
: 'proxmoxKVComboBox',
160 fieldLabel
: gettext('Protocol'),
173 xtype
: 'proxmoxintegerfield',
178 fieldLabel
: gettext("Port"),
181 xtype
: 'proxmoxcheckbox',
185 disabled
: '{!protoIsSMTP}',
186 hidden
: '{!protoIsSMTP}',
189 fieldLabel
: gettext('Use MX'),
194 fieldLabel
: gettext("Comment"),