]>
git.proxmox.com Git - pmg-gui.git/blob - js/Transport.js
ccafa4e8a82e55914fe8cb697ad36add4db7c5e7
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 text
: gettext('Create'),
51 handler
: () => Ext
.createWidget('pmgTransportEditor', {
54 url
: "/api2/extjs/config/transport",
57 destroy
: () => reload(),
63 xtype
: 'proxmoxButton',
64 text
: gettext('Edit'),
66 selModel
: me
.selModel
,
70 xtype
: 'proxmoxStdRemoveButton',
71 selModel
: me
.selModel
,
72 baseurl
: '/config/transport',
78 xtype
: 'pmgFilterField',
79 filteredFields
: ['domain', 'host', 'port', 'protocol', 'comment'],
87 header
: gettext('Relay Domain'),
92 header
: gettext('Host'),
97 header
: gettext('Protocol'),
99 dataIndex
: 'protocol',
102 header
: gettext('Port'),
107 header
: gettext('Use MX'),
109 renderer
: Proxmox
.Utils
.format_boolean
,
113 header
: gettext('Comment'),
114 renderer
: Ext
.String
.htmlEncode
,
115 dataIndex
: 'comment',
120 itemdblclick
: run_editor
,
129 Ext
.define('PMG.TransportEditor', {
130 extend
: 'Proxmox.window.Edit',
131 alias
: 'widget.pmgTransportEditor',
132 mixins
: ['Proxmox.Mixin.CBind'],
134 cbindData
: (cfg
) => ({
135 domainXType
: cfg
.method
=== 'POST' ? 'proxmoxtextfield' : 'displayfield',
143 protoIsSMTP
: get => get('proto') === 'smtp',
146 onlineHelp
: 'pmgconfig_mailproxy_transports',
147 subject
: gettext("Transport"),
151 xtype
: 'displayfield',
153 xtype
: '{domainXType}',
156 fieldLabel
: gettext("Relay Domain"),
161 fieldLabel
: gettext("Host"),
164 xtype
: 'proxmoxKVComboBox',
166 fieldLabel
: gettext('Protocol'),
179 xtype
: 'proxmoxintegerfield',
184 fieldLabel
: gettext("Port"),
187 xtype
: 'proxmoxcheckbox',
191 disabled
: '{!protoIsSMTP}',
192 hidden
: '{!protoIsSMTP}',
195 fieldLabel
: gettext('Use MX'),
200 fieldLabel
: gettext("Comment"),