From a87bb704a966601785f7a60f8338e0b0260f2073 Mon Sep 17 00:00:00 2001 From: KVGarg Date: Mon, 12 Aug 2019 23:04:26 +0530 Subject: [PATCH] projects.html: Get issues detail from webservices The commit adds a method, to get related issues states from coala Webservices and adds the issue state to a HashMap which is being used to get issue css class, when the project pop-ups. Closes https://github.com/coala/projects/issues/298 --- partials/tabs/projects.html | 2 +- resources/css/style.css | 15 +++++++++++++++ resources/js/app.js | 29 +++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/partials/tabs/projects.html b/partials/tabs/projects.html index 0cce9d3b..9c1bbeb1 100644 --- a/partials/tabs/projects.html +++ b/partials/tabs/projects.html @@ -106,7 +106,7 @@
Filter Google Summer of Code Projects
Developers Involved
@{{developers}}
-
Related issues
{{ issue | format_issue }} +
Related issues
{{ issue | format_issue }}


diff --git a/resources/css/style.css b/resources/css/style.css index c3a090c7..de6dd29c 100644 --- a/resources/css/style.css +++ b/resources/css/style.css @@ -31,6 +31,10 @@ .center-content { justify-content: center; } +.closed { + background-color: #cb2431; + color: white +} .close-filters { right: 6%; margin-top: 1.25rem; @@ -117,12 +121,23 @@ i.fa { .lighter-font { font-weight: lighter; } +.merged { + background-color: #6f42c1; + color: white; +} .no-events-available { font-size: 1.2em; height: 30vh; justify-content: center; flex-direction: column; } +.no-state { + background-color: #e4e4e4; +} +.open, .opened { + background-color: #2cbe4e; + color: white; +} .project-detail-element > .clickable:hover, .clickable:hover .chip:hover { cursor: pointer; background-color: #f3f5f8; diff --git a/resources/js/app.js b/resources/js/app.js index b0567be4..c3f7b156 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -121,6 +121,7 @@ self.displayFilters = !self.displayFilters $('select').material_select(); } + self.issueStates = {} $scope.sortOrder = function(project) { return mapping[project.status]; @@ -480,6 +481,34 @@ } $scope.getAllFilters(); + self.getIssueStateClass = function(issue){ + return self.issueStates[issue] + } + + function getIssueState(issue) { + self.issueStates[issue] = 'no-state' + $http({ + method: 'GET', + url: 'https://webservices.coala.io/issue/details', + params: { url: issue } + }).then(function (response) { + var issue_data = response.data + self.issueStates[issue] = issue_data.state + }) + } + + function getAllRelatedIssuesState(){ + $http.get('data/projects.liquid') + .then(function (res) { + angular.forEach(res.data, function(project){ + angular.forEach(project.issues, function(issue){ + getIssueState(issue) + }) + }) + }) + } + getAllRelatedIssuesState() + }, controllerAs: 'lc' }