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
3c361f98
Commit
3c361f98
authored
May 17, 2013
by
Rashid Khan
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #92 from rashidkpc/master
Highlighting
parents
41ef049b
8b34477b
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
69 additions
and
13 deletions
+69
-13
common/css/main.css
+1
-0
panels/derivequeries/module.js
+0
-1
panels/table/editor.html
+14
-1
panels/table/module.html
+4
-4
panels/table/module.js
+50
-7
No files found.
common/css/main.css
View file @
3c361f98
...
@@ -60,6 +60,7 @@
...
@@ -60,6 +60,7 @@
margin
:
0px
;
margin
:
0px
;
}
}
[
ng
\
:cloak
],
[
ng-cloak
],
.ng-cloak
{
[
ng
\
:cloak
],
[
ng-cloak
],
.ng-cloak
{
display
:
none
!important
;
display
:
none
!important
;
}
}
...
...
panels/derivequeries/module.js
View file @
3c361f98
...
@@ -83,7 +83,6 @@ angular.module('kibana.derivequeries', [])
...
@@ -83,7 +83,6 @@ angular.module('kibana.derivequeries', [])
_
.
each
(
results
.
facets
.
query
.
terms
,
function
(
v
)
{
_
.
each
(
results
.
facets
.
query
.
terms
,
function
(
v
)
{
data
.
push
(
$scope
.
panel
.
field
+
':"'
+
v
.
term
+
'"'
)
data
.
push
(
$scope
.
panel
.
field
+
':"'
+
v
.
term
+
'"'
)
});
});
console
.
log
(
data
)
$scope
.
send_query
(
data
)
$scope
.
send_query
(
data
)
});
});
}
}
...
...
panels/table/editor.html
View file @
3c361f98
...
@@ -16,10 +16,23 @@
...
@@ -16,10 +16,23 @@
</form>
</form>
</div>
</div>
<div
class=
"span8"
>
<div
class=
"span8"
>
<h6>
Selected field
s
<small>
Click to remove
</small></h6>
<h6>
Column
s
<small>
Click to remove
</small></h6>
<span
style=
"margin-left:3px"
ng-click=
"toggle_field(field)"
ng-repeat=
"field in $parent.panel.fields"
class=
"label remove pointer"
>
{{field}}
</span>
<span
style=
"margin-left:3px"
ng-click=
"toggle_field(field)"
ng-repeat=
"field in $parent.panel.fields"
class=
"label remove pointer"
>
{{field}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"row-fluid"
>
<div
class=
"span4"
>
<form
class=
"input-append"
>
<h6>
Add field
</h6>
<input
bs-typeahead=
"fields.list"
type=
"text"
class=
"input-small"
ng-model=
'newhighlight'
ng-change=
"set_refresh(true)"
>
<button
class=
"btn"
ng-click=
"toggle_highlight(newhighlight);newhighlight=''"
><i
class=
"icon-plus"
></i></button>
</form>
</div>
<div
class=
"span8"
>
<h6>
Highlighted fields
<small>
Click to remove
</small></h6>
<span
style=
"margin-left:3px"
ng-click=
"toggle_highlight(field);set_refresh(true)"
ng-repeat=
"field in $parent.panel.highlight"
class=
"label remove pointer"
>
{{field}}
</span>
</div>
</div>
<h5>
Options
</h5>
<h5>
Options
</h5>
<div
class=
"row-fluid"
>
<div
class=
"row-fluid"
>
<div
class=
"span1"
>
<div
class=
"span1"
>
...
...
panels/table/module.html
View file @
3c361f98
...
@@ -35,8 +35,8 @@
...
@@ -35,8 +35,8 @@
</thead>
</thead>
<tbody
ng-repeat=
"row in data.slice(panel.offset,panel.offset+panel.size)"
ng-class-odd=
"'odd'"
>
<tbody
ng-repeat=
"row in data.slice(panel.offset,panel.offset+panel.size)"
ng-class-odd=
"'odd'"
>
<tr
ng-click=
"toggle_details(row)"
>
<tr
ng-click=
"toggle_details(row)"
class=
"pointer"
>
<td
ng-repeat=
"field in panel.fields"
>
{{row[field]}}
</td>
<td
ng-repeat=
"field in panel.fields"
ng-bind-html-unsafe=
"(row.highlight[field]||row._source[field]) | highlight"
>
</td>
</tr>
</tr>
<tr
ng-show=
"row.kibana.details"
>
<tr
ng-show=
"row.kibana.details"
>
<td
colspan=
1000
>
<td
colspan=
1000
>
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
<th>
Action
</th>
<th>
Action
</th>
<th>
Value
</th>
<th>
Value
</th>
</thead>
</thead>
<tr
ng-repeat=
"(key,value) in row.kibana.details"
ng-class-odd=
"'odd'"
>
<tr
ng-repeat=
"(key,value) in row.kibana.details
._source
"
ng-class-odd=
"'odd'"
>
<td>
{{key}}
</td>
<td>
{{key}}
</td>
<td>
<td>
<i
class=
'icon-search pointer'
ng-click=
"build_search(key,value)"
></i>
<i
class=
'icon-search pointer'
ng-click=
"build_search(key,value)"
></i>
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
<div
class=
"row-fluid"
ng-show=
"panel.paging"
>
>
<div
class=
"row-fluid"
ng-show=
"panel.paging"
>
<div
class=
"span1 offset3"
style=
"text-align:right"
>
<div
class=
"span1 offset3"
style=
"text-align:right"
>
<i
ng-click=
"panel.offset = 0"
ng-show=
"panel.offset > 0"
class=
'icon-circle-arrow-left pointer'
></i>
<i
ng-click=
"panel.offset = 0"
ng-show=
"panel.offset > 0"
class=
'icon-circle-arrow-left pointer'
></i>
<i
ng-click=
"panel.offset = (panel.offset - panel.size)"
ng-show=
"panel.offset > 0"
class=
'icon-arrow-left pointer'
></i>
<i
ng-click=
"panel.offset = (panel.offset - panel.size)"
ng-show=
"panel.offset > 0"
class=
'icon-arrow-left pointer'
></i>
...
...
panels/table/module.js
View file @
3c361f98
...
@@ -39,6 +39,7 @@ angular.module('kibana.table', [])
...
@@ -39,6 +39,7 @@ angular.module('kibana.table', [])
group
:
"default"
,
group
:
"default"
,
style
:
{
'font-size'
:
'9pt'
},
style
:
{
'font-size'
:
'9pt'
},
fields
:
[],
fields
:
[],
highlight
:
[],
sortable
:
true
,
sortable
:
true
,
header
:
true
,
header
:
true
,
paging
:
true
,
paging
:
true
,
...
@@ -92,6 +93,13 @@ angular.module('kibana.table', [])
...
@@ -92,6 +93,13 @@ angular.module('kibana.table', [])
broadcast_results
();
broadcast_results
();
}
}
$scope
.
toggle_highlight
=
function
(
field
)
{
if
(
_
.
indexOf
(
$scope
.
panel
.
highlight
,
field
)
>
-
1
)
$scope
.
panel
.
highlight
=
_
.
without
(
$scope
.
panel
.
highlight
,
field
)
else
$scope
.
panel
.
highlight
.
push
(
field
)
}
$scope
.
toggle_details
=
function
(
row
)
{
$scope
.
toggle_details
=
function
(
row
)
{
row
.
kibana
=
row
.
kibana
||
{};
row
.
kibana
=
row
.
kibana
||
{};
row
.
kibana
.
details
=
!
row
.
kibana
.
details
?
$scope
.
without_kibana
(
row
)
:
false
;
row
.
kibana
.
details
=
!
row
.
kibana
.
details
?
$scope
.
without_kibana
(
row
)
:
false
;
...
@@ -129,6 +137,12 @@ angular.module('kibana.table', [])
...
@@ -129,6 +137,12 @@ angular.module('kibana.table', [])
.
to
(
$scope
.
time
.
to
)
.
to
(
$scope
.
time
.
to
)
)
)
)
)
.
highlight
(
ejs
.
Highlight
(
$scope
.
panel
.
highlight
)
.
fragmentSize
(
2147483647
)
// Max size of a 32bit unsigned int
.
preTags
(
'@start-highlight@'
)
.
postTags
(
'@end-highlight@'
)
)
.
size
(
$scope
.
panel
.
size
*
$scope
.
panel
.
pages
)
.
size
(
$scope
.
panel
.
size
*
$scope
.
panel
.
pages
)
.
sort
(
$scope
.
panel
.
sort
[
0
],
$scope
.
panel
.
sort
[
1
]);
.
sort
(
$scope
.
panel
.
sort
[
0
],
$scope
.
panel
.
sort
[
1
]);
...
@@ -155,14 +169,17 @@ angular.module('kibana.table', [])
...
@@ -155,14 +169,17 @@ angular.module('kibana.table', [])
// Check that we're still on the same query, if not stop
// Check that we're still on the same query, if not stop
if
(
$scope
.
query_id
===
query_id
)
{
if
(
$scope
.
query_id
===
query_id
)
{
$scope
.
data
=
$scope
.
data
.
concat
(
_
.
map
(
results
.
hits
.
hits
,
function
(
hit
)
{
$scope
.
data
=
$scope
.
data
.
concat
(
_
.
map
(
results
.
hits
.
hits
,
function
(
hit
)
{
return
flatten_json
(
hit
[
'_source'
]);
return
{
_source
:
flatten_json
(
hit
[
'_source'
]),
highlight
:
flatten_json
(
hit
[
'highlight'
]
||
{})
}
}));
}));
$scope
.
hits
+=
results
.
hits
.
total
;
$scope
.
hits
+=
results
.
hits
.
total
;
// Sort the data
// Sort the data
$scope
.
data
=
_
.
sortBy
(
$scope
.
data
,
function
(
v
){
$scope
.
data
=
_
.
sortBy
(
$scope
.
data
,
function
(
v
){
return
v
[
$scope
.
panel
.
sort
[
0
]]
return
v
.
_source
[
$scope
.
panel
.
sort
[
0
]]
});
});
// Reverse if needed
// Reverse if needed
...
@@ -177,7 +194,7 @@ angular.module('kibana.table', [])
...
@@ -177,7 +194,7 @@ angular.module('kibana.table', [])
}
}
// This breaks, use $scope.data for this
// This breaks, use $scope.data for this
$scope
.
all_fields
=
get_all_fields
(
$scope
.
data
);
$scope
.
all_fields
=
get_all_fields
(
_
.
pluck
(
$scope
.
data
,
'_source'
)
);
broadcast_results
();
broadcast_results
();
// If we're not sorting in reverse chrono order, query every index for
// If we're not sorting in reverse chrono order, query every index for
...
@@ -205,9 +222,10 @@ angular.module('kibana.table', [])
...
@@ -205,9 +222,10 @@ angular.module('kibana.table', [])
}
}
$scope
.
without_kibana
=
function
(
row
)
{
$scope
.
without_kibana
=
function
(
row
)
{
row
=
_
.
clone
(
row
)
return
{
delete
row
.
kibana
_source
:
row
.
_source
,
return
row
highlight
:
row
.
highlight
}
}
}
// Broadcast a list of all fields. Note that receivers of field array
// Broadcast a list of all fields. Note that receivers of field array
...
@@ -222,15 +240,39 @@ angular.module('kibana.table', [])
...
@@ -222,15 +240,39 @@ angular.module('kibana.table', [])
eventBus
.
broadcast
(
$scope
.
$id
,
$scope
.
panel
.
group
,
"table_documents"
,
eventBus
.
broadcast
(
$scope
.
$id
,
$scope
.
panel
.
group
,
"table_documents"
,
{
{
query
:
$scope
.
panel
.
query
,
query
:
$scope
.
panel
.
query
,
docs
:
$scope
.
data
,
docs
:
_
.
pluck
(
$scope
.
data
,
'_source'
)
,
index
:
$scope
.
index
index
:
$scope
.
index
});
});
}
}
$scope
.
set_refresh
=
function
(
state
)
{
$scope
.
refresh
=
state
;
}
$scope
.
close_edit
=
function
()
{
if
(
$scope
.
refresh
)
$scope
.
get_data
();
$scope
.
refresh
=
false
;
}
function
set_time
(
time
)
{
function
set_time
(
time
)
{
$scope
.
time
=
time
;
$scope
.
time
=
time
;
$scope
.
index
=
_
.
isUndefined
(
time
.
index
)
?
$scope
.
index
:
time
.
index
$scope
.
index
=
_
.
isUndefined
(
time
.
index
)
?
$scope
.
index
:
time
.
index
$scope
.
get_data
();
$scope
.
get_data
();
}
}
})
.
filter
(
'highlight'
,
function
()
{
return
function
(
text
)
{
if
(
text
.
toString
().
length
)
{
return
text
.
toString
().
replace
(
/&/g
,
'&'
).
replace
(
/</g
,
'<'
).
replace
(
/>/g
,
'>'
).
replace
(
/@start-highlight@/g
,
'<code class="highlight">'
).
replace
(
/@end-highlight@/g
,
'</code>'
)
}
return
''
;
}
});
});
\ No newline at end of file
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