diff options
Diffstat (limited to 'src/main/resources/webapp/apps/core')
-rw-r--r-- | src/main/resources/webapp/apps/core/CoreResources.js | 25 | ||||
-rwxr-xr-x | src/main/resources/webapp/apps/core/PagingTableService.js | 72 | ||||
-rwxr-xr-x | src/main/resources/webapp/apps/core/navbar.html | 17 |
3 files changed, 114 insertions, 0 deletions
diff --git a/src/main/resources/webapp/apps/core/CoreResources.js b/src/main/resources/webapp/apps/core/CoreResources.js new file mode 100644 index 0000000..b258c85 --- /dev/null +++ b/src/main/resources/webapp/apps/core/CoreResources.js @@ -0,0 +1,25 @@ +'use strict'; + +function Person($resource) { + return $resource('/resource/core/person/:uuid', {uuid: '@uuid'}); +} + +angular.module('person', ['ngResource']).factory('Person', Person); + +function Build($resource) { + return $resource('/resource/core/build/:uuid', {uuid: '@uuid'}); +} + +angular.module('build', ['ngResource']).factory('Build', Build); + +function BuildParticipant($resource) { + return $resource('/resource/core/build-participant/:uuid', {uuid: '@uuid'}); +} + +angular.module('buildParticipant', ['ngResource']).factory('BuildParticipant', BuildParticipant); + +function Badge($resource) { + return $resource('/resource/core/badge/:uuid', {uuid: '@uuid'}); +} + +angular.module('badge', ['ngResource']).factory('Badge', Badge); diff --git a/src/main/resources/webapp/apps/core/PagingTableService.js b/src/main/resources/webapp/apps/core/PagingTableService.js new file mode 100755 index 0000000..af593df --- /dev/null +++ b/src/main/resources/webapp/apps/core/PagingTableService.js @@ -0,0 +1,72 @@ +function PagingTableService() { + var create = function ($scope, fetchCallback, options) { + options = options || {}; + var watcher = options.watcher || function(){}; + var self = { + rows: [], + startIndex: options.startIndex || 0, + count: options.count || 10 + }; + + var update = function(){ + fetchCallback(self.startIndex, self.count, function(data) { + self.rows = data.rows; + watcher(); + }); + }; + + self.first = function () { + self.startIndex = 0; + update(); + }; + + self.next = function () { + self.startIndex += self.count; + update(); + }; + + self.prev = function () { + if (self.startIndex == 0) { + return; + } + self.startIndex -= self.count; + update(); + }; + + // Do an initial fetch + update(); + + return self; + }; + + var defaultCallback = function(Resource, args) { + args = args || {}; + return function(startIndex, count, cb) { + if(startIndex) { + args.startIndex = startIndex; + } + if(count) { + args.count = count; + } + console.log("fetching", args); + Resource.query(args, function(data, headers) { + var totalResults = headers("total-results"); + console.log("totalResults", totalResults); + console.log("got data", data); + cb({ + totalResults: totalResults, + rows: data + }); + }); + }; + }; + + return { + create: create, + defaultCallback: defaultCallback + } +} + +angular. + module('pagingTableService', ['ngResource']). + factory('PagingTableService', PagingTableService); diff --git a/src/main/resources/webapp/apps/core/navbar.html b/src/main/resources/webapp/apps/core/navbar.html new file mode 100755 index 0000000..914258e --- /dev/null +++ b/src/main/resources/webapp/apps/core/navbar.html @@ -0,0 +1,17 @@ +<div class="navbar"> + <div class="navbar-inner"> + <div class="container"> + <span class="brand"><a href="/">Wat</a></span> + <div class="nav-collapse collapse"> + <ul class="nav"> + <li class=""><a href="#/">Home</a></li> + <li class=""><a href="#/badge/">Badges</a></li> + <li class=""><a href="#/person/">People</a></li> + <li class=""><a href="#/build/">Builds</a></li> + <li class="divider-vertical"></li> + <li class=""><a href="/jenkins">Jenkins</a></li> + </ul> + </div> + </div> + </div> +</div> |