added pivotal columns and styled app
parent
d7f2cfdcd6
commit
dbbb36132c
|
@ -9,7 +9,7 @@
|
||||||
.controller('chartJs1DCtrl', chartJs1DCtrl);
|
.controller('chartJs1DCtrl', chartJs1DCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function chartJs1DCtrl($scope, baConfig, $http, $q) {
|
function chartJs1DCtrl($scope, baConfig, $http, $interval) {
|
||||||
var layoutColors = baConfig.colors;
|
var layoutColors = baConfig.colors;
|
||||||
var stories = [];
|
var stories = [];
|
||||||
|
|
||||||
|
@ -43,43 +43,15 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.changeData = function () {
|
|
||||||
console.log('click!')
|
|
||||||
};
|
|
||||||
|
|
||||||
function shuffle(o){
|
|
||||||
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x){}
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
|
|
||||||
// function returnSessionsFromBrowserstackPromise(buildId) {
|
|
||||||
// var headers = {
|
|
||||||
// 'Authorization': 'danneh1:5gXqwjkDjBtTiLVmvsLV'
|
|
||||||
// };
|
|
||||||
|
|
||||||
// // var url = 'https://www.browserstack.com/automate/builds/' + buildId + '/sessions.json';
|
|
||||||
// var url = 'https://www.browserstack.com/automate/projects.json';
|
|
||||||
|
|
||||||
// $http({
|
|
||||||
// method: 'GET',
|
|
||||||
// url: url
|
|
||||||
// }).then(function(response){
|
|
||||||
// console.log('response', response);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// returnSessionsFromBrowserstackPromise('2f7a6dca052a67852693cd3bdef03356255e0745');
|
|
||||||
|
|
||||||
|
|
||||||
function getPivotalStories() {
|
function getPivotalStories() {
|
||||||
var projectId = '1993279';
|
var projectId = '1993279';
|
||||||
|
|
||||||
// var auth = '?token=dbd3bfeb53beb6097fe299ab189e50b8';
|
var version = 'v0.98';
|
||||||
|
|
||||||
var queryParams = [
|
var queryParams = [
|
||||||
'token=dbd3bfeb53beb6097fe299ab189e50b8',
|
'token=dbd3bfeb53beb6097fe299ab189e50b8',
|
||||||
'limit=200',
|
'limit=200',
|
||||||
'filter=label:"v0.98" (label:"approved" OR label:"no approval required")'
|
'filter=label:"' + version + '" (label:"approved" OR label:"no approval required")'
|
||||||
];
|
];
|
||||||
|
|
||||||
var url = 'https://www.pivotaltracker.com/services/v5/projects/' + projectId + '/stories';
|
var url = 'https://www.pivotaltracker.com/services/v5/projects/' + projectId + '/stories';
|
||||||
|
@ -123,6 +95,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$interval(getPivotalStories, 120000);
|
||||||
getPivotalStories();
|
getPivotalStories();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,24 +9,62 @@
|
||||||
.controller('chartJs3DCtrl', chartJs3DCtrl);
|
.controller('chartJs3DCtrl', chartJs3DCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function chartJs3DCtrl($scope) {
|
function chartJs3DCtrl($scope, $http, $filter, $interval) {
|
||||||
$scope.labels =["May", "Jun", "Jul", "Aug", "Sep"];
|
var users;
|
||||||
$scope.data = [
|
var stories;
|
||||||
[65, 59, 90, 81, 56],
|
|
||||||
[28, 48, 40, 19, 88]
|
|
||||||
];
|
|
||||||
$scope.series = ['Product A', 'Product B'];
|
|
||||||
|
|
||||||
|
$scope.workInProgress = [];
|
||||||
|
|
||||||
$scope.changeData = function () {
|
function getPivotalStories() {
|
||||||
$scope.data[0] = shuffle($scope.data[0]);
|
var projectId = '1993279';
|
||||||
$scope.data[1] = shuffle($scope.data[1]);
|
|
||||||
};
|
|
||||||
|
|
||||||
function shuffle(o){
|
var version = 'v0.98';
|
||||||
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x){}
|
|
||||||
return o;
|
var queryParams = [
|
||||||
|
'token=dbd3bfeb53beb6097fe299ab189e50b8',
|
||||||
|
'limit=200',
|
||||||
|
'filter=label:"' + version + '" state:started (label:"approved" OR label:"no approval required")'
|
||||||
|
];
|
||||||
|
|
||||||
|
var url = 'https://www.pivotaltracker.com/services/v5/projects/' + projectId + '/stories';
|
||||||
|
|
||||||
|
return $http({
|
||||||
|
method: 'GET',
|
||||||
|
url: url + '?' + queryParams.join('&')
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getPivotalUsers() {
|
||||||
|
var projectId = '1993279';
|
||||||
|
|
||||||
|
var auth = '?token=dbd3bfeb53beb6097fe299ab189e50b8';
|
||||||
|
|
||||||
|
var url = 'https://www.pivotaltracker.com/services/v5/projects/' + projectId + '/memberships';
|
||||||
|
|
||||||
|
$http({
|
||||||
|
method: 'GET',
|
||||||
|
url: url + auth
|
||||||
|
}).then(function (response) {
|
||||||
|
getPivotalStories().then(function (data) {
|
||||||
|
$scope.workInProgress = [];
|
||||||
|
users = response.data;
|
||||||
|
stories = data.data;
|
||||||
|
|
||||||
|
users.forEach(function (user) {
|
||||||
|
var items = $filter('filter')(stories, {owned_by_id: user.person.id});
|
||||||
|
|
||||||
|
items.forEach(function (ignore, index) {
|
||||||
|
items[index].owner = user.person;
|
||||||
|
});
|
||||||
|
|
||||||
|
$scope.workInProgress = $scope.workInProgress.concat(items);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$interval(getPivotalUsers, 120000);
|
||||||
|
getPivotalUsers();
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
|
@ -1,96 +1,40 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6" ng-controller="chartJs1DCtrl">
|
<div class="col-md-6" ng-controller="chartJs1DCtrl">
|
||||||
<div ba-panel ba-panel-title="Current Sprint" ba-panel-class="with-scroll ">
|
<div ba-panel ba-panel-title="Current Sprint" ba-panel-class="with-scroll ">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<canvas id="doughnut" chart-options="options" class="chart chart-doughnut"
|
||||||
|
chart-data="progressData" chart-labels="progressLabels" chart-click="changeData">
|
||||||
|
</canvas>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="col-md-6">
|
||||||
<div class="col-md-6">
|
<canvas id="pie" class="chart chart-pie"
|
||||||
<canvas id="doughnut" chart-options="options" class="chart chart-doughnut"
|
chart-options="options" chart-data="teamData" chart-labels="teamLabels"
|
||||||
chart-data="progressData" chart-labels="progressLabels" chart-click="changeData">
|
chart-click="changeData">
|
||||||
</canvas>
|
</canvas>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
<canvas id="pie" class="chart chart-pie"
|
</div>
|
||||||
chart-options="options" chart-data="teamData" chart-labels="teamLabels"
|
</div>
|
||||||
chart-click="changeData">
|
|
||||||
</canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- <div class="col-md-4" ng-controller="chartJs1DCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Doughnut" ba-panel-class="with-scroll ">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
<div class="col-md-3" ng-controller="chartJs2DCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Polar" ba-panel-class="with-scroll ">
|
|
||||||
<div class="chartjs-canvas-holder-first-row">
|
|
||||||
<canvas id="polar-area" class="chart chart-polar-area"
|
|
||||||
chart-data="data" chart-options="options" chart-labels="labels"
|
|
||||||
chart-click="changeData">
|
|
||||||
</canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3" ng-controller="chartJs3DCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Polar" ba-panel-class="with-scroll ">
|
|
||||||
<div class="chartjs-canvas-holder-first-row">
|
|
||||||
<canvas id="polar-area" class="chart chart-polar-area"
|
|
||||||
chart-data="data" chart-options="options" chart-labels="labels"
|
|
||||||
chart-click="changeData">
|
|
||||||
</canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!--
|
|
||||||
<div class="row ">
|
|
||||||
<div class="col-md-6" ng-controller="chartJsWaveCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Animated Radar" ba-panel-class="col-eq-height">
|
|
||||||
<div class="chartjs-canvas-holder-second-row">
|
|
||||||
<canvas id="waveLine" class="chart chart-radar" chart-data="[data]" chart-labels="labels"></canvas>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6" ng-controller="chartJsWaveCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Animated Bars" ba-panel-class="col-eq-height">
|
|
||||||
<div class="chartjs-canvas-holder-second-row">
|
|
||||||
<canvas id="waveBars" class="chart chart-bar" chart-data="[data]" chart-labels="labels"></canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row ">
|
|
||||||
<div class="col-lg-4 col-md-6" ng-controller="chartJs2DCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Radar" ba-panel-class="with-scroll ">
|
|
||||||
<div class="chartjs-canvas-holder-third-row">
|
|
||||||
<canvas id="radar" class="chart chart-radar" chart-series="series" chart-data="data"
|
|
||||||
chart-labels="labels" chart-click="changeData">
|
|
||||||
</canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-4 col-md-6" ng-controller="chartJs2DCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Line" ba-panel-class="with-scroll ">
|
|
||||||
<div class="chartjs-canvas-holder-third-row">
|
|
||||||
<canvas id="line" class="chart chart-line" chart-data="data" chart-labels="labels"
|
|
||||||
chart-series="series" chart-click="changeData"></canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-4 col-md-12" ng-controller="chartJs2DCtrl">
|
|
||||||
<div ba-panel ba-panel-title="Bars" ba-panel-class="with-scroll ">
|
|
||||||
<div class="chartjs-canvas-holder-third-row">
|
|
||||||
<canvas id="bar" class="chart chart-bar"
|
|
||||||
chart-data="data" chart-labels="labels" chart-series="series" chart-click="changeData" chart-update="updateC">
|
|
||||||
</canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
|
<div class="col-md-3" ng-controller="chartJs2DCtrl">
|
||||||
|
<div ba-panel ba-panel-title="Polar" ba-panel-class="with-scroll ">
|
||||||
|
<div class="chartjs-canvas-holder-first-row">
|
||||||
|
<canvas id="polar-area" class="chart chart-polar-area"
|
||||||
|
chart-data="data" chart-options="options" chart-labels="labels"
|
||||||
|
chart-click="changeData">
|
||||||
|
</canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-3" ng-controller="chartJs3DCtrl">
|
||||||
|
<div ba-panel ba-panel-title="Work in progress" ba-panel-class="with-scroll ">
|
||||||
|
<div class="item" data-ng-repeat="story in workInProgress track by $index" style="border-bottom: 1px solid #E6EAEE; margin-bottom: 6px;">
|
||||||
|
<div style="font-weight: 600;"><span>{{story.owner.name}}</span> <span style="float: right;">#{{story.id}}</span></div>
|
||||||
|
<p style="padding-top: 3px;">{{story.name}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -1,9 +1 @@
|
||||||
<div class="content-top clearfix">
|
<h1 class="al-title" style="color: white;">{{ activePageTitle }}</h1>
|
||||||
<h1 class="al-title">{{ activePageTitle }}</h1>
|
|
||||||
|
|
||||||
<ul class="breadcrumb al-breadcrumb">
|
|
||||||
<li>
|
|
||||||
<a href="#/dashboard">Home</a></li>
|
|
||||||
<li>{{ activePageTitle }}</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
|
@ -1,24 +1,13 @@
|
||||||
<div class="page-top clearfix" scroll-position="scrolled" max-height="50" ng-class="{'scrolled': scrolled}">
|
<div class="page-top clearfix" scroll-position="scrolled" max-height="50" ng-class="{'scrolled': scrolled}">
|
||||||
<a href="#/dashboard" class="al-logo clearfix"><span>Blur</span>Admin</a>
|
<a href="#/dashboard" class="al-logo clearfix">
|
||||||
|
<span class="inverted icon icon-ip-centrum">
|
||||||
|
<span class="path1"></span>
|
||||||
|
<span class="path2"></span>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
<a href class="collapse-menu-link ion-navicon" ba-sidebar-toggle-menu></a>
|
<a href class="collapse-menu-link ion-navicon" ba-sidebar-toggle-menu></a>
|
||||||
|
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<i class="ion-ios-search-strong" ng-click="startSearch()"></i>
|
<content-top></content-top>
|
||||||
<input id="searchInput" type="text" placeholder="Search for...">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="user-profile clearfix">
|
|
||||||
<div class="al-user-profile" uib-dropdown>
|
|
||||||
<a uib-dropdown-toggle class="profile-toggle-link">
|
|
||||||
<img ng-src="{{::( 'Nasta' | profilePicture )}}">
|
|
||||||
</a>
|
|
||||||
<ul class="top-dropdown-menu profile-dropdown" uib-dropdown-menu>
|
|
||||||
<li><i class="dropdown-arr"></i></li>
|
|
||||||
<li><a href="#/profile"><i class="fa fa-user"></i>Profile</a></li>
|
|
||||||
<li><a href><i class="fa fa-cog"></i>Settings</a></li>
|
|
||||||
<li><a href class="signout"><i class="fa fa-power-off"></i>Sign out</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<msg-center></msg-center>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -6,7 +6,8 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>Blur Admin</title>
|
<title>Blur Admin</title>
|
||||||
|
|
||||||
<link href='https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900italic,900&subset=latin,greek,greek-ext,vietnamese,cyrillic-ext,latin-ext,cyrillic' rel='stylesheet' type='text/css'>
|
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="https://s3.amazonaws.com/icomoon.io/68294/IPCentrum-Application/style.css?5au8gz" />
|
||||||
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/favicon-16x16.png">
|
<link rel="icon" type="image/png" sizes="16x16" href="assets/img/favicon-16x16.png">
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/favicon-32x32.png">
|
<link rel="icon" type="image/png" sizes="32x32" href="assets/img/favicon-32x32.png">
|
||||||
|
@ -32,26 +33,10 @@
|
||||||
<page-top></page-top>
|
<page-top></page-top>
|
||||||
|
|
||||||
<div class="al-main">
|
<div class="al-main">
|
||||||
<div class="al-content">
|
<div class="al-content" style="padding-top: 24px;">
|
||||||
<content-top></content-top>
|
|
||||||
<div ui-view autoscroll="true" autoscroll-body-top></div>
|
<div ui-view autoscroll="true" autoscroll-body-top></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer class="al-footer clearfix">
|
|
||||||
<div class="al-footer-right">Created with <i class="ion-heart"></i></div>
|
|
||||||
<div class="al-footer-main clearfix">
|
|
||||||
<div class="al-copy">Blur Admin 2016</div>
|
|
||||||
<ul class="al-share clearfix">
|
|
||||||
<li><i class="socicon socicon-facebook"></i></li>
|
|
||||||
<li><i class="socicon socicon-twitter"></i></li>
|
|
||||||
<li><i class="socicon socicon-google"></i></li>
|
|
||||||
<li><i class="socicon socicon-github"></i></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
<back-top></back-top>
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<div id="preloader" ng-show="!$pageFinishedLoading">
|
<div id="preloader" ng-show="!$pageFinishedLoading">
|
||||||
|
|
|
@ -70,7 +70,7 @@ a {
|
||||||
|
|
||||||
.al-main {
|
.al-main {
|
||||||
margin-left: $left-space;
|
margin-left: $left-space;
|
||||||
padding: 66px 0 34px 0;
|
padding-top: 66px;
|
||||||
min-height: 500px;
|
min-height: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@ h1.al-title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
text-transform: uppercase;
|
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,17 +14,22 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
a.al-logo {
|
a.al-logo {
|
||||||
color: $sidebar-text;
|
color: white;
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 24px;
|
font-size: 28px;
|
||||||
font-family: $font-family;
|
font-family: $font-family;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
float: left;
|
float: left;
|
||||||
outline: none !important;
|
outline: none !important;
|
||||||
line-height: 60px;
|
line-height: 60px;
|
||||||
|
position: relative;
|
||||||
|
right: 18px;
|
||||||
|
top: 3px;
|
||||||
|
|
||||||
span {
|
.path2:before {
|
||||||
color: $primary;
|
color: white;
|
||||||
|
position: relative;
|
||||||
|
right: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
$font-family: 'Roboto', sans-serif;
|
$font-family: 'Source Sans Pro', sans-serif;
|
||||||
|
|
||||||
$activelink: $primary;
|
$activelink: $primary;
|
||||||
$hoverlink: $primary-dark;
|
$hoverlink: $primary-dark;
|
||||||
|
|
Loading…
Reference in New Issue