ONOS-7021 Application View: Add Filter Widget
Change-Id: I71d027921b06203fadfa7b2b95a28cf0714c0c90
diff --git a/web/gui/src/main/webapp/app/view/app/app.html b/web/gui/src/main/webapp/app/view/app/app.html
index db5d69b..71582e2 100644
--- a/web/gui/src/main/webapp/app/view/app/app.html
+++ b/web/gui/src/main/webapp/app/view/app/app.html
@@ -44,6 +44,22 @@
ng-class="{active: ctrlBtnState.selection}">
</div>
</div>
+
+ <div class="search">
+ <input type="text" ng-model="queryTxt" placeholder="Search"/>
+ <select ng-model="queryBy">
+ <option value="" disabled>Search By</option>
+ <option value="$">All Fields</option>
+ <option value="title">{{lion('title')}}</option>
+ <option value="id">{{lion('app_id')}}</option>
+ <option value="version">{{lion('version')}}</option>
+ <option value="category">{{lion('category')}}</option>
+ <option value="apporiginName">{{lion('origin')}}</option>
+
+ </select>
+ </div>
+
+
</div>
<div class="summary-list" onos-table-resize>
@@ -69,7 +85,7 @@
</td>
</tr>
- <tr ng-repeat="app in tableData track by $index"
+ <tr ng-repeat="app in tableData | filter:queryFilter track by $index"
ng-click="selectCallback($event, app)"
ng-class="{selected: app.id === selId}"
ng-repeat-complete row-id="{{app.id}}">
diff --git a/web/gui/src/main/webapp/app/view/app/app.js b/web/gui/src/main/webapp/app/view/app/app.js
index 5a2272e..b02979f 100644
--- a/web/gui/src/main/webapp/app/view/app/app.js
+++ b/web/gui/src/main/webapp/app/view/app/app.js
@@ -402,6 +402,15 @@
ds.closeDialog();
});
+ Object.defineProperty($scope, 'queryFilter', {
+ get: function () {
+ var out = {};
+ out[$scope.queryBy || '$'] = $scope.queryTxt;
+ return out;
+ },
+ });
+
+
$log.log('OvAppCtrl has been created');
}])