Commit c9ae585d by Torkel Ödegaard

Merge branch '12918-no-conditional-assignment'

parents 00c0b71f dc236b50
......@@ -9,7 +9,8 @@ if ('Element' in window && !Element.prototype.closest) {
i = matches.length;
// eslint-disable-next-line
while (--i >= 0 && matches.item(i) !== el) {}
} while (i < 0 && (el = el.parentElement));
el = el.parentElement;
} while (i < 0 && el);
return el;
};
}
......
......@@ -130,8 +130,8 @@ export class SearchCtrl {
}
const max = flattenedResult.length;
let newIndex = this.selectedIndex + direction;
this.selectedIndex = (newIndex %= max) < 0 ? newIndex + max : newIndex;
const newIndex = (this.selectedIndex + direction) % max;
this.selectedIndex = newIndex < 0 ? newIndex + max : newIndex;
const selectedItem = flattenedResult[this.selectedIndex];
if (selectedItem.dashboardIndex === undefined && this.results[selectedItem.folderIndex].id === 0) {
......
......@@ -5,14 +5,16 @@ function getBlockNodes(nodes) {
let node = nodes[0];
const endNode = nodes[nodes.length - 1];
let blockNodes;
node = node.nextSibling;
for (let i = 1; node !== endNode && (node = node.nextSibling); i++) {
for (let i = 1; node !== endNode && node; i++) {
if (blockNodes || nodes[i] !== node) {
if (!blockNodes) {
blockNodes = $([].slice.call(nodes, 0, i));
}
blockNodes.push(node);
}
node = node.nextSibling;
}
return blockNodes || nodes;
......
import _ from 'lodash';
import config from 'app/core/config';
import locationUtil from 'app/core/utils/location_util';
export class DashboardImportCtrl {
navModel: any;
......@@ -179,7 +180,8 @@ export class DashboardImportCtrl {
folderId: this.folderId,
})
.then(res => {
this.$location.url(res.importedUrl);
const dashUrl = locationUtil.stripBaseFromUrl(res.importedUrl);
this.$location.url(dashUrl);
});
}
......
......@@ -36,10 +36,15 @@ function uploadDashboardDirective(timer, alertSrv, $location) {
};
};
for (let i = 0, f; (f = files[i]); i++) {
let i = 0;
let file = files[i];
while (file) {
const reader = new FileReader();
reader.onload = readerOnload();
reader.readAsText(f);
reader.readAsText(file);
i += 1;
file = files[i];
}
}
......
......@@ -218,9 +218,10 @@ export function GraphiteDatasource(this: any, instanceSettings, $q, backendSrv,
if (matches) {
const expressions = [];
const exprRegex = /, *([^,]+)/g;
let match;
while ((match = exprRegex.exec(matches[2])) !== null) {
let match = exprRegex.exec(matches[2]);
while (match !== null) {
expressions.push(match[1]);
match = exprRegex.exec(matches[2]);
}
options.limit = 10000;
return this.getTagValuesAutoComplete(expressions, matches[1], undefined, options);
......@@ -233,9 +234,10 @@ export function GraphiteDatasource(this: any, instanceSettings, $q, backendSrv,
if (matches[1]) {
expressions.push(matches[1]);
const exprRegex = /, *([^,]+)/g;
let match;
while ((match = exprRegex.exec(matches[2])) !== null) {
let match = exprRegex.exec(matches[2]);
while (match !== null) {
expressions.push(match[1]);
match = exprRegex.exec(matches[2]);
}
}
options.limit = 10000;
......
......@@ -941,9 +941,10 @@ Lexer.prototype = {
tokenize: function() {
const list = [];
let token;
while ((token = this.next())) {
let token = this.next();
while (token) {
list.push(token);
token = this.next();
}
return list;
},
......
......@@ -26,13 +26,14 @@ export function getSearchMatches(line: string, search: string) {
}
const regexp = new RegExp(`(?:${search})`, 'g');
const matches = [];
let match;
while ((match = regexp.exec(line))) {
let match = regexp.exec(line);
while (match) {
matches.push({
text: match[0],
start: match.index,
length: match[0].length,
});
match = regexp.exec(line);
}
return matches;
}
......
......@@ -55,11 +55,12 @@ export function addLabelToQuery(query: string, key: string, value: string): stri
// Adding label to existing selectors
const selectorRegexp = /{([^{]*)}/g;
let match = null;
let match = selectorRegexp.exec(query);
const parts = [];
let lastIndex = 0;
let suffix = '';
while ((match = selectorRegexp.exec(query))) {
while (match) {
const prefix = query.slice(lastIndex, match.index);
const selectorParts = match[1].split(',');
const labels = selectorParts.reduce((acc, label) => {
......@@ -77,6 +78,7 @@ export function addLabelToQuery(query: string, key: string, value: string): stri
lastIndex = match.index + match[1].length + 2;
suffix = query.slice(match.index + match[0].length);
parts.push(prefix, '{', selector, '}');
match = selectorRegexp.exec(query);
}
parts.push(suffix);
return parts.join('');
......
......@@ -192,6 +192,10 @@
&:hover,
&.selected {
background: $list-item-hover-bg;
.search-item__body-title {
color: $text-color-strong;
}
}
}
......
......@@ -33,6 +33,7 @@
"no-angle-bracket-type-assertion": true,
"no-arg": true,
"no-bitwise": false,
"no-conditional-assignment": true,
"no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
"no-construct": true,
"no-debugger": true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment