mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Added limit to dashboard list panel and search
This commit is contained in:
parent
b6d5f49c0f
commit
8e1b753664
@ -33,6 +33,11 @@ func setIsStarredFlagOnSearchResults(c *middleware.Context, hits []*m.DashboardS
|
|||||||
func Search(c *middleware.Context) {
|
func Search(c *middleware.Context) {
|
||||||
queryText := c.Query("q")
|
queryText := c.Query("q")
|
||||||
starred := c.Query("starred")
|
starred := c.Query("starred")
|
||||||
|
limit := c.QueryInt("limit")
|
||||||
|
|
||||||
|
if limit == 0 {
|
||||||
|
limit = 200
|
||||||
|
}
|
||||||
|
|
||||||
result := m.SearchResult{
|
result := m.SearchResult{
|
||||||
Dashboards: []*m.DashboardSearchHit{},
|
Dashboards: []*m.DashboardSearchHit{},
|
||||||
@ -58,6 +63,7 @@ func Search(c *middleware.Context) {
|
|||||||
Title: matches[3],
|
Title: matches[3],
|
||||||
Tag: matches[2],
|
Tag: matches[2],
|
||||||
UserId: c.UserId,
|
UserId: c.UserId,
|
||||||
|
Limit: limit,
|
||||||
IsStarred: starred == "1",
|
IsStarred: starred == "1",
|
||||||
AccountId: c.AccountId,
|
AccountId: c.AccountId,
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ type SearchDashboardsQuery struct {
|
|||||||
Tag string
|
Tag string
|
||||||
AccountId int64
|
AccountId int64
|
||||||
UserId int64
|
UserId int64
|
||||||
|
Limit int
|
||||||
IsStarred bool
|
IsStarred bool
|
||||||
|
|
||||||
Result []*DashboardSearchHit
|
Result []*DashboardSearchHit
|
||||||
|
@ -2,6 +2,7 @@ package sqlstore
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/go-xorm/xorm"
|
"github.com/go-xorm/xorm"
|
||||||
"github.com/grafana/grafana/pkg/bus"
|
"github.com/grafana/grafana/pkg/bus"
|
||||||
@ -116,6 +117,8 @@ func SearchDashboards(query *m.SearchDashboardsQuery) error {
|
|||||||
params = append(params, query.Tag)
|
params = append(params, query.Tag)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sql.WriteString(fmt.Sprintf(" LIMIT %d", query.Limit))
|
||||||
|
|
||||||
var res []DashboardSearchProjection
|
var res []DashboardSearchProjection
|
||||||
err := x.Sql(sql.String(), params...).Find(&res)
|
err := x.Sql(sql.String(), params...).Find(&res)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -19,18 +19,18 @@
|
|||||||
<div class="section">
|
<div class="section">
|
||||||
<div class="tight-form">
|
<div class="tight-form">
|
||||||
<ul class="tight-form-list">
|
<ul class="tight-form-list">
|
||||||
<li class="tight-form-item" style="width: 160px">
|
<li class="tight-form-item" style="width: 150px">
|
||||||
<strong>Dashboard source</strong>
|
<strong>Dashboard source</strong>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<select type="text" ng-model="sourceName" class="input-small tight-form-input" ng-options="f for f in datasources">
|
<select type="text" ng-model="sourceName" class="input-medium tight-form-input" ng-options="f for f in datasources">
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="tight-form-item" style="width: 160px">
|
<li class="tight-form-item">
|
||||||
<strong>Destination</strong>
|
<strong>Destination</strong>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<select type="text" ng-model="destName" class="input-small tight-form-input" ng-options="f for f in datasources">
|
<select type="text" ng-model="destName" class="input-medium tight-form-input" ng-options="f for f in datasources">
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -39,3 +39,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="editor-row">
|
||||||
|
<div class="section" style="margin-bottom: 20px">
|
||||||
|
<div class="tight-form">
|
||||||
|
<ul class="tight-form-list">
|
||||||
|
<li class="tight-form-item" style="width: 110px">
|
||||||
|
<strong>Limit number to</strong>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<input class="input-small tight-form-input" type="number" ng-model="panel.limit" ng-model-onblur ng-change="get_data">
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ function (angular, app, _, config, PanelMeta) {
|
|||||||
var defaults = {
|
var defaults = {
|
||||||
mode: 'starred',
|
mode: 'starred',
|
||||||
query: '',
|
query: '',
|
||||||
|
limit: 10,
|
||||||
tag: '',
|
tag: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -51,7 +52,9 @@ function (angular, app, _, config, PanelMeta) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
$scope.get_data = function() {
|
$scope.get_data = function() {
|
||||||
var params = {};
|
var params = {
|
||||||
|
limit: $scope.panel.limit
|
||||||
|
};
|
||||||
if ($scope.panel.mode === 'starred') {
|
if ($scope.panel.mode === 'starred') {
|
||||||
params.starred = 1;
|
params.starred = 1;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user