added pivotal columns and styled app
parent
d7f2cfdcd6
commit
dbbb36132c
|
@ -9,7 +9,7 @@
|
|||
.controller('chartJs1DCtrl', chartJs1DCtrl);
|
||||
|
||||
/** @ngInject */
|
||||
function chartJs1DCtrl($scope, baConfig, $http, $q) {
|
||||
function chartJs1DCtrl($scope, baConfig, $http, $interval) {
|
||||
var layoutColors = baConfig.colors;
|
||||
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() {
|
||||
var projectId = '1993279';
|
||||
|
||||
// var auth = '?token=dbd3bfeb53beb6097fe299ab189e50b8';
|
||||
var version = 'v0.98';
|
||||
|
||||
var queryParams = [
|
||||
'token=dbd3bfeb53beb6097fe299ab189e50b8',
|
||||
'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';
|
||||
|
@ -123,6 +95,7 @@
|
|||
});
|
||||
}
|
||||
|
||||
$interval(getPivotalStories, 120000);
|
||||
getPivotalStories();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,24 +9,62 @@
|
|||
.controller('chartJs3DCtrl', chartJs3DCtrl);
|
||||
|
||||
/** @ngInject */
|
||||
function chartJs3DCtrl($scope) {
|
||||
$scope.labels =["May", "Jun", "Jul", "Aug", "Sep"];
|
||||
$scope.data = [
|
||||
[65, 59, 90, 81, 56],
|
||||
[28, 48, 40, 19, 88]
|
||||
function chartJs3DCtrl($scope, $http, $filter, $interval) {
|
||||
var users;
|
||||
var stories;
|
||||
|
||||
$scope.workInProgress = [];
|
||||
|
||||
function getPivotalStories() {
|
||||
var projectId = '1993279';
|
||||
|
||||
var version = 'v0.98';
|
||||
|
||||
var queryParams = [
|
||||
'token=dbd3bfeb53beb6097fe299ab189e50b8',
|
||||
'limit=200',
|
||||
'filter=label:"' + version + '" state:started (label:"approved" OR label:"no approval required")'
|
||||
];
|
||||
$scope.series = ['Product A', 'Product B'];
|
||||
|
||||
var url = 'https://www.pivotaltracker.com/services/v5/projects/' + projectId + '/stories';
|
||||
|
||||
$scope.changeData = function () {
|
||||
$scope.data[0] = shuffle($scope.data[0]);
|
||||
$scope.data[1] = shuffle($scope.data[1]);
|
||||
};
|
||||
|
||||
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;
|
||||
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,13 +1,13 @@
|
|||
<div class="row">
|
||||
<div class="col-md-6" ng-controller="chartJs1DCtrl">
|
||||
<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="col-md-6">
|
||||
<canvas id="pie" class="chart chart-pie"
|
||||
chart-options="options" chart-data="teamData" chart-labels="teamLabels"
|
||||
|
@ -15,14 +15,9 @@
|
|||
</canvas>
|
||||
</div>
|
||||
</div>
|
||||
</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">
|
||||
|
@ -33,64 +28,13 @@
|
|||
</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 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>
|
||||
<!--
|
||||
<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> -->
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1 @@
|
|||
<div class="content-top clearfix">
|
||||
<h1 class="al-title">{{ activePageTitle }}</h1>
|
||||
|
||||
<ul class="breadcrumb al-breadcrumb">
|
||||
<li>
|
||||
<a href="#/dashboard">Home</a></li>
|
||||
<li>{{ activePageTitle }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1 class="al-title" style="color: white;">{{ activePageTitle }}</h1>
|
|
@ -1,24 +1,13 @@
|
|||
<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>
|
||||
|
||||
<div class="search">
|
||||
<i class="ion-ios-search-strong" ng-click="startSearch()"></i>
|
||||
<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>
|
||||
<content-top></content-top>
|
||||
</div>
|
||||
</div>
|
|
@ -6,7 +6,8 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<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="32x32" href="assets/img/favicon-32x32.png">
|
||||
|
@ -32,26 +33,10 @@
|
|||
<page-top></page-top>
|
||||
|
||||
<div class="al-main">
|
||||
<div class="al-content">
|
||||
<content-top></content-top>
|
||||
<div class="al-content" style="padding-top: 24px;">
|
||||
<div ui-view autoscroll="true" autoscroll-body-top></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>
|
||||
|
||||
<div id="preloader" ng-show="!$pageFinishedLoading">
|
||||
|
|
|
@ -70,7 +70,7 @@ a {
|
|||
|
||||
.al-main {
|
||||
margin-left: $left-space;
|
||||
padding: 66px 0 34px 0;
|
||||
padding-top: 66px;
|
||||
min-height: 500px;
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ h1.al-title {
|
|||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 24px;
|
||||
text-transform: uppercase;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,17 +14,22 @@
|
|||
}
|
||||
|
||||
a.al-logo {
|
||||
color: $sidebar-text;
|
||||
color: white;
|
||||
display: block;
|
||||
font-size: 24px;
|
||||
font-size: 28px;
|
||||
font-family: $font-family;
|
||||
white-space: nowrap;
|
||||
float: left;
|
||||
outline: none !important;
|
||||
line-height: 60px;
|
||||
position: relative;
|
||||
right: 18px;
|
||||
top: 3px;
|
||||
|
||||
span {
|
||||
color: $primary;
|
||||
.path2:before {
|
||||
color: white;
|
||||
position: relative;
|
||||
right: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$font-family: 'Roboto', sans-serif;
|
||||
$font-family: 'Source Sans Pro', sans-serif;
|
||||
|
||||
$activelink: $primary;
|
||||
$hoverlink: $primary-dark;
|
||||
|
|
Loading…
Reference in New Issue