-
Notifications
You must be signed in to change notification settings - Fork 3
/
bookmarks.js
125 lines (110 loc) · 3.31 KB
/
bookmarks.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
var diigoBookmarks = angular.module("diigoBookmarks", ["ngRoute"]);
diigoBookmarks.factory('fSelectedTags', function(){
var selectedTags = [];
return {
add: function (key) {
if(selectedTags.indexOf(key)<0){
selectedTags.push(key);
}
},
remove: function (key) {
var ind = selectedTags.indexOf(key);
selectedTags.splice(ind,1);
},
getAll: function(){
return selectedTags;
}
};
});
diigoBookmarks.factory('fRelatedTags', function(fSelectedTags){
var relatedTags = [];
return {
remove: function (key) {
var ind = relatedTags.indexOf(key);
relatedTags.splice(ind,1);
},
empty: function(){
relatedTags = [];
},
getAll: function(){
return relatedTags;
},
generateFromBookmarks: function(bookmarks){
relatedTags = [];
bookmarks.forEach(function(bkmrk) {
bkmrk.tags.forEach(function(tag){
if(relatedTags.indexOf(tag)<0 && fSelectedTags.getAll().indexOf(tag)<0){
relatedTags.push(tag);
}
})
});
}
};
});
diigoBookmarks.controller("dataloaderController", function($scope,$http,$location,fSelectedTags,fRelatedTags) {
$http.get("importer/import.php?tag=")
.then(function(response) {
$scope.bookmarks = response.data.boomarks;
fRelatedTags.generateFromBookmarks($scope.bookmarks);
$scope.relatedTags = fRelatedTags.getAll();
}, function(response) {
$scope.bookmarks = "մտավ սխալ";
});
$http.get("importer/alltags.php")
.then(function(response1) {
$scope.alltags = response1.data;
},
function(response) {
$scope.alltags = "մտավ սխալ";
});
$scope.select = function(key){
fSelectedTags.add(key);
$http.get("importer/import.php?tag="+fSelectedTags.getAll().join("|"))
.then(function(response) {
$scope.bookmarks = response.data.boomarks;
fRelatedTags.generateFromBookmarks($scope.bookmarks);
$scope.relatedTags = fRelatedTags.getAll();
}, function(response) {
$scope.bookmarks = "մտավ սխալ";
});
};
$scope.unselect = function(key){
fSelectedTags.remove(key);
$http.get("importer/import.php?tag="+fSelectedTags.getAll().join("|"))
.then(function(response) {
$scope.bookmarks = response.data.boomarks;
fRelatedTags.generateFromBookmarks($scope.bookmarks);
$scope.relatedTags = fRelatedTags.getAll();
}, function(response) {
$scope.bookmarks = "մտավ սխալ";
});
};
$scope.$watch("fSelectedTags",function(){
$scope.selectedTags = fSelectedTags.getAll();
});
$scope.filterTags = function(items,tagsFilter) {
if(tagsFilter==undefined || tagsFilter=="" || tagsFilter.length<3){
return items;
}
var result = {};
angular.forEach(items, function(value, key) {
if(key.toLowerCase().indexOf(tagsFilter.toLowerCase())>-1){
result[key] = value;
}
});
return result;
}
$scope.searchterm="";
$scope.$watch("searchterm",function(oV,nV){
if(nV!=="" && $scope.searchterm.length>3){
$http.get("importer/search.php?srch="+$scope.searchterm)
.then(function(response) {
$scope.bookmarks = response.data.boomarks;
fRelatedTags.generateFromBookmarks($scope.bookmarks);
$scope.relatedTags = fRelatedTags.getAll();
}, function(response) {
console.log("մտավ սխալ");
});
}
});
});