app.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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,
  38. "maxdate":$scope.maxdate,
  39. "site":$scope.site,
  40. "keyword":kw,
  41. "minweight":$scope.minweight,
  42. "title":$scope.title,
  43. "page":page}).then(
  44. function(data) {
  45. if(page==undefined)
  46. $scope.curPage=1;
  47. $scope.news=data.data.articles;
  48. $scope.totPages=Math.ceil(data.data.count/itemsPerPage);
  49. },
  50. function(data) {
  51. }
  52. );
  53. };
  54. $scope.filter();
  55. $scope.parseSource = function(source,name,sel,rss,add) {
  56. url="/pymnts/source/test/";
  57. if(add==1)
  58. url="/pymnts/source/add/";
  59. $http.post(url, { "source": source, "selector":sel, "rss":rss, "name":name }).then(
  60. function(data) {
  61. console.log(data.data);
  62. },
  63. function(data){
  64. }
  65. );
  66. };
  67. $scope.changePage = function(newPage) {
  68. if (newPage > $scope.totPages)
  69. newPage=$scope.totPages;
  70. if (newPage < 1)
  71. newPage=1;
  72. if (newPage==lastPage)
  73. return;
  74. lastPage=newPage;
  75. $scope.curPage=newPage; //clamp
  76. $scope.filter(newPage);
  77. };
  78. });