Repository: eagle
Updated Branches:
  refs/heads/master 737cf467f -> dd61a490e


[EAGLE-1049] Support metric filter in the metric preview page

https://issues.apache.org/jira/browse/EAGLE-1049

Support metric filter in the metric preview page

Author: zombieJ <smith3...@gmail.com>

Closes #953 from zombieJ/EAGLE-1049.


Project: http://git-wip-us.apache.org/repos/asf/eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/eagle/commit/dd61a490
Tree: http://git-wip-us.apache.org/repos/asf/eagle/tree/dd61a490
Diff: http://git-wip-us.apache.org/repos/asf/eagle/diff/dd61a490

Branch: refs/heads/master
Commit: dd61a490ebbbbc5c30dbb457aee72bf4a5fc225d
Parents: 737cf46
Author: zombieJ <smith3...@gmail.com>
Authored: Tue Jun 20 16:38:01 2017 +0800
Committer: Zhao, Qingwen <qingwz...@apache.org>
Committed: Tue Jun 20 16:38:01 2017 +0800

----------------------------------------------------------------------
 .../main/webapp/app/dev/partials/metric/preview.html  |  3 +++
 .../main/webapp/app/dev/public/js/ctrls/metricCtrl.js | 14 ++++++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/eagle/blob/dd61a490/eagle-server/src/main/webapp/app/dev/partials/metric/preview.html
----------------------------------------------------------------------
diff --git a/eagle-server/src/main/webapp/app/dev/partials/metric/preview.html 
b/eagle-server/src/main/webapp/app/dev/partials/metric/preview.html
index 0410dba..9957c3b 100644
--- a/eagle-server/src/main/webapp/app/dev/partials/metric/preview.html
+++ b/eagle-server/src/main/webapp/app/dev/partials/metric/preview.html
@@ -21,6 +21,9 @@
                <div class="box box-primary">
                        <div class="box-header with-border">
                                <h3 class="box-title">Configure</h3>
+                               <div class="box-tools pull-right">
+                                       <input class="form-control input-sm" 
type="text" placeholder="Metric Filter" ng-model="metricFilter" 
ng-change="updateMetricFilter()" />
+                               </div>
                        </div>
                        <div class="box-body">
                                <div class="form-group">

http://git-wip-us.apache.org/repos/asf/eagle/blob/dd61a490/eagle-server/src/main/webapp/app/dev/public/js/ctrls/metricCtrl.js
----------------------------------------------------------------------
diff --git a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/metricCtrl.js 
b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/metricCtrl.js
index 8edd8fd..bb50de9 100644
--- a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/metricCtrl.js
+++ b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/metricCtrl.js
@@ -30,6 +30,7 @@
                $scope.series = [];
                $scope.loading = false;
 
+               $scope.metricFilter = '';
                $scope.site = $wrapState.param.site || Site.list[0].siteId;
                $scope.metricName = $wrapState.param.metric;
                $scope.groups = $wrapState.param.groups;
@@ -39,18 +40,27 @@
 
                $scope.commonOption = {};
 
-               $scope.metricList = [$scope.metricName];
+               $scope.originMetricList = $scope.metricList = 
[$scope.metricName];
                CompatibleEntity.groups({
                        query: 'MetricSchemaService',
                        groups: 'metricName',
                        fields: 'count',
                        limit: 9999,
                })._promise.then(function (res) {
-                       $scope.metricList = $.map(res.data.obj, function (obj) {
+                       $scope.originMetricList = $.map(res.data.obj, function 
(obj) {
                                return obj.key[0];
                        }).sort();
+                       $scope.updateMetricFilter();
                });
 
+               $scope.updateMetricFilter = function () {
+                       var filter = $scope.metricFilter.toUpperCase();
+
+                       $scope.metricList = $.grep($scope.originMetricList, 
function (name) {
+                               return name.toUpperCase().indexOf(filter) !== 
-1;
+                       });
+               };
+
                $scope.loadSeries = function() {
                        $scope.currentMetricName = $scope.metricName;
 

Reply via email to