]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/Utils.js
buildsys: makefiles convert to use simple parenthesis
[pmg-gui.git] / js / Utils.js
index 8c0dc8c9cd35003db6a60e1ed74c20596640bbcf..7fa154eab560ca075be83ca859de9614132eac3b 100644 (file)
@@ -161,14 +161,12 @@ Ext.define('PMG.Utils', {
                {
                    xtype: 'textfield',
                    name: 'regex',
-                   labelWidth: 150,
                    reference: 'regex',
-                   fieldLabel: gettext("Regular Expression"),
+                   fieldLabel: gettext("Regex"),
                },
                {
                    xtype: 'pmgRegexTester',
                    fieldLabel: gettext('Test String'),
-                   labelWidth: 150,
                    wholeMatch: true,
                    regexFieldReference: 'regex',
                },
@@ -200,8 +198,7 @@ Ext.define('PMG.Utils', {
                {
                    xtype: 'textfield',
                    name: 'regex',
-                   labelWidth: 150,
-                   fieldLabel: gettext("Regular Expression"),
+                   fieldLabel: gettext("Regex"),
                },
            ],
        },
@@ -359,22 +356,19 @@ Ext.define('PMG.Utils', {
                {
                    xtype: 'textfield',
                    name: 'field',
-                   labelWidth: 150,
                    allowBlank: false,
                    fieldLabel: gettext('Field'),
                },
                {
                    xtype: 'textfield',
-                   reference: 'value',
                    name: 'value',
-                   labelWidth: 150,
+                   reference: 'value',
                    allowBlank: false,
                    fieldLabel: gettext('Value'),
                },
                {
-                   labelWidth: 150,
-                   fieldLabel: gettext('Test String'),
                    xtype: 'pmgRegexTester',
+                   fieldLabel: gettext('Test String'),
                    regexFieldReference: 'value',
                },
            ],
@@ -390,7 +384,6 @@ Ext.define('PMG.Utils', {
                {
                    xtype: 'combobox',
                    displayField: 'text',
-                   labelWidth: 150,
                    valueField: 'mimetype',
                    name: 'contenttype',
                    editable: true,
@@ -415,7 +408,6 @@ Ext.define('PMG.Utils', {
                {
                    xtype: 'displayfield',
                    fieldLabel: gettext('Value'),
-                   labelWidth: 150,
                    allowBlank: false,
                    reset: Ext.emptyFn,
                },
@@ -434,14 +426,12 @@ Ext.define('PMG.Utils', {
                    name: 'filename',
                    reference: 'filename',
                    fieldLabel: gettext('Filename'),
-                   labelWidth: 150,
                    allowBlank: false,
                },
                {
-                   labelWidth: 150,
+                   xtype: 'pmgRegexTester',
                    fieldLabel: gettext('Test String'),
                    wholeMatch: true,
-                   xtype: 'pmgRegexTester',
                    regexFieldReference: 'filename',
                },
            ],
@@ -457,7 +447,6 @@ Ext.define('PMG.Utils', {
                {
                    xtype: 'combobox',
                    displayField: 'text',
-                   labelWidth: 150,
                    valueField: 'mimetype',
                    name: 'contenttype',
                    editable: true,
@@ -482,7 +471,6 @@ Ext.define('PMG.Utils', {
                {
                    xtype: 'displayfield',
                    fieldLabel: gettext('Value'),
-                   labelWidth: 150,
                    allowBlank: false,
                    reset: Ext.emptyFn,
                },
@@ -501,14 +489,12 @@ Ext.define('PMG.Utils', {
                    name: 'filename',
                    reference: 'filename',
                    fieldLabel: gettext('Filename'),
-                   labelWidth: 150,
                    allowBlank: false,
                },
                {
-                   labelWidth: 150,
+                   xtype: 'pmgRegexTester',
                    fieldLabel: gettext('Test String'),
                    wholeMatch: true,
-                   xtype: 'pmgRegexTester',
                    regexFieldReference: 'filename',
                },
            ],
@@ -631,7 +617,7 @@ Ext.define('PMG.Utils', {
                    xtype: 'proxmoxcheckbox',
                    checked: true,
                    name: 'original',
-                   fieldLabel: gettext("send orig. Mail"),
+                   boxLabel: gettext("Send Original Mail"),
                },
            ],
 
@@ -642,9 +628,6 @@ Ext.define('PMG.Utils', {
            subdir: 'removeattachments',
            subject: gettext('Remove Attachments'),
            width: 500,
-           fieldDefaults: {
-               labelWidth: 150,
-           },
            items: [
                {
                    xtype: 'textfield',
@@ -668,13 +651,13 @@ Ext.define('PMG.Utils', {
                    xtype: 'proxmoxcheckbox',
                    checked: true,
                    name: 'all',
-                   fieldLabel: gettext("Remove all attachments"),
+                   boxLabel: gettext("Remove all Attachments"),
                },
                {
                    xtype: 'proxmoxcheckbox',
                    checked: false,
                    name: 'quarantine',
-                   fieldLabel: gettext("Copy original mail to Attachment Quarantine"),
+                   boxLabel: gettext("Copy original mail to Attachment Quarantine"),
                },
            ],
        },
@@ -830,17 +813,23 @@ Ext.define('PMG.Utils', {
        return `<i class='fa ${iconCls}'></i> ${text}`;
     },
 
-    sender_renderer: function(value, metaData, rec) {
-       var subject = Ext.htmlEncode(value);
-       var from = Ext.htmlEncode(rec.data.from);
-       var sender = Ext.htmlEncode(rec.data.sender);
-       if (sender) {
-           from = Ext.String.format(gettext("{0} on behalf of {1}"),
-                                    sender, from);
+    render_envelope: function(value, { data }, render_receiver) {
+       let subject = Ext.htmlEncode(value);
+       let from = Ext.htmlEncode(data.from);
+       if (data.sender) {
+           let sender = Ext.htmlEncode(data.sender);
+           from = Ext.String.format(gettext("{0} on behalf of {1}"), sender, from);
        }
-       return '<small>' + from + '</small><br>' + subject;
+       if (render_receiver) {
+           let receiver = Ext.htmlEncode(data.receiver);
+           return `<small>${from}<br>To: ${receiver}</small><br>${subject}`;
+       }
+       return `<small>${from}</small><br>${subject}`;
     },
 
+    render_sender: (value, _meta, rec) => PMG.Utils.render_envelope(value, rec, false),
+    render_sender_receiver: (value, _meta, rec) => PMG.Utils.render_envelope(value, rec, true),
+
     constructor: function() {
        var me = this;
 
@@ -909,3 +898,12 @@ Ext.define('PMG.Async', {
        );
     },
 });
+
+// custom Vtypes
+Ext.apply(Ext.form.field.VTypes, {
+    // matches the pmg-email-address in pmg-api
+    PMGMail: function(v) {
+       return (/[^\s\\@]+@[^\s/\\@]+/).test(v);
+    },
+    PMGMailText: gettext('Example') + ": user@example.com",
+});