aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/webapp/apps/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/webapp/apps/core')
-rw-r--r--src/main/resources/webapp/apps/core/CoreResources.js25
-rwxr-xr-xsrc/main/resources/webapp/apps/core/PagingTableService.js72
-rwxr-xr-xsrc/main/resources/webapp/apps/core/navbar.html17
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>