diff --git a/app/controllers/main.controller.js b/app/controllers/main.controller.js index 9d75483..af9bf7b 100644 --- a/app/controllers/main.controller.js +++ b/app/controllers/main.controller.js @@ -1,56 +1,66 @@ -module.exports = function($scope, pageViews) { +module.exports = function($scope, pageViews, searchService) { $scope.groups = [ { 'name' : 'Dogs', 'breeds': [ 'Labrador', 'Retriever', 'Boxer', 'Cocker Spaniel' ]}, { 'name': 'Cats', 'breeds': [ 'Russian blue', 'Ragdoll', 'Norwegian Forest Cat' ]}, { 'name': 'Fish', 'breeds': [ 'Salmon', 'Pike', 'Trout', 'Bass' ]} ]; - + + $scope.searchstr = ""; + $scope.projects = [ // TODO: Proper externalization and language checking {name: "Wikipedia", url: "$lang$.wikipedia", multilang: true}, {name: "Wikiversity", url: "$lang$.wikiversity", multilang: true}, {name: "Wikisource", url: "$lang$.wikisource", multilang: true}, {name: "Wikinews", url: "$lang$.wikinews", multilang: true}, {name: "Wikibooks", url: "$lang$.wikibooks", multilang: true}, {name: "Wikiquote", url: "$lang$.wikiquote", multilang: true}, {name: "Wikispecies", url: "species.wikimedia", multilang: false}, {name: "Wikivoyage", url: "$lang$.wikivoyage", multilang: true}, {name: "Wikidata", url: "www.wikidata", multilang: false}, {name: "Wikicommons", url: "commons.wikimedia", multilang: false}, {name: "Metawiki", url: "meta.wikimedia", multilang: false} ]; $scope.chosen = { proj: $scope.projects[0].name, lang: "Svenska" }; $scope.changeChosen = function(name, dropdown){ $scope.chosen[dropdown] = name; - } + }; pageViews.query({ project: "en.wikipedia", article: "Dog", from: "20160101", to: "20160110", }).$promise.then(function(result) { console.log(result.article); }); + + searchService.query({ + namespace: "sv.wikipedia", + str: "Albert+Einstein" + }).$promise.then(function (data) { + console.log(data); + }); }; + diff --git a/app/index.js b/app/index.js index 3ddb177..4c92a20 100644 --- a/app/index.js +++ b/app/index.js @@ -1,16 +1,19 @@ -'use struct'; +'use strict'; require('angular'); require('angular-resource'); require('angular-ui-bootstrap'); var pageViews = require('./services/pageviews.service'); + var wikiservices = angular.module('wikiservices', ['ngResource']); wikiservices.factory('pageViews', ['$resource', pageViews]); +var searchService = require('./services/search.service'); +wikiservices.factory('searchService', ['$http', searchService]); + var MainController = require('./controllers/main.controller'); var wikistats = angular.module('wikistats', ['wikiservices', 'ui.bootstrap']); -wikistats.controller('MainController', ['$scope','pageViews', MainController]); - +wikistats.controller('MainController', ['$scope','pageViews', 'searchService', MainController]); diff --git a/app/services/search.service.js b/app/services/search.service.js new file mode 100644 index 0000000..3082c3e --- /dev/null +++ b/app/services/search.service.js @@ -0,0 +1,15 @@ +module.exports = function($http) { + return { + query: function(obj) { //TODO: validate + return $http.get('https://' + obj.namespace + + '.org/w/api.php?format=json&list=search&utf8=1' + + '&srlimit=5&action=query&callback=?&srsearch=' + obj.str, { + method: 'GET', + headers: {'Origin': 'http://tools.wmflabs.org/'}, + transformResponse: function(data, headers, s) { + console.log(data); + } + }); + } + }; +};