未验证 提交 ec3c0834 编写于 作者: S Sandeep Somavarapu 提交者: GitHub

Merge pull request #45593 from rsalvador/counters

Make problem counters consistent, fixes #45592
...@@ -137,11 +137,14 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem { ...@@ -137,11 +137,14 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem {
const info = document.createElement('div'); const info = document.createElement('div');
const building = document.createElement('div'); const building = document.createElement('div');
const errorTitle = n => nls.localize('totalErrors', "{0} Errors", n);
const warningTitle = n => nls.localize('totalWarnings', "{0} Warnings", n);
const infoTitle = n => nls.localize('totalInfos', "{0} Infos", n);
Dom.addClass(element, 'task-statusbar-item'); Dom.addClass(element, 'task-statusbar-item');
Dom.addClass(label, 'task-statusbar-item-label'); Dom.addClass(label, 'task-statusbar-item-label');
element.appendChild(label); element.appendChild(label);
element.title = nls.localize('problems', "Problems");
Dom.addClass(errorIcon, 'task-statusbar-item-label-error'); Dom.addClass(errorIcon, 'task-statusbar-item-label-error');
Dom.addClass(errorIcon, 'mask-icon'); Dom.addClass(errorIcon, 'mask-icon');
...@@ -150,6 +153,7 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem { ...@@ -150,6 +153,7 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem {
Dom.addClass(error, 'task-statusbar-item-label-counter'); Dom.addClass(error, 'task-statusbar-item-label-counter');
error.innerHTML = '0'; error.innerHTML = '0';
error.title = errorIcon.title = errorTitle(0);
label.appendChild(error); label.appendChild(error);
Dom.addClass(warningIcon, 'task-statusbar-item-label-warning'); Dom.addClass(warningIcon, 'task-statusbar-item-label-warning');
...@@ -159,6 +163,7 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem { ...@@ -159,6 +163,7 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem {
Dom.addClass(warning, 'task-statusbar-item-label-counter'); Dom.addClass(warning, 'task-statusbar-item-label-counter');
warning.innerHTML = '0'; warning.innerHTML = '0';
warning.title = warningIcon.title = warningTitle(0);
label.appendChild(warning); label.appendChild(warning);
Dom.addClass(infoIcon, 'task-statusbar-item-label-info'); Dom.addClass(infoIcon, 'task-statusbar-item-label-info');
...@@ -186,26 +191,24 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem { ...@@ -186,26 +191,24 @@ class BuildStatusBarItem extends Themable implements IStatusbarItem {
} }
})); }));
let updateStatus = (element: HTMLDivElement, icon: HTMLDivElement, stats: number): boolean => { const manyProblems = nls.localize('manyProblems', "10K+");
if (stats > 0) { const packNumber = n => n > 9999 ? manyProblems : n > 999 ? n.toString().charAt(0) + 'K' : n.toString();
element.innerHTML = stats.toString(); let updateLabel = (stats: MarkerStatistics) => {
$(element).show(); error.innerHTML = packNumber(stats.errors);
$(icon).show(); error.title = errorIcon.title = errorTitle(stats.errors);
return true; warning.innerHTML = packNumber(stats.warnings);
warning.title = warningIcon.title = warningTitle(stats.warnings);
if (stats.infos > 0) {
info.innerHTML = packNumber(stats.infos);
info.title = infoIcon.title = infoTitle(stats.infos);
$(info).show();
$(infoIcon).show();
} else { } else {
$(element).hide(); $(info).hide();
$(icon).hide(); $(infoIcon).hide();
return false;
} }
}; };
let manyMarkers = nls.localize('manyMarkers', "99+");
let updateLabel = (stats: MarkerStatistics) => {
error.innerHTML = stats.errors < 100 ? stats.errors.toString() : manyMarkers;
warning.innerHTML = stats.warnings < 100 ? stats.warnings.toString() : manyMarkers;
updateStatus(info, infoIcon, stats.infos);
};
this.markerService.onMarkerChanged((changedResources) => { this.markerService.onMarkerChanged((changedResources) => {
updateLabel(this.markerService.getStatistics()); updateLabel(this.markerService.getStatistics());
}); });
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册