Repository: eagle
Updated Branches:
  refs/heads/master 255f00f17 -> 71522d956


[EAGLE-909] UI Policy definition require siteID

add siteId in def page.
check submit if not siteId config

Author: zombieJ <[email protected]>

Closes #814 from zombieJ/EAGLE-909.


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

Branch: refs/heads/master
Commit: 71522d95648d93cf8791c4a4112d3756a0b601bc
Parents: 255f00f
Author: zombieJ <[email protected]>
Authored: Fri Feb 17 18:57:45 2017 +0800
Committer: Hao Chen <[email protected]>
Committed: Fri Feb 17 18:57:45 2017 +0800

----------------------------------------------------------------------
 .../partials/alert/policyEdit/advancedMode.html | 18 +++++---
 .../webapp/app/dev/public/js/ctrls/alertCtrl.js |  2 +-
 .../app/dev/public/js/ctrls/alertEditCtrl.js    | 45 +++++++++++---------
 3 files changed, 38 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/eagle/blob/71522d95/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
----------------------------------------------------------------------
diff --git 
a/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
 
b/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
index 995a8a5..a2c09f1 100644
--- 
a/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
+++ 
b/eagle-server/src/main/webapp/app/dev/partials/alert/policyEdit/advancedMode.html
@@ -36,17 +36,21 @@
                                </div>
                        </div>
                        <div class="box-body">
+                               <div class="form-group">
+                                       <label>* Site</label>
+                                       <select class="form-control" 
ng-model="policy.siteId">
+                                               <option ng-repeat="site in 
Site.list track by $index" value="{{site.siteId}}">
+                                                       {{site.siteName || 
site.siteId}}
+                                               </option>
+                                       </select>
+                               </div>
+                               <hr />
+
                                <div ng-show="sourceTab === 'all'">
                                        <div class="input-with-icon">
-                                               <input type="text" 
class="form-control" placeholder="Search..." ng-model="searchSourceKey" />
+                                               <input type="text" 
class="form-control" placeholder="Filter..." ng-model="searchSourceKey" />
                                                <span class="fa 
fa-search"></span>
                                        </div>
-                                       <p>
-                                               Group Type:
-                                               <a ng-class="{'text-bold': 
searchType === 'app'}" ng-click="searchType = 'app'">Application</a>
-                                               /
-                                               <a ng-class="{'text-bold': 
searchType === 'site'}" ng-click="searchType = 'site'">Site</a>
-                                       </p>
 
                                        <p ng-hide="getSearchApplication()" 
class="text-warning">No stream match</p>
                                        <div ng-show="getSearchApplication()">

http://git-wip-us.apache.org/repos/asf/eagle/blob/71522d95/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertCtrl.js
----------------------------------------------------------------------
diff --git a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertCtrl.js 
b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertCtrl.js
index c866efb..d464858 100644
--- a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertCtrl.js
+++ b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertCtrl.js
@@ -150,7 +150,7 @@
 
                        if ($scope.siteFilter) {
                                $scope.policyList = $.grep(originPolicyList, 
function (policy) {
-                                       return policy.definition.siteId === 
$scope.siteFilter;
+                                       return policy.siteId === 
$scope.siteFilter;
                                });
                        } else {
                                $scope.policyList = originPolicyList;

http://git-wip-us.apache.org/repos/asf/eagle/blob/71522d95/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertEditCtrl.js
----------------------------------------------------------------------
diff --git 
a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertEditCtrl.js 
b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertEditCtrl.js
index f079e76..9b62f6a 100644
--- a/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertEditCtrl.js
+++ b/eagle-server/src/main/webapp/app/dev/public/js/ctrls/alertEditCtrl.js
@@ -78,11 +78,10 @@
                }, $scope.policy);
                console.log("[Policy]", $scope.policy);
 
-               var cacheSearchType;
+               var cacheSiteId;
                var cacheSearchSourceKey;
                var searchApplications;
 
-               $scope.searchType = "app";
                $scope.searchSourceKey = "";
                $scope.applications = {};
                $scope.newPolicy = !$scope.policy.name;
@@ -105,25 +104,32 @@
                // =                        Input Stream                        
=
                // 
==============================================================
                $scope.getSearchApplication = function() {
-                       if(cacheSearchSourceKey !== 
$scope.searchSourceKey.toUpperCase() || cacheSearchType !== $scope.searchType) {
+                       var siteId = $scope.policy.siteId;
+
+                       if(cacheSearchSourceKey !== 
$scope.searchSourceKey.toUpperCase() || cacheSiteId !== siteId) {
                                var match = false;
-                               cacheSearchSourceKey = 
$scope.searchSourceKey.toUpperCase();
-                               cacheSearchType = $scope.searchType;
-
-                               searchApplications = {};
-                               $.each($scope.applications, function (appName, 
streams) {
-                                       $.each(streams, function (i, stream) {
-                                               var groupName = cacheSearchType 
=== "app" ? stream.dataSource : stream.siteId;
-                                               if(
-                                                       
groupName.toUpperCase().indexOf(cacheSearchSourceKey) >= 0 ||
-                                                       
stream.streamId.toUpperCase().indexOf(cacheSearchSourceKey) >= 0
-                                               ) {
-                                                       match = true;
-                                                       var group = 
searchApplications[groupName] = searchApplications[groupName] || [];
-                                                       group.push(stream);
-                                               }
+
+                               if (siteId) {
+                                       cacheSearchSourceKey = 
$scope.searchSourceKey.toUpperCase();
+                                       cacheSiteId = siteId;
+
+                                       searchApplications = {};
+                                       $.each($scope.applications, function 
(appName, streams) {
+                                               $.each(streams, function (i, 
stream) {
+                                                       var groupName = 
stream.dataSource;
+                                                       if(
+                                                               stream.siteId 
=== siteId && (
+                                                                       
groupName.toUpperCase().indexOf(cacheSearchSourceKey) >= 0 ||
+                                                                       
stream.streamId.toUpperCase().indexOf(cacheSearchSourceKey) >= 0
+                                                               )
+                                                       ) {
+                                                               match = true;
+                                                               var group = 
searchApplications[groupName] = searchApplications[groupName] || [];
+                                                               
group.push(stream);
+                                                       }
+                                               });
                                        });
-                               });
+                               }
 
                                if(!match) {
                                        searchApplications = null;
@@ -336,6 +342,7 @@
                                $scope.policy.name &&
                                !$scope.checkPolicyName() &&
                                
common.number.parse($scope.policy.parallelismHint) > 0 &&
+                               $scope.policy.siteId &&
                                $scope.policy.definition.value &&
                                $scope.policy.outputStreams.length &&
                                $scope.policyPublisherList.length

Reply via email to