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