app.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. app=angular.module('app', ["ngTagsInput"]);
  2. app.controller('main', function($scope,$http,$sce) {
  3. $scope.news=[];
  4. $scope.newsArticle="";
  5. $scope.curPage=1;
  6. $scope.totPages=1;
  7. var lastPage=0;
  8. var itemsPerPage=15;
  9. $scope.keywords=[];
  10. $scope.selected_kw=[];
  11. $scope.filtered = function(q) {
  12. q=q.toLowerCase();
  13. return $scope.keywords.filter(function(e) { return e.toLowerCase().indexOf(q) > -1});
  14. };
  15. $scope.getKeywords = function() {
  16. $http.get("/pymnts/keywords").then(
  17. function(data) {
  18. //$scope.keywords=data.data.keywords.map(function(e) { return {text:e} });
  19. $scope.keywords=data.data.keywords;
  20. },
  21. function(data){
  22. }
  23. );
  24. };
  25. $scope.getKeywords();
  26. $scope.getArticle = function(el) {
  27. $http.get("/pymnts/article/"+el._id).then(
  28. function(data) {
  29. $scope.newsArticle=$sce.trustAsHtml(data.data.articles.html);
  30. },
  31. function(data){
  32. }
  33. );
  34. };
  35. $scope.filter = function(page) {
  36. var kw = $scope.selected_kw.map(function(e){return e.text});
  37. $http.post("/pymnts/articles/",{"mindate":$scope.mindate,"maxdate":$scope.maxdate,"site":$scope.site,"keyword":kw,"minweight":$scope.minweight,"page":page}).then(
  38. function(data) {
  39. if(page==undefined)
  40. $scope.curPage=1;
  41. $scope.news=data.data.articles;
  42. $scope.totPages=Math.ceil(data.data.count/itemsPerPage);
  43. },
  44. function(data) {
  45. }
  46. );
  47. };
  48. $scope.filter();
  49. $scope.parseSource = function(source,name,sel,rss,add) {
  50. url="/pymnts/source/test/";
  51. if(add==1)
  52. url="/pymnts/source/add/";
  53. $http.post(url, { "source": source, "selector":sel, "rss":rss, "name":name }).then(
  54. function(data) {
  55. console.log(data.data);
  56. },
  57. function(data){
  58. }
  59. );
  60. };
  61. $scope.changePage = function(newPage) {
  62. if (newPage > $scope.totPages)
  63. newPage=$scope.totPages;
  64. if (newPage < 1)
  65. newPage=1;
  66. if (newPage==lastPage)
  67. return;
  68. lastPage=newPage;
  69. $scope.curPage=newPage; //clamp
  70. $scope.filter(newPage);
  71. };
  72. });