mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
public: fix codespell issues
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
// Licence MIT, Copyright (c) 2015 Mohsen Azimi
|
||||
|
||||
/*
|
||||
* Escapes `"` charachters from string
|
||||
* Escapes `"` characters from string
|
||||
*/
|
||||
function escapeString(str: string): string {
|
||||
return str.replace('"', '"');
|
||||
@@ -100,7 +100,7 @@ export function cssClass(className: string): string {
|
||||
}
|
||||
|
||||
/*
|
||||
* Creates a new DOM element wiht given type and class
|
||||
* Creates a new DOM element with given type and class
|
||||
* TODO: move me to helpers
|
||||
*/
|
||||
export function createElement(type: string, className?: string, content?: Element | string): Element {
|
||||
|
@@ -146,7 +146,7 @@ export class JsonExplorer {
|
||||
}
|
||||
|
||||
/*
|
||||
* did we recieve a key argument?
|
||||
* did we receive a key argument?
|
||||
* This means that the formatter was called as a sub formatter of a parent formatter
|
||||
*/
|
||||
private get hasKey(): boolean {
|
||||
|
@@ -108,7 +108,7 @@ function (_, $, coreModule) {
|
||||
$input.val('');
|
||||
$button.show();
|
||||
$button.focus();
|
||||
// clicking the function dropdown menu wont
|
||||
// clicking the function dropdown menu won't
|
||||
// work if you remove class at once
|
||||
setTimeout(function() {
|
||||
elem.removeClass('open');
|
||||
@@ -222,7 +222,7 @@ function (_, $, coreModule) {
|
||||
$input.val('');
|
||||
$button.show();
|
||||
$button.focus();
|
||||
// clicking the function dropdown menu wont
|
||||
// clicking the function dropdown menu won't
|
||||
// work if you remove class at once
|
||||
setTimeout(function() {
|
||||
elem.removeClass('open');
|
||||
|
@@ -67,7 +67,7 @@ export function fetch(load): any {
|
||||
return '';
|
||||
}
|
||||
|
||||
// dont reload styles loaded in the head
|
||||
// don't reload styles loaded in the head
|
||||
for (var i = 0; i < linkHrefs.length; i++) {
|
||||
if (load.address === linkHrefs[i]) {
|
||||
return '';
|
||||
|
@@ -620,13 +620,13 @@ kbn.valueFormats.ms = function(size, decimals, scaledDecimals) {
|
||||
// Less than 1 min
|
||||
return kbn.toFixedScaled(size / 1000, decimals, scaledDecimals, 3, ' s');
|
||||
} else if (Math.abs(size) < 3600000) {
|
||||
// Less than 1 hour, devide in minutes
|
||||
// Less than 1 hour, divide in minutes
|
||||
return kbn.toFixedScaled(size / 60000, decimals, scaledDecimals, 5, ' min');
|
||||
} else if (Math.abs(size) < 86400000) {
|
||||
// Less than one day, devide in hours
|
||||
// Less than one day, divide in hours
|
||||
return kbn.toFixedScaled(size / 3600000, decimals, scaledDecimals, 7, ' hour');
|
||||
} else if (Math.abs(size) < 31536000000) {
|
||||
// Less than one year, devide in days
|
||||
// Less than one year, divide in days
|
||||
return kbn.toFixedScaled(size / 86400000, decimals, scaledDecimals, 8, ' day');
|
||||
}
|
||||
|
||||
@@ -638,15 +638,15 @@ kbn.valueFormats.s = function(size, decimals, scaledDecimals) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// Less than 1 µs, devide in ns
|
||||
// Less than 1 µs, divide in ns
|
||||
if (Math.abs(size) < 0.000001) {
|
||||
return kbn.toFixedScaled(size * 1e9, decimals, scaledDecimals - decimals, -9, ' ns');
|
||||
}
|
||||
// Less than 1 ms, devide in µs
|
||||
// Less than 1 ms, divide in µs
|
||||
if (Math.abs(size) < 0.001) {
|
||||
return kbn.toFixedScaled(size * 1e6, decimals, scaledDecimals - decimals, -6, ' µs');
|
||||
}
|
||||
// Less than 1 second, devide in ms
|
||||
// Less than 1 second, divide in ms
|
||||
if (Math.abs(size) < 1) {
|
||||
return kbn.toFixedScaled(size * 1e3, decimals, scaledDecimals - decimals, -3, ' ms');
|
||||
}
|
||||
@@ -654,16 +654,16 @@ kbn.valueFormats.s = function(size, decimals, scaledDecimals) {
|
||||
if (Math.abs(size) < 60) {
|
||||
return kbn.toFixed(size, decimals) + ' s';
|
||||
} else if (Math.abs(size) < 3600) {
|
||||
// Less than 1 hour, devide in minutes
|
||||
// Less than 1 hour, divide in minutes
|
||||
return kbn.toFixedScaled(size / 60, decimals, scaledDecimals, 1, ' min');
|
||||
} else if (Math.abs(size) < 86400) {
|
||||
// Less than one day, devide in hours
|
||||
// Less than one day, divide in hours
|
||||
return kbn.toFixedScaled(size / 3600, decimals, scaledDecimals, 4, ' hour');
|
||||
} else if (Math.abs(size) < 604800) {
|
||||
// Less than one week, devide in days
|
||||
// Less than one week, divide in days
|
||||
return kbn.toFixedScaled(size / 86400, decimals, scaledDecimals, 5, ' day');
|
||||
} else if (Math.abs(size) < 31536000) {
|
||||
// Less than one year, devide in week
|
||||
// Less than one year, divide in week
|
||||
return kbn.toFixedScaled(size / 604800, decimals, scaledDecimals, 6, ' week');
|
||||
}
|
||||
|
||||
|
@@ -124,7 +124,7 @@ function joinEvalMatches(matches, separator: string) {
|
||||
}
|
||||
|
||||
function getAlertAnnotationInfo(ah) {
|
||||
// backward compatability, can be removed in grafana 5.x
|
||||
// backward compatibility, can be removed in grafana 5.x
|
||||
// old way stored evalMatches in data property directly,
|
||||
// new way stores it in evalMatches property on new data object
|
||||
|
||||
|
@@ -4,7 +4,7 @@ import { ThresholdMapper } from '../threshold_mapper';
|
||||
|
||||
describe('ThresholdMapper', () => {
|
||||
describe('with greater than evaluator', () => {
|
||||
it('can mapp query conditions to thresholds', () => {
|
||||
it('can map query conditions to thresholds', () => {
|
||||
var panel: any = {
|
||||
type: 'graph',
|
||||
alert: {
|
||||
@@ -25,7 +25,7 @@ describe('ThresholdMapper', () => {
|
||||
});
|
||||
|
||||
describe('with outside range evaluator', () => {
|
||||
it('can mapp query conditions to thresholds', () => {
|
||||
it('can map query conditions to thresholds', () => {
|
||||
var panel: any = {
|
||||
type: 'graph',
|
||||
alert: {
|
||||
@@ -49,7 +49,7 @@ describe('ThresholdMapper', () => {
|
||||
});
|
||||
|
||||
describe('with inside range evaluator', () => {
|
||||
it('can mapp query conditions to thresholds', () => {
|
||||
it('can map query conditions to thresholds', () => {
|
||||
var panel: any = {
|
||||
type: 'graph',
|
||||
alert: {
|
||||
|
@@ -56,7 +56,7 @@ function isStartOfRegion(event): boolean {
|
||||
export function dedupAnnotations(annotations) {
|
||||
let dedup = [];
|
||||
|
||||
// Split events by annotationId property existance
|
||||
// Split events by annotationId property existence
|
||||
let events = _.partition(annotations, 'id');
|
||||
|
||||
let eventsById = _.groupBy(events[0], 'id');
|
||||
|
@@ -129,7 +129,7 @@ export class DashboardModel {
|
||||
this.meta = meta;
|
||||
}
|
||||
|
||||
// cleans meta data and other non peristent state
|
||||
// cleans meta data and other non persistent state
|
||||
getSaveModelClone() {
|
||||
// make clone
|
||||
var copy: any = {};
|
||||
@@ -606,7 +606,7 @@ export class DashboardModel {
|
||||
if (panel.gridPos.x + panel.gridPos.w * 2 <= GRID_COLUMN_COUNT) {
|
||||
newPanel.gridPos.x += panel.gridPos.w;
|
||||
} else {
|
||||
// add bellow
|
||||
// add below
|
||||
newPanel.gridPos.y += panel.gridPos.h;
|
||||
}
|
||||
|
||||
|
@@ -133,7 +133,7 @@ export class HistoryListCtrl {
|
||||
return this.historySrv
|
||||
.getHistoryList(this.dashboard, options)
|
||||
.then(revisions => {
|
||||
// set formated dates & default values
|
||||
// set formatted dates & default values
|
||||
for (let rev of revisions) {
|
||||
rev.createdDateString = this.formatDate(rev.created);
|
||||
rev.ageString = this.formatBasicDate(rev.created);
|
||||
|
@@ -56,7 +56,7 @@ describe('DashboardImportCtrl', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when specifing grafana.com url', function() {
|
||||
describe('when specifying grafana.com url', function() {
|
||||
beforeEach(function() {
|
||||
ctx.ctrl.gnetUrl = 'http://grafana.com/dashboards/123';
|
||||
// setup api mock
|
||||
@@ -73,7 +73,7 @@ describe('DashboardImportCtrl', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when specifing dashbord id', function() {
|
||||
describe('when specifying dashboard id', function() {
|
||||
beforeEach(function() {
|
||||
ctx.ctrl.gnetUrl = '2342';
|
||||
// setup api mock
|
||||
|
@@ -44,7 +44,7 @@ describe('timeSrv', function() {
|
||||
expect(time.raw.to).to.be('now');
|
||||
});
|
||||
|
||||
it('should handle formated dates', function() {
|
||||
it('should handle formatted dates', function() {
|
||||
ctx.$location.search({ from: '20140410T052010', to: '20140520T031022' });
|
||||
ctx.service.init(_dashboard);
|
||||
var time = ctx.service.timeRange(true);
|
||||
@@ -52,7 +52,7 @@ describe('timeSrv', function() {
|
||||
expect(time.to.valueOf()).to.equal(new Date('2014-05-20T03:10:22Z').getTime());
|
||||
});
|
||||
|
||||
it('should handle formated dates without time', function() {
|
||||
it('should handle formatted dates without time', function() {
|
||||
ctx.$location.search({ from: '20140410', to: '20140520' });
|
||||
ctx.service.init(_dashboard);
|
||||
var time = ctx.service.timeRange(true);
|
||||
|
@@ -38,7 +38,7 @@ export class DashboardViewState {
|
||||
});
|
||||
|
||||
// this marks changes to location during this digest cycle as not to add history item
|
||||
// dont want url changes like adding orgId to add browser history
|
||||
// don't want url changes like adding orgId to add browser history
|
||||
$location.replace();
|
||||
this.update(this.getQueryStringState());
|
||||
}
|
||||
@@ -196,7 +196,7 @@ export class DashboardViewState {
|
||||
this.oldTimeRange = ctrl.range;
|
||||
this.fullscreenPanel = panelScope;
|
||||
|
||||
// Firefox doesn't return scrollTop postion properly if 'dash-scroll' is emitted after setViewMode()
|
||||
// Firefox doesn't return scrollTop position properly if 'dash-scroll' is emitted after setViewMode()
|
||||
this.$scope.appEvent('dash-scroll', { animate: false, pos: 0 });
|
||||
this.dashboard.setViewMode(ctrl.panel, true, ctrl.editMode);
|
||||
this.$scope.appEvent('panel-fullscreen-enter', { panelId: ctrl.panel.id });
|
||||
|
@@ -5,7 +5,7 @@
|
||||
New Organization
|
||||
</h2>
|
||||
|
||||
<p class="playlist-description">Each organization contains their own dashboards, data sources and configuration, and cannot be shared between orgs. While users may belong to more than one, mutiple organization are most frequently used in multi-tenant deployments. </p>
|
||||
<p class="playlist-description">Each organization contains their own dashboards, data sources and configuration, and cannot be shared between orgs. While users may belong to more than one, multiple organization are most frequently used in multi-tenant deployments. </p>
|
||||
|
||||
<form>
|
||||
<div class="gf-form-group">
|
||||
|
@@ -73,7 +73,7 @@ class MetricsPanelCtrl extends PanelCtrl {
|
||||
if (this.panel.snapshotData) {
|
||||
this.updateTimeRange();
|
||||
var data = this.panel.snapshotData;
|
||||
// backward compatability
|
||||
// backward compatibility
|
||||
if (!_.isArray(data)) {
|
||||
data = data.data;
|
||||
}
|
||||
|
@@ -29,7 +29,7 @@ export class DatasourceVariable implements Variable {
|
||||
getSaveModel() {
|
||||
assignModelProperties(this.model, this, this.defaults);
|
||||
|
||||
// dont persist options
|
||||
// don't persist options
|
||||
this.model.options = [];
|
||||
return this.model;
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@ import { AdhocVariable } from '../adhoc_variable';
|
||||
|
||||
describe('AdhocVariable', function() {
|
||||
describe('when serializing to url', function() {
|
||||
it('should set return key value and op seperated by pipe', function() {
|
||||
it('should set return key value and op separated by pipe', function() {
|
||||
var variable = new AdhocVariable({
|
||||
filters: [
|
||||
{ key: 'key1', operator: '=', value: 'value1' },
|
||||
|
@@ -282,7 +282,7 @@ describe('templateSrv', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('can hightlight variables in string', function() {
|
||||
describe('can highlight variables in string', function() {
|
||||
beforeEach(function() {
|
||||
initTemplateSrv([{ type: 'query', name: 'test', current: { value: 'oogle' } }]);
|
||||
});
|
||||
|
@@ -204,7 +204,7 @@ export class TemplateSrv {
|
||||
value = variable.current.value;
|
||||
if (this.isAllValue(value)) {
|
||||
value = this.getAllValue(variable);
|
||||
// skip formating of custom all values
|
||||
// skip formatting of custom all values
|
||||
if (variable.allValue) {
|
||||
return value;
|
||||
}
|
||||
|
@@ -392,7 +392,7 @@
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "2 yaxis and axis lables",
|
||||
"title": "2 yaxis and axis labels",
|
||||
"tooltip": {
|
||||
"msResolution": false,
|
||||
"shared": true,
|
||||
@@ -894,7 +894,7 @@
|
||||
"thresholds": [],
|
||||
"timeFrom": null,
|
||||
"timeShift": null,
|
||||
"title": "Legend Table Single Series Should Take Minium Height",
|
||||
"title": "Legend Table Single Series Should Take Minimum Height",
|
||||
"tooltip": {
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
|
@@ -175,7 +175,7 @@ export class ElasticResponse {
|
||||
}
|
||||
|
||||
// This is quite complex
|
||||
// neeed to recurise down the nested buckets to build series
|
||||
// need to recurise down the nested buckets to build series
|
||||
processBuckets(aggs, target, seriesList, table, props, depth) {
|
||||
var bucket, aggDef, esAgg, aggId;
|
||||
var maxDepth = target.bucketAggs.length - 1;
|
||||
|
@@ -27,7 +27,7 @@
|
||||
<input type="text" class="gf-form-input max-width-10" ng-model='ctrl.annotation.tagsField' placeholder="tags"></input>
|
||||
</div>
|
||||
<div class="gf-form" ng-show="ctrl.annotation.titleField">
|
||||
<span class="gf-form-label">Title <em class="muted">(depricated)</em></span>
|
||||
<span class="gf-form-label">Title <em class="muted">(deprecated)</em></span>
|
||||
<input type="text" class="gf-form-input max-width-16" ng-model='ctrl.annotation.titleField' placeholder="desc"></input>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -53,7 +53,7 @@ describe('ElasticDatasource', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('When issueing metric query with interval pattern', function() {
|
||||
describe('When issuing metric query with interval pattern', function() {
|
||||
var requestOptions, parts, header;
|
||||
|
||||
beforeEach(function() {
|
||||
@@ -98,7 +98,7 @@ describe('ElasticDatasource', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('When issueing document query', function() {
|
||||
describe('When issuing document query', function() {
|
||||
var requestOptions, parts, header;
|
||||
|
||||
beforeEach(function() {
|
||||
|
@@ -68,7 +68,7 @@ export function graphiteAddFunc($compile) {
|
||||
});
|
||||
|
||||
$input.blur(function() {
|
||||
// clicking the function dropdown menu wont
|
||||
// clicking the function dropdown menu won't
|
||||
// work if you remove class at once
|
||||
setTimeout(function() {
|
||||
$input.val('');
|
||||
|
@@ -97,7 +97,7 @@ describe('GraphiteQueryCtrl', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when initalizing target without metric expression and only function', function() {
|
||||
describe('when initializing target without metric expression and only function', function() {
|
||||
beforeEach(function() {
|
||||
ctx.ctrl.target.target = 'asPercent(#A, #B)';
|
||||
ctx.ctrl.datasource.metricFindQuery.returns(ctx.$q.when([]));
|
||||
@@ -130,7 +130,7 @@ describe('GraphiteQueryCtrl', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when initalizing target without metric expression and function with series-ref', function() {
|
||||
describe('when initializing target without metric expression and function with series-ref', function() {
|
||||
beforeEach(function() {
|
||||
ctx.ctrl.target.target = 'asPercent(metric.node.count, #A)';
|
||||
ctx.ctrl.datasource.metricFindQuery.returns(ctx.$q.when([]));
|
||||
@@ -146,7 +146,7 @@ describe('GraphiteQueryCtrl', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when getting altSegments and metricFindQuery retuns empty array', function() {
|
||||
describe('when getting altSegments and metricFindQuery returns empty array', function() {
|
||||
beforeEach(function() {
|
||||
ctx.ctrl.target.target = 'test.count';
|
||||
ctx.ctrl.datasource.metricFindQuery.returns(ctx.$q.when([]));
|
||||
|
@@ -54,7 +54,7 @@ export default class InfluxDatasource {
|
||||
|
||||
queryTargets.push(target);
|
||||
|
||||
// backward compatability
|
||||
// backward compatibility
|
||||
scopedVars.interval = scopedVars.__interval;
|
||||
|
||||
queryModel = new InfluxQuery(target, this.templateSrv, scopedVars);
|
||||
|
@@ -230,7 +230,7 @@ export default class InfluxQuery {
|
||||
for (i = 0; i < this.groupByParts.length; i++) {
|
||||
var part = this.groupByParts[i];
|
||||
if (i > 0) {
|
||||
// for some reason fill has no seperator
|
||||
// for some reason fill has no separator
|
||||
groupBySection += part.def.type === 'fill' ? ' ' : ', ';
|
||||
}
|
||||
groupBySection += part.render('');
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<input type="text" class="gf-form-input max-width-10" ng-model='ctrl.annotation.tagsColumn' placeholder=""></input>
|
||||
</div>
|
||||
<div class="gf-form" ng-show="ctrl.annotation.titleColumn">
|
||||
<span class="gf-form-label width-4">Title <em class="muted">(depricated)</em></span>
|
||||
<span class="gf-form-label width-4">Title <em class="muted">(deprecated)</em></span>
|
||||
<input type="text" class="gf-form-input max-width-10" ng-model='ctrl.annotation.titleColumn' placeholder=""></input>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -97,7 +97,7 @@ describe('InfluxQueryBuilder', function() {
|
||||
expect(query).toBe('SHOW TAG VALUES FROM "one_week"."cpu" WITH KEY = "app" WHERE "host" = \'server1\'');
|
||||
});
|
||||
|
||||
it('should not includ policy when policy is default', function() {
|
||||
it('should not include policy when policy is default', function() {
|
||||
var builder = new InfluxQueryBuilder({
|
||||
measurement: 'cpu',
|
||||
policy: 'default',
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="gf-form" ng-show="ctrl.showHelp">
|
||||
<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>
|
||||
An annotation is an event that is overlayed on top of graphs. The query can have up to three columns per row, the <b>time</b> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.
|
||||
An annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the <b>time</b> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.
|
||||
|
||||
- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.
|
||||
- column with alias: <b>text</b> for the annotation text.
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="gf-form" ng-show="ctrl.showHelp">
|
||||
<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>
|
||||
An annotation is an event that is overlayed on top of graphs. The query can have up to three columns per row, the <i>time</i> or <i>time_sec</i> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.
|
||||
An annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the <i>time</i> or <i>time_sec</i> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.
|
||||
|
||||
- column with alias: <b>time</b> or <i>time_sec</i> for the annotation event time. Use epoch time or any native date data type.
|
||||
- column with alias: <b>text</b> for the annotation text
|
||||
|
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
|
||||
<svg width="432.071pt" height="445.383pt" viewBox="0 0 432.071 445.383" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="orginal" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
|
||||
<g id="original" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
|
||||
</g>
|
||||
<g id="Layer_x0020_3" style="fill-rule:nonzero;clip-rule:nonzero;fill:none;stroke:#FFFFFF;stroke-width:12.4651;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;">
|
||||
<path style="fill:#000000;stroke:#000000;stroke-width:37.3953;stroke-linecap:butt;stroke-linejoin:miter;" d="M323.205,324.227c2.833-23.601,1.984-27.062,19.563-23.239l4.463,0.392c13.517,0.615,31.199-2.174,41.587-7c22.362-10.376,35.622-27.7,13.572-23.148c-50.297,10.376-53.755-6.655-53.755-6.655c53.111-78.803,75.313-178.836,56.149-203.322 C352.514-5.534,262.036,26.049,260.522,26.869l-0.482,0.089c-9.938-2.062-21.06-3.294-33.554-3.496c-22.761-0.374-40.032,5.967-53.133,15.904c0,0-161.408-66.498-153.899,83.628c1.597,31.936,45.777,241.655,98.47,178.31 c19.259-23.163,37.871-42.748,37.871-42.748c9.242,6.14,20.307,9.272,31.912,8.147l0.897-0.765c-0.281,2.876-0.157,5.689,0.359,9.019c-13.572,15.167-9.584,17.83-36.723,23.416c-27.457,5.659-11.326,15.734-0.797,18.367c12.768,3.193,42.305,7.716,62.268-20.224 l-0.795,3.188c5.325,4.26,4.965,30.619,5.72,49.452c0.756,18.834,2.017,36.409,5.856,46.771c3.839,10.36,8.369,37.05,44.036,29.406c29.809-6.388,52.6-15.582,54.677-101.107"/>
|
||||
@@ -19,4 +19,4 @@
|
||||
<path d="M350.676,123.432c0.863,15.994-3.445,26.888-3.988,43.914c-0.804,24.748,11.799,53.074-7.191,81.435"/>
|
||||
<path style="stroke-width:3;" d="M0,60.232"/>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="gf-form" ng-show="ctrl.showHelp">
|
||||
<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>
|
||||
An annotation is an event that is overlayed on top of graphs. The query can have up to three columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.
|
||||
An annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.
|
||||
|
||||
- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.
|
||||
- column with alias: <b>text</b> for the annotation text
|
||||
|
@@ -52,14 +52,14 @@ function ($, _, angular, Drop) {
|
||||
var eventManager = plot.getOptions().events.manager;
|
||||
if (eventManager.editorOpen) {
|
||||
// update marker element to attach to (needed in case of legend on the right
|
||||
// when there is a double render pass and the inital marker element is removed)
|
||||
// when there is a double render pass and the initial marker element is removed)
|
||||
markerElementToAttachTo = element;
|
||||
return;
|
||||
}
|
||||
|
||||
// mark as openend
|
||||
eventManager.editorOpened();
|
||||
// set marker elment to attache to
|
||||
// set marker element to attache to
|
||||
markerElementToAttachTo = element;
|
||||
|
||||
// wait for element to be attached and positioned
|
||||
|
@@ -129,7 +129,7 @@ module.directive('graphLegend', function(popoverSrv, $timeout) {
|
||||
|
||||
elem.empty();
|
||||
|
||||
// Set min-width if side style and there is a value, otherwise remove the CSS propery
|
||||
// Set min-width if side style and there is a value, otherwise remove the CSS property
|
||||
// Set width so it works with IE11
|
||||
var width: any = panel.legend.rightSide && panel.legend.sideWidth ? panel.legend.sideWidth + 'px' : '';
|
||||
var ieWidth: any = panel.legend.rightSide && panel.legend.sideWidth ? panel.legend.sideWidth - 1 + 'px' : '';
|
||||
|
@@ -31,7 +31,7 @@ export class SeriesOverridesCtrl {
|
||||
|
||||
$scope.override[item.propertyName] = subItem.value;
|
||||
|
||||
// automatically disable lines for this series and the fill bellow to series
|
||||
// automatically disable lines for this series and the fill below to series
|
||||
// can be removed by the user if they still want lines
|
||||
if (item.propertyName === 'fillBelowTo') {
|
||||
$scope.override['lines'] = false;
|
||||
|
@@ -221,7 +221,7 @@ describe('when transforming time series table', () => {
|
||||
expect(table.rows[0][2]).toBe(42);
|
||||
});
|
||||
|
||||
it('should return 2 rows for a mulitple queries with same label values plus one extra row', () => {
|
||||
it('should return 2 rows for a multiple queries with same label values plus one extra row', () => {
|
||||
table = transformDataToTable(multipleQueriesDataSameLabels, panel);
|
||||
expect(table.rows.length).toBe(2);
|
||||
expect(table.rows[0][0]).toBe(time);
|
||||
@@ -238,7 +238,7 @@ describe('when transforming time series table', () => {
|
||||
expect(table.rows[1][5]).toBe(7);
|
||||
});
|
||||
|
||||
it('should return 2 rows for mulitple queries with different label values', () => {
|
||||
it('should return 2 rows for multiple queries with different label values', () => {
|
||||
table = transformDataToTable(multipleQueriesDataDifferentLabels, panel);
|
||||
expect(table.rows.length).toBe(2);
|
||||
expect(table.columns.length).toBe(6);
|
||||
|
@@ -243,7 +243,7 @@ transformers['table'] = {
|
||||
row[columnIndex] = matchedRow[columnIndex];
|
||||
}
|
||||
}
|
||||
// Dont visit this row again
|
||||
// Don't visit this row again
|
||||
mergedRows[match] = matchedRow;
|
||||
// Keep looking for more rows to merge
|
||||
offset = match + 1;
|
||||
|
@@ -22,7 +22,7 @@ var dashboard;
|
||||
// All url parameters are available via the ARGS object
|
||||
var ARGS;
|
||||
|
||||
// Intialize a skeleton with nothing but a rows array and service object
|
||||
// Initialize a skeleton with nothing but a rows array and service object
|
||||
dashboard = {
|
||||
rows : [],
|
||||
schemaVersion: 13,
|
||||
|
Reference in New Issue
Block a user