Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/fix-restore'
Browse files Browse the repository at this point in the history
  • Loading branch information
plrthink committed Oct 8, 2013
2 parents bc1467f + a3a45d1 commit 5fa4e99
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 27 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "coursera_alfred",
"version": "0.3.3",
"version": "0.3.5",
"dependencies": {
"jquery": "~1.9.1",
"angular": "~1.0.5",
Expand Down
3 changes: 1 addition & 2 deletions manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Coursera Alfred",
"version": "0.3.3",
"version": "0.3.5",
"manifest_version": 2,
"description": "Your Coursera Helper",
"homepage_url": "http://www.xiuxiu.de/",
Expand All @@ -24,7 +24,6 @@
"cookies",
"notifications",
"tabs",
"geolocation",
"https://*.coursera.org/*"
],
"content_scripts": [
Expand Down
4 changes: 2 additions & 2 deletions src/browser_action/browser_action.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
<div class="tab-pane active" id="todo">
<div
class="alert alert-success"
ng-hide="(deadlines | hide:removedDeadlines).length"
ng-hide="(deadlines | hide:removedDeadlines | filter:search.text).length"
>
<p>
You have no deadline left here;)
Expand Down Expand Up @@ -104,7 +104,7 @@
<div class="tab-pane" id="finished">
<div
class="alert alert-success"
ng-hide="removedDeadlines.length"
ng-hide="(removedDeadlines | filter:search.text).length"
>
<p>
No results here;)
Expand Down
9 changes: 7 additions & 2 deletions src/browser_action/js/controllers/appCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ app.controller('appCtrl', function AlfredCtrl($scope, alfredStorage, courseServi
removedDeadlines.push(deadline);
};

$scope.restoreDeadline = function(index){
removedDeadlines.splice(index, 1);
$scope.restoreDeadline = function(deadline){
for (var i =0; i < removedDeadlines.length; i++){
if (courseService.isSameDeadline(deadline, removedDeadlines[i])) {
removedDeadlines.splice(i,1);
break;
}
}
};
});
12 changes: 3 additions & 9 deletions src/browser_action/js/filters/hide.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
app.filter('hide', function()
app.filter('hide', function(courseService)
{
return function(deadlines, removedDeadlines)
{
var removedDeadlineHtmls = removedDeadlines.map(function(removedItem){
return removedItem.html;
});

return deadlines.filter(function(deadline){
var target = deadline.html;
var result = false;
for(var i = 0; i < removedDeadlineHtmls.length; i++){
var removedItemHtml = removedDeadlineHtmls[i];
var temp = ((removedItemHtml.length === target.length) && (removedItemHtml === target));
for(var i = 0; i < removedDeadlines.length; i++){
var temp = courseService.isSameDeadline(deadline, removedDeadlines[i]);
result = result || temp;
if(result){
break;
Expand Down
27 changes: 16 additions & 11 deletions src/common/courseService.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ app.factory('courseService', function ($http, alfredStorage, icon) {
var getUserId = function(){
var url = "https://www.coursera.org";
var deferred = Q.defer();
var user_id;

if(user_id = alfredStorage.getUserID()){
deferred.resolve(user_id);
} else {
var user_id;
if(user_id = alfredStorage.getUserID()){
deferred.resolve(user_id);
} else {
$http.get(url).then(function(response){
var user_id_exspression;
var re = /"id": (\d+)/g;
if(user_id_exspression = re.exec(response.data)){
user_id = user_id_exspression[1];
var user_id_expression;
var re = /\\u0022id\\u0022: (\d+)/g;
if(user_id_expression = re.exec(response.data)){
user_id = user_id_expression[1];
alfredStorage.signIn();
alfredStorage.setUserID(user_id);
deferred.resolve(user_id);
Expand Down Expand Up @@ -173,9 +173,14 @@ app.factory('courseService', function ($http, alfredStorage, icon) {
alfredStorage.unNew();
icon.updateIcon();
});
}
};

var isSameDeadline = function(deadlineA, deadlineB){
return (deadlineA.html.length === deadlineB.html.length) && (deadlineA.html === deadlineB.html);
};

return {
updateData: updateData
updateData: updateData,
isSameDeadline: isSameDeadline
}
});

0 comments on commit 5fa4e99

Please sign in to comment.