mirror of
https://git.proxmox.com/git/pmg-gui
synced 2025-04-29 17:51:34 +00:00
72 lines
1.6 KiB
JavaScript
72 lines
1.6 KiB
JavaScript
/*global Proxmox*/
|
|
Ext.define('PMG.RegexTester', {
|
|
extend: 'Ext.form.FieldContainer',
|
|
alias: 'widget.pmgRegexTester',
|
|
|
|
// the field reference which holds the regex value
|
|
// has to be a sibling of the RegexTester component
|
|
regexFieldReference: undefined,
|
|
|
|
// if true, wraps the regex with ^ and $
|
|
wholeMatch: false,
|
|
|
|
layout: 'hbox',
|
|
submitValue: false,
|
|
|
|
items: [{
|
|
xtype: 'textfield',
|
|
submitValue: false,
|
|
name: 'teststring',
|
|
isDirty: function() { return false; },
|
|
reset: Ext.emptyFn,
|
|
}, {
|
|
margin: '0 0 0 5',
|
|
xtype: 'button',
|
|
text: 'Test',
|
|
handler: function() {
|
|
var me = this.up();
|
|
var regexField = me.up().down('field[reference=' + me.regexFieldReference +']');
|
|
var regex = '';
|
|
|
|
if (me.wholeMatch) {
|
|
regex = '^' + regexField.getValue() + '$';
|
|
} else {
|
|
regex = regexField.getValue();
|
|
}
|
|
|
|
Proxmox.Utils.API2Request({
|
|
url: '/api2/extjs/config/regextest',
|
|
waitMsgTarget: me.up('window'),
|
|
params: {
|
|
regex: regex,
|
|
text: me.down('textfield[name=teststring]').getValue(),
|
|
},
|
|
method: 'POST',
|
|
success: function(response) {
|
|
Ext.Msg.show({
|
|
title: gettext('Success'),
|
|
message: gettext('OK') +
|
|
' (elapsed time: ' +
|
|
response.result.data + 'ms' + ')',
|
|
buttons: Ext.Msg.OK,
|
|
icon: Ext.MessageBox.INFO,
|
|
});
|
|
},
|
|
failure: function(response, opts) {
|
|
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
|
|
},
|
|
});
|
|
},
|
|
}],
|
|
|
|
initComponent: function() {
|
|
var me = this;
|
|
|
|
if (!me.regexFieldReference) {
|
|
throw "No regex field reference given";
|
|
}
|
|
|
|
me.callParent();
|
|
},
|
|
});
|