Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
b8290305
Commit
b8290305
authored
Apr 10, 2013
by
Rashid Khan
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #38 from rashidkpc/master
fix wrong height on rows
parents
84689768
eb551491
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
26 additions
and
40 deletions
+26
-40
panels/histogram/editor.html
+3
-3
panels/histogram/module.html
+1
-1
panels/histogram/module.js
+16
-25
panels/hits/module.html
+2
-2
panels/hits/module.js
+3
-8
partials/dashboard.html
+1
-1
No files found.
panels/histogram/editor.html
View file @
b8290305
...
@@ -33,14 +33,14 @@
...
@@ -33,14 +33,14 @@
</div>
</div>
</div>
</div>
<h5>
Chart Options
</h5>
<h5>
Chart Options
</h5>
<div
class=
"row-fluid"
>
<div
class=
"row-fluid"
style=
"margin-bottom:10px;"
>
<div
class=
"span1"
>
<label
class=
"small"
>
Bars
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.bars"
ng-checked=
"panel.bars"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Bars
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.bars"
ng-checked=
"panel.bars"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Lines
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.lines"
ng-checked=
"panel.lines"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Lines
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.lines"
ng-checked=
"panel.lines"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Points
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.points"
ng-checked=
"panel.points"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Points
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.points"
ng-checked=
"panel.points"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Stack
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.stack"
ng-checked=
"panel.stack"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Stack
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.stack"
ng-checked=
"panel.stack"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Legend
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.legend"
ng-checked=
"panel.legend"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
Legend
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel.legend"
ng-checked=
"panel.legend"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
x
-
Axis
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel['x-axis']"
ng-checked=
"panel['x-axis']"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
xAxis
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel['x-axis']"
ng-checked=
"panel['x-axis']"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
y
-
Axis
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel['y-axis']"
ng-checked=
"panel['y-axis']"
></div>
<div
class=
"span1"
>
<label
class=
"small"
>
yAxis
</label><input
ng-change=
"$emit('render')"
type=
"checkbox"
ng-model=
"panel['y-axis']"
ng-checked=
"panel['y-axis']"
></div>
<div
class=
"span2"
ng-show=
"panel.lines"
>
<div
class=
"span2"
ng-show=
"panel.lines"
>
<label
class=
"small"
>
Line Fill
</label>
<label
class=
"small"
>
Line Fill
</label>
<select
ng-change=
"$emit('render')"
class=
"input-mini"
ng-model=
"panel.fill"
ng-options=
"f for f in [0,1,2,3,4,5,6,7,8,9,10]"
></select>
<select
ng-change=
"$emit('render')"
class=
"input-mini"
ng-model=
"panel.fill"
ng-options=
"f for f in [0,1,2,3,4,5,6,7,8,9,10]"
></select>
...
...
panels/histogram/module.html
View file @
b8290305
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<a
class=
'small'
ng-click=
'zoom(0.5)'
><i
class=
'icon-zoom-in'
></i>
Zoom In
</a>
<a
class=
'small'
ng-click=
'zoom(0.5)'
><i
class=
'icon-zoom-in'
></i>
Zoom In
</a>
<a
class=
'small'
ng-click=
'zoom(2)'
><i
class=
'icon-zoom-out'
></i>
Zoom Out
</a>
<a
class=
'small'
ng-click=
'zoom(2)'
><i
class=
'icon-zoom-out'
></i>
Zoom Out
</a>
</span>
|
</span>
|
<span
ng-show=
"panel.legend"
ng-repeat=
'series in
legend
'
style=
'display:inline-block;padding-right:5px'
>
<span
ng-show=
"panel.legend"
ng-repeat=
'series in
plot.getData()
'
style=
'display:inline-block;padding-right:5px'
>
<div
style=
"display:inline-block;background:{{series.color}};height:10px;width:10px;border-radius:5px;"
></div>
<div
style=
"display:inline-block;background:{{series.color}};height:10px;width:10px;border-radius:5px;"
></div>
<div
class=
'small'
style=
'display:inline-block'
>
{{series.label}} ({{series.hits}})
</div>
<div
class=
'small'
style=
'display:inline-block'
>
{{series.label}} ({{series.hits}})
</div>
</span><span
class=
"small"
>
per
<strong>
{{panel.interval}}
</strong>
| (
<strong>
{{hits}}
</strong>
total)
</span>
</span><span
class=
"small"
>
per
<strong>
{{panel.interval}}
</strong>
| (
<strong>
{{hits}}
</strong>
total)
</span>
...
...
panels/histogram/module.js
View file @
b8290305
...
@@ -23,6 +23,8 @@ angular.module('kibana.histogram', [])
...
@@ -23,6 +23,8 @@ angular.module('kibana.histogram', [])
$scope
.
init
=
function
()
{
$scope
.
init
=
function
()
{
eventBus
.
register
(
$scope
,
'time'
,
function
(
event
,
time
){
$scope
.
set_time
(
time
)});
eventBus
.
register
(
$scope
,
'time'
,
function
(
event
,
time
){
$scope
.
set_time
(
time
)});
// Consider eliminating the check for array, this should always be an array
eventBus
.
register
(
$scope
,
'query'
,
function
(
event
,
query
)
{
eventBus
.
register
(
$scope
,
'query'
,
function
(
event
,
query
)
{
if
(
_
.
isArray
(
query
))
{
if
(
_
.
isArray
(
query
))
{
$scope
.
panel
.
query
=
_
.
map
(
query
,
function
(
q
)
{
$scope
.
panel
.
query
=
_
.
map
(
query
,
function
(
q
)
{
...
@@ -33,6 +35,7 @@ angular.module('kibana.histogram', [])
...
@@ -33,6 +35,7 @@ angular.module('kibana.histogram', [])
}
}
$scope
.
get_data
();
$scope
.
get_data
();
});
});
// Now that we're all setup, request the time from our group if we don't
// Now that we're all setup, request the time from our group if we don't
// have it yet
// have it yet
if
(
_
.
isUndefined
(
$scope
.
time
))
if
(
_
.
isUndefined
(
$scope
.
time
))
...
@@ -60,9 +63,8 @@ angular.module('kibana.histogram', [])
...
@@ -60,9 +63,8 @@ angular.module('kibana.histogram', [])
if
(
_
.
isUndefined
(
$scope
.
panel
.
index
)
||
_
.
isUndefined
(
$scope
.
time
))
if
(
_
.
isUndefined
(
$scope
.
panel
.
index
)
||
_
.
isUndefined
(
$scope
.
time
))
return
return
var
_segment
=
_
.
isUndefined
(
segment
)
?
0
:
segment
$scope
.
panel
.
loading
=
true
;
$scope
.
panel
.
loading
=
true
;
var
_segment
=
_
.
isUndefined
(
segment
)
?
0
:
segment
var
request
=
$scope
.
ejs
.
Request
().
indices
(
$scope
.
panel
.
index
[
_segment
]);
var
request
=
$scope
.
ejs
.
Request
().
indices
(
$scope
.
panel
.
index
[
_segment
]);
// Build the question part of the query
// Build the question part of the query
...
@@ -76,7 +78,7 @@ angular.module('kibana.histogram', [])
...
@@ -76,7 +78,7 @@ angular.module('kibana.histogram', [])
)
)
});
});
// Build the facet part
// Build the facet part
, injecting the query in as a facet filter
_
.
each
(
queries
,
function
(
v
)
{
_
.
each
(
queries
,
function
(
v
)
{
request
=
request
request
=
request
.
facet
(
$scope
.
ejs
.
DateHistogramFacet
(
"chart"
+
_
.
indexOf
(
queries
,
v
))
.
facet
(
$scope
.
ejs
.
DateHistogramFacet
(
"chart"
+
_
.
indexOf
(
queries
,
v
))
...
@@ -86,6 +88,7 @@ angular.module('kibana.histogram', [])
...
@@ -86,6 +88,7 @@ angular.module('kibana.histogram', [])
).
size
(
0
)
).
size
(
0
)
})
})
// Populate the inspector panel
$scope
.
populate_modal
(
request
);
$scope
.
populate_modal
(
request
);
// Then run it
// Then run it
...
@@ -106,17 +109,11 @@ angular.module('kibana.histogram', [])
...
@@ -106,17 +109,11 @@ angular.module('kibana.histogram', [])
return
;
return
;
}
}
// Make sure we're still on the same query
if
(
$scope
.
query_id
===
query_id
)
{
if
(
$scope
.
query_id
===
query_id
)
{
var
i
=
0
;
var
i
=
0
;
_
.
each
(
results
.
facets
,
function
(
v
,
k
)
{
_
.
each
(
results
.
facets
,
function
(
v
,
k
)
{
// If this isn't a date histogram it must be a QueryFacet, get the
// count and return
if
(
v
.
_type
!==
'date_histogram'
)
{
//$scope.hits += v.count;
return
}
// Null values at each end of the time range ensure we see entire range
// Null values at each end of the time range ensure we see entire range
if
(
_
.
isUndefined
(
$scope
.
data
[
i
])
||
_segment
==
0
)
{
if
(
_
.
isUndefined
(
$scope
.
data
[
i
])
||
_segment
==
0
)
{
...
@@ -131,14 +128,14 @@ angular.module('kibana.histogram', [])
...
@@ -131,14 +128,14 @@ angular.module('kibana.histogram', [])
var
segment_data
=
[];
var
segment_data
=
[];
_
.
each
(
v
.
entries
,
function
(
v
,
k
)
{
_
.
each
(
v
.
entries
,
function
(
v
,
k
)
{
segment_data
.
push
([
v
[
'time'
],
v
[
'count'
]])
segment_data
.
push
([
v
[
'time'
],
v
[
'count'
]])
hits
+=
v
[
'count'
];
hits
+=
v
[
'count'
];
// The series level hits counter
$scope
.
hits
+=
v
[
'count'
];
$scope
.
hits
+=
v
[
'count'
];
// Entire dataset level hits counter
});
});
data
.
splice
.
apply
(
data
,[
1
,
0
].
concat
(
segment_data
))
data
.
splice
.
apply
(
data
,[
1
,
0
].
concat
(
segment_data
))
// Join histogram data
// Create the flot series
// Create the flot series
object
var
series
=
{
var
series
=
{
data
:
{
data
:
{
label
:
$scope
.
panel
.
query
[
i
].
label
||
"query"
+
(
parseInt
(
i
)
+
1
),
label
:
$scope
.
panel
.
query
[
i
].
label
||
"query"
+
(
parseInt
(
i
)
+
1
),
...
@@ -155,7 +152,10 @@ angular.module('kibana.histogram', [])
...
@@ -155,7 +152,10 @@ angular.module('kibana.histogram', [])
i
++
;
i
++
;
});
});
// Tell the histogram directive to render.
$scope
.
$emit
(
'render'
)
$scope
.
$emit
(
'render'
)
// If we still have segments left, get them
if
(
_segment
<
$scope
.
panel
.
index
.
length
-
1
)
{
if
(
_segment
<
$scope
.
panel
.
index
.
length
-
1
)
{
$scope
.
get_data
(
_segment
+
1
,
query_id
)
$scope
.
get_data
(
_segment
+
1
,
query_id
)
}
}
...
@@ -209,8 +209,6 @@ angular.module('kibana.histogram', [])
...
@@ -209,8 +209,6 @@ angular.module('kibana.histogram', [])
// Function for rendering panel
// Function for rendering panel
function
render_panel
()
{
function
render_panel
()
{
// Determine format
// Set barwidth based on specified interval
// Set barwidth based on specified interval
var
barwidth
=
interval_to_seconds
(
scope
.
panel
.
interval
)
*
1000
var
barwidth
=
interval_to_seconds
(
scope
.
panel
.
interval
)
*
1000
...
@@ -226,10 +224,8 @@ angular.module('kibana.histogram', [])
...
@@ -226,10 +224,8 @@ angular.module('kibana.histogram', [])
// Populate element
// Populate element
try
{
try
{
var
plot
=
$
.
plot
(
elem
,
scope
.
data
,
{
scope
.
plot
=
$
.
plot
(
elem
,
scope
.
data
,
{
legend
:
{
legend
:
{
show
:
false
},
show
:
false
,
},
series
:
{
series
:
{
stack
:
stack
,
stack
:
stack
,
lines
:
{
lines
:
{
...
@@ -264,11 +260,6 @@ angular.module('kibana.histogram', [])
...
@@ -264,11 +260,6 @@ angular.module('kibana.histogram', [])
},
},
colors
:
[
'#EB6841'
,
'#00A0B0'
,
'#6A4A3C'
,
'#EDC951'
,
'#CC333F'
]
colors
:
[
'#EB6841'
,
'#00A0B0'
,
'#6A4A3C'
,
'#EDC951'
,
'#CC333F'
]
})
})
scope
.
legend
=
[];
_
.
each
(
plot
.
getData
(),
function
(
series
)
{
scope
.
legend
.
push
(
_
.
pick
(
series
,
'label'
,
'color'
,
'hits'
))
})
// Work around for missing legend at initialization
// Work around for missing legend at initialization
if
(
!
scope
.
$$phase
)
if
(
!
scope
.
$$phase
)
...
...
panels/hits/module.html
View file @
b8290305
...
@@ -2,11 +2,11 @@
...
@@ -2,11 +2,11 @@
<div
ng-show=
"panel.counters"
>
<div
ng-show=
"panel.counters"
>
<p
ng-style=
"panel.style"
ng-show=
"panel.aggregate"
>
{{hits}}
</p>
<p
ng-style=
"panel.style"
ng-show=
"panel.aggregate"
>
{{hits}}
</p>
<table
ng-style=
"panel.style"
ng-show=
"!panel.aggregate && panel.arrangement == 'vertical'"
>
<table
ng-style=
"panel.style"
ng-show=
"!panel.aggregate && panel.arrangement == 'vertical'"
>
<tr
style=
"line-height:{{panel.style['font-size']}}"
ng-repeat=
"query in
data
"
>
<tr
style=
"line-height:{{panel.style['font-size']}}"
ng-repeat=
"query in
plot.getData()
"
>
<td
ng-show=
"panel.chart"
style=
"background:{{query.color}};width:{{panel.style['font-size']}}"
></td>
<td
style=
"padding-right:10px;padding-left:10px;"
>
{{query.label}}
</td><td>
{{query.hits}}
</td>
<td
ng-show=
"panel.chart"
style=
"background:{{query.color}};width:{{panel.style['font-size']}}"
></td>
<td
style=
"padding-right:10px;padding-left:10px;"
>
{{query.label}}
</td><td>
{{query.hits}}
</td>
</tr>
</tr>
</table>
</table>
<div
ng-style=
"panel.style"
ng-show=
"!panel.aggregate && panel.arrangement == 'horizontal'"
ng-repeat=
"query in
data
"
style=
"float:left;padding-left: 10px;"
>
<div
ng-style=
"panel.style"
ng-show=
"!panel.aggregate && panel.arrangement == 'horizontal'"
ng-repeat=
"query in
plot.getData()
"
style=
"float:left;padding-left: 10px;"
>
<span
ng-show=
'panel.chart'
><div
style=
"display:inline-block;border-radius:{{panel.style['font-size']}};background:{{query.color}};height:{{panel.style['font-size']}};width:{{panel.style['font-size']}}"
></div></span>
{{query.label}} ({{query.hits}})
<span
ng-show=
"!$last"
>
|
</span>
<span
ng-show=
'panel.chart'
><div
style=
"display:inline-block;border-radius:{{panel.style['font-size']}};background:{{query.color}};height:{{panel.style['font-size']}};width:{{panel.style['font-size']}}"
></div></span>
{{query.label}} ({{query.hits}})
<span
ng-show=
"!$last"
>
|
</span>
</div><br>
</div><br>
</div><div
style=
"clear:both"
></div>
</div><div
style=
"clear:both"
></div>
...
...
panels/hits/module.js
View file @
b8290305
...
@@ -147,8 +147,9 @@ angular.module('kibana.hits', [])
...
@@ -147,8 +147,9 @@ angular.module('kibana.hits', [])
// Populate element. Note that jvectormap appends, does not replace.
// Populate element. Note that jvectormap appends, does not replace.
scripts
.
wait
(
function
(){
scripts
.
wait
(
function
(){
// Populate element
// Populate element
try
{
try
{
var
plot
=
$
.
plot
(
elem
,
scope
.
data
,
{
// Add plot to scope so we can build out own legend
scope
.
plot
=
$
.
plot
(
elem
,
scope
.
data
,
{
legend
:
{
show
:
false
},
legend
:
{
show
:
false
},
series
:
{
series
:
{
lines
:
{
show
:
false
,
},
lines
:
{
show
:
false
,
},
...
@@ -166,12 +167,6 @@ angular.module('kibana.hits', [])
...
@@ -166,12 +167,6 @@ angular.module('kibana.hits', [])
},
},
colors
:
[
'#EB6841'
,
'#00A0B0'
,
'#6A4A3C'
,
'#EDC951'
,
'#CC333F'
]
colors
:
[
'#EB6841'
,
'#00A0B0'
,
'#6A4A3C'
,
'#EDC951'
,
'#CC333F'
]
})
})
var
i
=
0
;
_
.
each
(
plot
.
getData
(),
function
(
series
)
{
scope
.
data
[
i
].
color
=
series
.
color
;
i
++
;
})
// Work around for missing legend at initialization
// Work around for missing legend at initialization
if
(
!
scope
.
$$phase
)
if
(
!
scope
.
$$phase
)
...
...
partials/dashboard.html
View file @
b8290305
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"row-fluid container"
style=
"margin-top:10px"
>
<div
class=
"row-fluid container"
style=
"margin-top:10px"
>
<!-- Rows -->
<!-- Rows -->
<div
ng-controller=
"dashcontrol"
ng-init=
"init()"
></div>
<div
ng-controller=
"dashcontrol"
ng-init=
"init()"
></div>
<div
class=
"row-fluid kibana-row"
ng-controller=
"RowCtrl"
ng-repeat=
"(row_name, row) in dashboards.rows"
>
<div
class=
"row-fluid kibana-row"
ng-controller=
"RowCtrl"
ng-repeat=
"(row_name, row) in dashboards.rows"
style=
"min-height:{{row.height}};"
>
<div
class=
"row-control"
>
<div
class=
"row-control"
>
<div
class=
"row-fluid row-header"
style=
"padding:0px;margin:0px;height:0px"
>
<div
class=
"row-fluid row-header"
style=
"padding:0px;margin:0px;height:0px"
>
<div
style=
"vertical-align:bottom"
>
<div
style=
"vertical-align:bottom"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment