fix editing expression parts

This commit is contained in:
Sven Klemm 2018-07-09 22:38:29 +02:00
parent f140967423
commit bfc751542c

View File

@ -30,6 +30,7 @@ export function sqlPartEditorDirective($compile, templateSrv) {
var partDef = part.def; var partDef = part.def;
var $paramsContainer = elem.find('.query-part-parameters'); var $paramsContainer = elem.find('.query-part-parameters');
var debounceLookup = $scope.debounce; var debounceLookup = $scope.debounce;
var cancelBlur = null;
$scope.partActions = []; $scope.partActions = [];
@ -53,9 +54,14 @@ export function sqlPartEditorDirective($compile, templateSrv) {
} }
} }
function switchToLink(paramIndex) { function inputBlur($input, paramIndex) {
cancelBlur = setTimeout(function() {
switchToLink.call(this, $input, paramIndex);
}, 200);
}
function switchToLink($input, paramIndex) {
/*jshint validthis:true */ /*jshint validthis:true */
var $input = $(this);
var $link = $input.prev(); var $link = $input.prev();
var newValue = $input.val(); var newValue = $input.val();
@ -123,9 +129,11 @@ export function sqlPartEditorDirective($compile, templateSrv) {
minLength: 0, minLength: 0,
items: 1000, items: 1000,
updater: function(value) { updater: function(value) {
setTimeout(function() { if (value === part.params[paramIndex]) {
switchToLink.call($input[0], paramIndex); clearTimeout(cancelBlur);
}, 0); $input.focus();
return value;
}
return value; return value;
}, },
}); });
@ -169,7 +177,7 @@ export function sqlPartEditorDirective($compile, templateSrv) {
$paramLink.appendTo($paramsContainer); $paramLink.appendTo($paramsContainer);
$input.appendTo($paramsContainer); $input.appendTo($paramsContainer);
$input.blur(_.partial(switchToLink, index)); $input.blur(_.partial(inputBlur, $input, index));
$input.keyup(inputKeyDown); $input.keyup(inputKeyDown);
$input.keypress(_.partial(inputKeyPress, index)); $input.keypress(_.partial(inputKeyPress, index));
$paramLink.click(_.partial(clickFuncParam, index)); $paramLink.click(_.partial(clickFuncParam, index));