Kouhei Sutou
null+****@clear*****
Mon Nov 23 12:53:03 JST 2015
Kouhei Sutou 2015-11-23 12:53:03 +0900 (Mon, 23 Nov 2015) New Revision: 3441cb0d953abcf0dad0af1a0309aa35993ed515 https://github.com/groonga/groonga-admin/commit/3441cb0d953abcf0dad0af1a0309aa35993ed515 Message: Support auto refresh Modified files: app/scripts/controllers/table-search-controller.js app/views/tables/search.html Modified: app/scripts/controllers/table-search-controller.js (+32 -2) =================================================================== --- app/scripts/controllers/table-search-controller.js 2015-11-23 11:54:42 +0900 (a40c912) +++ app/scripts/controllers/table-search-controller.js 2015-11-23 12:53:03 +0900 (c727346) @@ -9,10 +9,23 @@ */ angular.module('groongaAdminApp') .controller('TableSearchController', [ - '$scope', '$routeParams', '$location', '$http', '$filter', 'schemaLoader', - function ($scope, $routeParams, $location, $http, $filter, schemaLoader) { + '$scope', + '$routeParams', + '$location', + '$http', + '$filter', + '$interval', + 'schemaLoader', + function ($scope, + $routeParams, + $location, + $http, + $filter, + $interval, + schemaLoader) { var schema; var client = new GroongaClient($http); + var autoRefreshPromise = null; function findElement(array, finder) { var i, length; @@ -58,9 +71,11 @@ angular.module('groongaAdminApp') } $scope.currentPage = computeCurrentPage($scope.parameters.offset || 0); $scope.maxNPages = 10; + $scope.autoRefreshIntervalInSeconds = 0; $scope.search = search; $scope.incrementalSearch = incrementalSearch; + $scope.updateAutoRefresh = updateAutoRefresh; $scope.clearQuery = clearQuery; $scope.clear = clear; $scope.toggleSort = toggleSort; @@ -196,6 +211,21 @@ angular.module('groongaAdminApp') select(buildParameters()); } + function updateAutoRefresh() { + console.log('called'); + console.log(autoRefreshPromise); + console.log($scope.autoRefreshIntervalInSeconds); + if (autoRefreshPromise) { + $interval.cancel(autoRefreshPromise); + autoRefreshPromise = null; + } + if ($scope.autoRefreshIntervalInSeconds > 0) { + autoRefreshPromise = + $interval(incrementalSearch, + $scope.autoRefreshIntervalInSeconds * 1000); + } + } + function clearQuery() { $scope.parameters.query = ''; incrementalSearch(); Modified: app/views/tables/search.html (+16 -0) =================================================================== --- app/views/tables/search.html 2015-11-23 11:54:42 +0900 (6e0cf13) +++ app/views/tables/search.html 2015-11-23 12:53:03 +0900 (92ae253) @@ -25,6 +25,22 @@ </div> <div class="panel-heading"> + <h2 class="panel-title">Auto refresh</h2> + </div> + <div class="panel-body"> + <div class="input-group"> + <!--span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span--> + <input type="number" + class="form-control" + ng-model="autoRefreshIntervalInSeconds" + ng-change="updateAutoRefresh()"> + <span class="input-group-addon">sec</span> + </div> + </div> + + <div class="panel-heading"> <h2 class="panel-title">Columns</h2> </div> <div class="panel-body"> -------------- next part -------------- HTML����������������������������...Download