growMax: 250,
fieldLabel: gettext("Disclaimer"),
},
+ {
+ xtype: 'proxmoxKVComboBox',
+ name: 'position',
+ fieldLabel: gettext("Position"),
+ deleteEmpty: false,
+ value: 'end',
+ comboItems: [
+ ['end', gettext('End')],
+ ['start', gettext('Start')],
+ ],
+ },
],
},
},
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;
);
},
});
+
+// 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",
+});