diff --git a/webapp/app/js/controllers/query.js b/webapp/app/js/controllers/query.js index dea03f44fdf..cac7ccb6bf5 100644 --- a/webapp/app/js/controllers/query.js +++ b/webapp/app/js/controllers/query.js @@ -48,13 +48,6 @@ KylinApp ]; $scope.statusFilter = null; $scope.savedQueries = null; - $scope.cachedQueries = storage.get("saved_queries"); - if (!$scope.cachedQueries) { - $scope.cachedQueries = []; - } - $scope.cachedQueries.curPage = 1; - $scope.cachedQueries.perPage = 3; - $scope.srcTables = []; $scope.srcColumns = []; @@ -130,7 +123,7 @@ KylinApp function getQuery(queries, query) { for (var i = 0; i < queries.length; i++) { - if (queries[i].sql == query.sql) { + if (queries[i].sql === query.sql && queries[i].project === query.project) { return queries[i]; } } @@ -338,7 +331,6 @@ KylinApp if ($scope.cachedQueries.length >= 99) { delete $scope.cachedQueries.splice(0, 1); - ; } $scope.cachedQueries.push({ @@ -351,13 +343,25 @@ KylinApp } $scope.listSavedQueries = function () { - QueryService.list({}, function (queries) { - $scope.savedQueries = queries; + QueryService.list({project: $scope.projectModel.selectedProject}, function (queries) { + $scope.savedQueries = queries $scope.savedQueries.curPage = 1; $scope.savedQueries.perPage = 3; }); } + $scope.listCachedQueries = function () { + $scope.cachedQueries = storage.get("saved_queries") + $scope.cachedFilterQueries = $scope.cachedQueries.filter(function (query) { + return query.project === $scope.projectModel.selectedProject + }); + if (!$scope.cachedFilterQueries) { + $scope.cachedFilterQueries = []; + } + $scope.cachedFilterQueries.curPage = 1; + $scope.cachedFilterQueries.perPage = 3; + } + $scope.removeSavedQuery = function (id) { QueryService.delete({subject_id: id}, function () { $scope.listSavedQueries(); @@ -404,6 +408,11 @@ KylinApp } } + $scope.$watch('projectModel.selectedProject', function (newValue, oldValue) { + $scope.listCachedQueries(); + $scope.listSavedQueries(); + }); + $scope.$on('$locationChangeStart', function (event, next, current) { var isExecuting = false; angular.forEach($scope.queries, function (query, index) { diff --git a/webapp/app/partials/query/query.html b/webapp/app/partials/query/query.html index 87c43dc4597..e43f7c00b31 100644 --- a/webapp/app/partials/query/query.html +++ b/webapp/app/partials/query/query.html @@ -41,7 +41,7 @@ Saved Queries
Queried At: {{query.savedAt}} in Project: {{query.project}}
@@ -177,8 +177,8 @@ |