Added scratch tables
This commit is contained in:
parent
71c9bc088c
commit
a265ef23b7
1
app/static/css/bootstrap.min.css.map
Executable file
1
app/static/css/bootstrap.min.css.map
Executable file
File diff suppressed because one or more lines are too long
6431
app/static/css/paper-dashboard.css
Normal file
6431
app/static/css/paper-dashboard.css
Normal file
File diff suppressed because it is too large
Load Diff
78
app/static/css/paper-dashboard.css.map
Normal file
78
app/static/css/paper-dashboard.css.map
Normal file
File diff suppressed because one or more lines are too long
22
app/static/css/paper-dashboard.min.css
vendored
Normal file
22
app/static/css/paper-dashboard.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
189
app/static/demo/demo.css
Normal file
189
app/static/demo/demo.css
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
.tim-row {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tim-white-buttons {
|
||||||
|
background-color: #777777;
|
||||||
|
}
|
||||||
|
|
||||||
|
.typography-line {
|
||||||
|
padding-left: 25%;
|
||||||
|
margin-bottom: 35px;
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.typography-line span {
|
||||||
|
bottom: 10px;
|
||||||
|
color: #c0c1c2;
|
||||||
|
display: block;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 13px;
|
||||||
|
line-height: 13px;
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
width: 260px;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tim-row {
|
||||||
|
padding-top: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tim-row h3 {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.offline-doc .page-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.offline-doc .footer {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
background: transparent;
|
||||||
|
bottom: 0;
|
||||||
|
color: #fff;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (min-width: 992px) {
|
||||||
|
.sidebar .nav>li.active-pro {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
bottom: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card.card-upgrade .card-category {
|
||||||
|
max-width: 530px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nucleo Style */
|
||||||
|
|
||||||
|
.demo-iconshtml {
|
||||||
|
font-size: 62.5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons body {
|
||||||
|
font-size: 1.6rem;
|
||||||
|
font-family: sans-serif;
|
||||||
|
color: #333333;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons a {
|
||||||
|
color: #608CEE;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons header {
|
||||||
|
text-align: center;
|
||||||
|
padding: 100px 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons header h1 {
|
||||||
|
font-size: 2.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons header p {
|
||||||
|
font-size: 1.4rem;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons header a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons .nc-icon {
|
||||||
|
font-size: 34px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons section h2 {
|
||||||
|
border-bottom: 1px solid #e2e2e2;
|
||||||
|
padding: 0 0 1em .2em;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul::after {
|
||||||
|
clear: both;
|
||||||
|
content: "";
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul li {
|
||||||
|
width: 20%;
|
||||||
|
float: left;
|
||||||
|
padding: 16px 0;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: .25em;
|
||||||
|
-webkit-transition: background 0.2s;
|
||||||
|
-moz-transition: background 0.2s;
|
||||||
|
transition: background 0.2s;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul li:hover {
|
||||||
|
background: #f4f4f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul p,
|
||||||
|
.demo-icons ul em,
|
||||||
|
.demo-icons ul input {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 1rem;
|
||||||
|
color: #999999;
|
||||||
|
-webkit-user-select: auto;
|
||||||
|
-moz-user-select: auto;
|
||||||
|
-ms-user-select: auto;
|
||||||
|
user-select: auto;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul p {
|
||||||
|
padding: 20px 0 0;
|
||||||
|
font-size: 12px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul p::selection,
|
||||||
|
.demo-icons ul em::selection {
|
||||||
|
background: #608CEE;
|
||||||
|
color: #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul em {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul em::before {
|
||||||
|
content: '[';
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul em::after {
|
||||||
|
content: ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-icons ul input {
|
||||||
|
text-align: center;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
outline: none;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
408
app/static/demo/demo.js
Normal file
408
app/static/demo/demo.js
Normal file
@ -0,0 +1,408 @@
|
|||||||
|
demo = {
|
||||||
|
initPickColor: function() {
|
||||||
|
$('.pick-class-label').click(function() {
|
||||||
|
var new_class = $(this).attr('new-class');
|
||||||
|
var old_class = $('#display-buttons').attr('data-class');
|
||||||
|
var display_div = $('#display-buttons');
|
||||||
|
if (display_div.length) {
|
||||||
|
var display_buttons = display_div.find('.btn');
|
||||||
|
display_buttons.removeClass(old_class);
|
||||||
|
display_buttons.addClass(new_class);
|
||||||
|
display_div.attr('data-class', new_class);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
initDocChart: function() {
|
||||||
|
chartColor = "#FFFFFF";
|
||||||
|
|
||||||
|
ctx = document.getElementById('chartHours').getContext("2d");
|
||||||
|
|
||||||
|
myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
|
||||||
|
data: {
|
||||||
|
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"],
|
||||||
|
datasets: [{
|
||||||
|
borderColor: "#6bd098",
|
||||||
|
backgroundColor: "#6bd098",
|
||||||
|
pointRadius: 0,
|
||||||
|
pointHoverRadius: 0,
|
||||||
|
borderWidth: 3,
|
||||||
|
data: [300, 310, 316, 322, 330, 326, 333, 345, 338, 354]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
borderColor: "#f17e5d",
|
||||||
|
backgroundColor: "#f17e5d",
|
||||||
|
pointRadius: 0,
|
||||||
|
pointHoverRadius: 0,
|
||||||
|
borderWidth: 3,
|
||||||
|
data: [320, 340, 365, 360, 370, 385, 390, 384, 408, 420]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
borderColor: "#fcc468",
|
||||||
|
backgroundColor: "#fcc468",
|
||||||
|
pointRadius: 0,
|
||||||
|
pointHoverRadius: 0,
|
||||||
|
borderWidth: 3,
|
||||||
|
data: [370, 394, 415, 409, 425, 445, 460, 450, 478, 484]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
legend: {
|
||||||
|
display: false
|
||||||
|
},
|
||||||
|
|
||||||
|
tooltips: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
|
||||||
|
ticks: {
|
||||||
|
fontColor: "#9f9f9f",
|
||||||
|
beginAtZero: false,
|
||||||
|
maxTicksLimit: 5,
|
||||||
|
//padding: 20
|
||||||
|
},
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
zeroLineColor: "#ccc",
|
||||||
|
color: 'rgba(255,255,255,0.05)'
|
||||||
|
}
|
||||||
|
|
||||||
|
}],
|
||||||
|
|
||||||
|
xAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(255,255,255,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
display: false,
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9f9f9f"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
initChartsPages: function() {
|
||||||
|
chartColor = "#FFFFFF";
|
||||||
|
|
||||||
|
ctx = document.getElementById('chartHours').getContext("2d");
|
||||||
|
|
||||||
|
myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
|
||||||
|
data: {
|
||||||
|
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"],
|
||||||
|
datasets: [{
|
||||||
|
borderColor: "#6bd098",
|
||||||
|
backgroundColor: "#6bd098",
|
||||||
|
pointRadius: 0,
|
||||||
|
pointHoverRadius: 0,
|
||||||
|
borderWidth: 3,
|
||||||
|
data: [300, 310, 316, 322, 330, 326, 333, 345, 338, 354]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
borderColor: "#f17e5d",
|
||||||
|
backgroundColor: "#f17e5d",
|
||||||
|
pointRadius: 0,
|
||||||
|
pointHoverRadius: 0,
|
||||||
|
borderWidth: 3,
|
||||||
|
data: [320, 340, 365, 360, 370, 385, 390, 384, 408, 420]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
borderColor: "#fcc468",
|
||||||
|
backgroundColor: "#fcc468",
|
||||||
|
pointRadius: 0,
|
||||||
|
pointHoverRadius: 0,
|
||||||
|
borderWidth: 3,
|
||||||
|
data: [370, 394, 415, 409, 425, 445, 460, 450, 478, 484]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
legend: {
|
||||||
|
display: false
|
||||||
|
},
|
||||||
|
|
||||||
|
tooltips: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
|
||||||
|
ticks: {
|
||||||
|
fontColor: "#9f9f9f",
|
||||||
|
beginAtZero: false,
|
||||||
|
maxTicksLimit: 5,
|
||||||
|
//padding: 20
|
||||||
|
},
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
zeroLineColor: "#ccc",
|
||||||
|
color: 'rgba(255,255,255,0.05)'
|
||||||
|
}
|
||||||
|
|
||||||
|
}],
|
||||||
|
|
||||||
|
xAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(255,255,255,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
display: false,
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9f9f9f"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
ctx = document.getElementById('chartEmail').getContext("2d");
|
||||||
|
|
||||||
|
myChart = new Chart(ctx, {
|
||||||
|
type: 'pie',
|
||||||
|
data: {
|
||||||
|
labels: [1, 2, 3],
|
||||||
|
datasets: [{
|
||||||
|
label: "Emails",
|
||||||
|
pointRadius: 0,
|
||||||
|
pointHoverRadius: 0,
|
||||||
|
backgroundColor: [
|
||||||
|
'#e3e3e3',
|
||||||
|
'#4acccd',
|
||||||
|
'#fcc468',
|
||||||
|
'#ef8157'
|
||||||
|
],
|
||||||
|
borderWidth: 0,
|
||||||
|
data: [342, 480, 530, 120]
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
|
||||||
|
options: {
|
||||||
|
|
||||||
|
legend: {
|
||||||
|
display: false
|
||||||
|
},
|
||||||
|
|
||||||
|
pieceLabel: {
|
||||||
|
render: 'percentage',
|
||||||
|
fontColor: ['white'],
|
||||||
|
precision: 2
|
||||||
|
},
|
||||||
|
|
||||||
|
tooltips: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
|
||||||
|
ticks: {
|
||||||
|
display: false
|
||||||
|
},
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
color: 'rgba(255,255,255,0.05)'
|
||||||
|
}
|
||||||
|
|
||||||
|
}],
|
||||||
|
|
||||||
|
xAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(255,255,255,0.1)',
|
||||||
|
zeroLineColor: "transparent"
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var speedCanvas = document.getElementById("speedChart");
|
||||||
|
|
||||||
|
var dataFirst = {
|
||||||
|
data: [0, 19, 15, 20, 30, 40, 40, 50, 25, 30, 50, 70],
|
||||||
|
fill: false,
|
||||||
|
borderColor: '#fbc658',
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
pointBorderColor: '#fbc658',
|
||||||
|
pointRadius: 4,
|
||||||
|
pointHoverRadius: 4,
|
||||||
|
pointBorderWidth: 8,
|
||||||
|
};
|
||||||
|
|
||||||
|
var dataSecond = {
|
||||||
|
data: [0, 5, 10, 12, 20, 27, 30, 34, 42, 45, 55, 63],
|
||||||
|
fill: false,
|
||||||
|
borderColor: '#51CACF',
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
pointBorderColor: '#51CACF',
|
||||||
|
pointRadius: 4,
|
||||||
|
pointHoverRadius: 4,
|
||||||
|
pointBorderWidth: 8
|
||||||
|
};
|
||||||
|
|
||||||
|
var speedData = {
|
||||||
|
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||||
|
datasets: [dataFirst, dataSecond]
|
||||||
|
};
|
||||||
|
|
||||||
|
var chartOptions = {
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
position: 'top'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var lineChart = new Chart(speedCanvas, {
|
||||||
|
type: 'line',
|
||||||
|
hover: false,
|
||||||
|
data: speedData,
|
||||||
|
options: chartOptions
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
initGoogleMaps: function() {
|
||||||
|
var myLatlng = new google.maps.LatLng(40.748817, -73.985428);
|
||||||
|
var mapOptions = {
|
||||||
|
zoom: 13,
|
||||||
|
center: myLatlng,
|
||||||
|
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
|
||||||
|
styles: [{
|
||||||
|
"featureType": "water",
|
||||||
|
"stylers": [{
|
||||||
|
"saturation": 43
|
||||||
|
}, {
|
||||||
|
"lightness": -11
|
||||||
|
}, {
|
||||||
|
"hue": "#0088ff"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "road",
|
||||||
|
"elementType": "geometry.fill",
|
||||||
|
"stylers": [{
|
||||||
|
"hue": "#ff0000"
|
||||||
|
}, {
|
||||||
|
"saturation": -100
|
||||||
|
}, {
|
||||||
|
"lightness": 99
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "road",
|
||||||
|
"elementType": "geometry.stroke",
|
||||||
|
"stylers": [{
|
||||||
|
"color": "#808080"
|
||||||
|
}, {
|
||||||
|
"lightness": 54
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "landscape.man_made",
|
||||||
|
"elementType": "geometry.fill",
|
||||||
|
"stylers": [{
|
||||||
|
"color": "#ece2d9"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "poi.park",
|
||||||
|
"elementType": "geometry.fill",
|
||||||
|
"stylers": [{
|
||||||
|
"color": "#ccdca1"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "road",
|
||||||
|
"elementType": "labels.text.fill",
|
||||||
|
"stylers": [{
|
||||||
|
"color": "#767676"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "road",
|
||||||
|
"elementType": "labels.text.stroke",
|
||||||
|
"stylers": [{
|
||||||
|
"color": "#ffffff"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "poi",
|
||||||
|
"stylers": [{
|
||||||
|
"visibility": "off"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "landscape.natural",
|
||||||
|
"elementType": "geometry.fill",
|
||||||
|
"stylers": [{
|
||||||
|
"visibility": "on"
|
||||||
|
}, {
|
||||||
|
"color": "#b8cb93"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "poi.park",
|
||||||
|
"stylers": [{
|
||||||
|
"visibility": "on"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "poi.sports_complex",
|
||||||
|
"stylers": [{
|
||||||
|
"visibility": "on"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "poi.medical",
|
||||||
|
"stylers": [{
|
||||||
|
"visibility": "on"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"featureType": "poi.business",
|
||||||
|
"stylers": [{
|
||||||
|
"visibility": "simplified"
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
|
||||||
|
}
|
||||||
|
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
|
||||||
|
|
||||||
|
var marker = new google.maps.Marker({
|
||||||
|
position: myLatlng,
|
||||||
|
title: "Hello World!"
|
||||||
|
});
|
||||||
|
|
||||||
|
// To add the marker to the map, call setMap();
|
||||||
|
marker.setMap(map);
|
||||||
|
},
|
||||||
|
|
||||||
|
showNotification: function(from, align) {
|
||||||
|
color = 'primary';
|
||||||
|
|
||||||
|
$.notify({
|
||||||
|
icon: "nc-icon nc-bell-55",
|
||||||
|
message: "Welcome to <b>Paper Dashboard</b> - a beautiful bootstrap dashboard for every web developer."
|
||||||
|
|
||||||
|
}, {
|
||||||
|
type: color,
|
||||||
|
timer: 8000,
|
||||||
|
placement: {
|
||||||
|
from: from,
|
||||||
|
align: align
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
7
app/static/js/core/bootstrap.min.js
vendored
Normal file
7
app/static/js/core/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
app/static/js/core/jquery.min.js
vendored
Normal file
4
app/static/js/core/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
app/static/js/core/popper.min.js
vendored
Normal file
4
app/static/js/core/popper.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
196
app/static/js/paper-dashboard.js
Normal file
196
app/static/js/paper-dashboard.js
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
=========================================================
|
||||||
|
* Paper Dashboard 2 - v2.0.0
|
||||||
|
=========================================================
|
||||||
|
|
||||||
|
* Product Page: https://www.creative-tim.com/product/paper-dashboard-2
|
||||||
|
* Copyright 2018 Creative Tim (http://www.creative-tim.com)
|
||||||
|
|
||||||
|
* Designed by www.invisionapp.com Coded by www.creative-tim.com
|
||||||
|
|
||||||
|
=========================================================
|
||||||
|
|
||||||
|
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
isWindows = navigator.platform.indexOf('Win') > -1 ? true : false;
|
||||||
|
|
||||||
|
if (isWindows) {
|
||||||
|
// if we are on windows OS we activate the perfectScrollbar function
|
||||||
|
$('.sidebar .sidebar-wrapper, .main-panel').perfectScrollbar();
|
||||||
|
|
||||||
|
$('html').addClass('perfect-scrollbar-on');
|
||||||
|
} else {
|
||||||
|
$('html').addClass('perfect-scrollbar-off');
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
transparent = true;
|
||||||
|
transparentDemo = true;
|
||||||
|
fixedTop = false;
|
||||||
|
|
||||||
|
navbar_initialized = false;
|
||||||
|
backgroundOrange = false;
|
||||||
|
sidebar_mini_active = false;
|
||||||
|
toggle_initialized = false;
|
||||||
|
|
||||||
|
seq = 0, delays = 80, durations = 500;
|
||||||
|
seq2 = 0, delays2 = 80, durations2 = 500;
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
if ($('.full-screen-map').length == 0 && $('.bd-docs').length == 0) {
|
||||||
|
// On click navbar-collapse the menu will be white not transparent
|
||||||
|
$('.collapse').on('show.bs.collapse', function() {
|
||||||
|
$(this).closest('.navbar').removeClass('navbar-transparent').addClass('bg-white');
|
||||||
|
}).on('hide.bs.collapse', function() {
|
||||||
|
$(this).closest('.navbar').addClass('navbar-transparent').removeClass('bg-white');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
paperDashboard.initMinimizeSidebar();
|
||||||
|
|
||||||
|
$navbar = $('.navbar[color-on-scroll]');
|
||||||
|
scroll_distance = $navbar.attr('color-on-scroll') || 500;
|
||||||
|
|
||||||
|
// Check if we have the class "navbar-color-on-scroll" then add the function to remove the class "navbar-transparent" so it will transform to a plain color.
|
||||||
|
if ($('.navbar[color-on-scroll]').length != 0) {
|
||||||
|
paperDashboard.checkScrollForTransparentNavbar();
|
||||||
|
$(window).on('scroll', paperDashboard.checkScrollForTransparentNavbar)
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.form-control').on("focus", function() {
|
||||||
|
$(this).parent('.input-group').addClass("input-group-focus");
|
||||||
|
}).on("blur", function() {
|
||||||
|
$(this).parent(".input-group").removeClass("input-group-focus");
|
||||||
|
});
|
||||||
|
|
||||||
|
// Activate bootstrapSwitch
|
||||||
|
$('.bootstrap-switch').each(function() {
|
||||||
|
$this = $(this);
|
||||||
|
data_on_label = $this.data('on-label') || '';
|
||||||
|
data_off_label = $this.data('off-label') || '';
|
||||||
|
|
||||||
|
$this.bootstrapSwitch({
|
||||||
|
onText: data_on_label,
|
||||||
|
offText: data_off_label
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '.navbar-toggle', function() {
|
||||||
|
$toggle = $(this);
|
||||||
|
|
||||||
|
if (paperDashboard.misc.navbar_menu_visible == 1) {
|
||||||
|
$('html').removeClass('nav-open');
|
||||||
|
paperDashboard.misc.navbar_menu_visible = 0;
|
||||||
|
setTimeout(function() {
|
||||||
|
$toggle.removeClass('toggled');
|
||||||
|
$('#bodyClick').remove();
|
||||||
|
}, 550);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
setTimeout(function() {
|
||||||
|
$toggle.addClass('toggled');
|
||||||
|
}, 580);
|
||||||
|
|
||||||
|
div = '<div id="bodyClick"></div>';
|
||||||
|
$(div).appendTo('body').click(function() {
|
||||||
|
$('html').removeClass('nav-open');
|
||||||
|
paperDashboard.misc.navbar_menu_visible = 0;
|
||||||
|
setTimeout(function() {
|
||||||
|
$toggle.removeClass('toggled');
|
||||||
|
$('#bodyClick').remove();
|
||||||
|
}, 550);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('html').addClass('nav-open');
|
||||||
|
paperDashboard.misc.navbar_menu_visible = 1;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(window).resize(function() {
|
||||||
|
// reset the seq for charts drawing animations
|
||||||
|
seq = seq2 = 0;
|
||||||
|
|
||||||
|
if ($('.full-screen-map').length == 0 && $('.bd-docs').length == 0) {
|
||||||
|
$navbar = $('.navbar');
|
||||||
|
isExpanded = $('.navbar').find('[data-toggle="collapse"]').attr("aria-expanded");
|
||||||
|
if ($navbar.hasClass('bg-white') && $(window).width() > 991) {
|
||||||
|
$navbar.removeClass('bg-white').addClass('navbar-transparent');
|
||||||
|
} else if ($navbar.hasClass('navbar-transparent') && $(window).width() < 991 && isExpanded != "false") {
|
||||||
|
$navbar.addClass('bg-white').removeClass('navbar-transparent');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
paperDashboard = {
|
||||||
|
misc: {
|
||||||
|
navbar_menu_visible: 0
|
||||||
|
},
|
||||||
|
|
||||||
|
initMinimizeSidebar: function() {
|
||||||
|
if ($('.sidebar-mini').length != 0) {
|
||||||
|
sidebar_mini_active = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#minimizeSidebar').click(function() {
|
||||||
|
var $btn = $(this);
|
||||||
|
|
||||||
|
if (sidebar_mini_active == true) {
|
||||||
|
$('body').addClass('sidebar-mini');
|
||||||
|
sidebar_mini_active = true;
|
||||||
|
paperDashboard.showSidebarMessage('Sidebar mini activated...');
|
||||||
|
} else {
|
||||||
|
$('body').removeClass('sidebar-mini');
|
||||||
|
sidebar_mini_active = false;
|
||||||
|
paperDashboard.showSidebarMessage('Sidebar mini deactivated...');
|
||||||
|
}
|
||||||
|
|
||||||
|
// we simulate the window Resize so the charts will get updated in realtime.
|
||||||
|
var simulateWindowResize = setInterval(function() {
|
||||||
|
window.dispatchEvent(new Event('resize'));
|
||||||
|
}, 180);
|
||||||
|
|
||||||
|
// we stop the simulation of Window Resize after the animations are completed
|
||||||
|
setTimeout(function() {
|
||||||
|
clearInterval(simulateWindowResize);
|
||||||
|
}, 1000);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
showSidebarMessage: function(message) {
|
||||||
|
try {
|
||||||
|
$.notify({
|
||||||
|
icon: "now-ui-icons ui-1_bell-53",
|
||||||
|
message: message
|
||||||
|
}, {
|
||||||
|
type: 'info',
|
||||||
|
timer: 4000,
|
||||||
|
placement: {
|
||||||
|
from: 'top',
|
||||||
|
align: 'right'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
console.log('Notify library is missing, please make sure you have the notifications library added.');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
function hexToRGB(hex, alpha) {
|
||||||
|
var r = parseInt(hex.slice(1, 3), 16),
|
||||||
|
g = parseInt(hex.slice(3, 5), 16),
|
||||||
|
b = parseInt(hex.slice(5, 7), 16);
|
||||||
|
|
||||||
|
if (alpha) {
|
||||||
|
return "rgba(" + r + ", " + g + ", " + b + ", " + alpha + ")";
|
||||||
|
} else {
|
||||||
|
return "rgb(" + r + ", " + g + ", " + b + ")";
|
||||||
|
}
|
||||||
|
}
|
||||||
1
app/static/js/paper-dashboard.js.map
Normal file
1
app/static/js/paper-dashboard.js.map
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":3,"sources":["_site_dashboard_free/assets/js/dashboard-free.js"],"names":["hexToRGB","hex","alpha","r","parseInt","slice","g","b","isWindows","navigator","platform","indexOf","$","perfectScrollbar","addClass","transparent","transparentDemo","fixedTop","navbar_initialized","backgroundOrange","sidebar_mini_active","toggle_initialized","seq","delays","durations","seq2","delays2","durations2","document","ready","length","on","this","closest","removeClass","paperDashboard","initMinimizeSidebar","$navbar","scroll_distance","attr","checkScrollForTransparentNavbar","window","parent","each","$this","data_on_label","data","data_off_label","bootstrapSwitch","onText","offText","$toggle","misc","navbar_menu_visible","setTimeout","remove","div","appendTo","click","resize","isExpanded","find","hasClass","width","showSidebarMessage","simulateWindowResize","setInterval","dispatchEvent","Event","clearInterval","message","notify","icon","type","timer","placement","from","align","e","console","log"],"mappings":"AAyLA,SAASA,SAASC,EAAKC,GACnB,IAAIC,EAAIC,SAASH,EAAII,MAAM,EAAG,GAAI,IAC9BC,EAAIF,SAASH,EAAII,MAAM,EAAG,GAAI,IAC9BE,EAAIH,SAASH,EAAII,MAAM,EAAG,GAAI,IAElC,OAAIH,EACO,QAAUC,EAAI,KAAOG,EAAI,KAAOC,EAAI,KAAOL,EAAQ,IAEnD,OAASC,EAAI,KAAOG,EAAI,KAAOC,EAAI,IA/K9CC,WAAiD,EAArCC,UAAUC,SAASC,QAAQ,OAEnCH,WAEDI,EAAE,0CAA0CC,mBAE5CD,EAAE,QAAQE,SAAS,yBAEnBF,EAAE,QAAQE,SAAS,yBAI1BC,aAAc,EACdC,iBAAkB,EAClBC,UAAW,EAEXC,oBAAqB,EACrBC,kBAAmB,EACnBC,qBAAsB,EACtBC,oBAAqB,EAErBC,IAAM,EAAGC,OAAS,GAAIC,UAAY,IAClCC,KAAO,EAAGC,QAAU,GAAIC,WAAa,IAErCf,EAAEgB,UAAUC,MAAM,WAEoB,GAAhCjB,EAAE,oBAAoBkB,QAAuC,GAAxBlB,EAAE,YAAYkB,QAErDlB,EAAE,aAAamB,GAAG,mBAAoB,WAClCnB,EAAEoB,MAAMC,QAAQ,WAAWC,YAAY,sBAAsBpB,SAAS,cACvEiB,GAAG,mBAAoB,WACtBnB,EAAEoB,MAAMC,QAAQ,WAAWnB,SAAS,sBAAsBoB,YAAY,cAI5EC,eAAeC,sBAEfC,QAAUzB,EAAE,4BACZ0B,gBAAkBD,QAAQE,KAAK,oBAAsB,IAGV,GAAxC3B,EAAE,4BAA4BkB,SAC7BK,eAAeK,kCACf5B,EAAE6B,QAAQV,GAAG,SAAUI,eAAeK,kCAG1C5B,EAAE,iBAAiBmB,GAAG,QAAS,WAC3BnB,EAAEoB,MAAMU,OAAO,gBAAgB5B,SAAS,uBACzCiB,GAAG,OAAQ,WACVnB,EAAEoB,MAAMU,OAAO,gBAAgBR,YAAY,uBAI/CtB,EAAE,qBAAqB+B,KAAK,WACxBC,MAAQhC,EAAEoB,MACVa,cAAgBD,MAAME,KAAK,aAAe,GAC1CC,eAAiBH,MAAME,KAAK,cAAgB,GAE5CF,MAAMI,gBAAgB,CAClBC,OAAQJ,cACRK,QAASH,qBAKnBnC,EAAEgB,UAAUG,GAAG,QAAS,iBAAkB,WACtCoB,QAAUvC,EAAEoB,MAEkC,GAA3CG,eAAeiB,KAAKC,qBACnBzC,EAAE,QAAQsB,YAAY,YACtBC,eAAeiB,KAAKC,oBAAsB,EAC1CC,WAAW,WACPH,QAAQjB,YAAY,WACpBtB,EAAE,cAAc2C,UACjB,OAGHD,WAAW,WACPH,QAAQrC,SAAS,YAClB,KAEH0C,IAAM,6BACN5C,EAAE4C,KAAKC,SAAS,QAAQC,MAAM,WAC1B9C,EAAE,QAAQsB,YAAY,YACtBC,eAAeiB,KAAKC,oBAAsB,EACtCC,WAAW,WACPH,QAAQjB,YAAY,WACpBtB,EAAE,cAAc2C,UAClB,OAGV3C,EAAE,QAAQE,SAAS,YACnBqB,eAAeiB,KAAKC,oBAAsB,KAIlDzC,EAAE6B,QAAQkB,OAAO,WAEbrC,IAAMG,KAAO,EAEsB,GAAhCb,EAAE,oBAAoBkB,QAAuC,GAAxBlB,EAAE,YAAYkB,SACpDO,QAAUzB,EAAE,WACZgD,WAAahD,EAAE,WAAWiD,KAAK,4BAA4BtB,KAAK,iBAC5DF,QAAQyB,SAAS,aAAmC,IAApBlD,EAAE6B,QAAQsB,QAC5C1B,QAAQH,YAAY,YAAYpB,SAAS,sBAChCuB,QAAQyB,SAAS,uBAAyBlD,EAAE6B,QAAQsB,QAAU,KAAqB,SAAdH,YAC9EvB,QAAQvB,SAAS,YAAYoB,YAAY,yBAKjDC,eAAiB,CACfiB,KAAK,CACDC,oBAAqB,GAGzBjB,oBAAoB,WACgB,GAA7BxB,EAAE,iBAAiBkB,SACpBV,qBAAsB,GAGxBR,EAAE,oBAAoB8C,MAAM,WACb9C,EAAEoB,MAEa,GAAvBZ,qBACDR,EAAE,QAAQE,SAAS,gBACnBM,qBAAsB,EACtBe,eAAe6B,mBAAmB,+BAElCpD,EAAE,QAAQsB,YAAY,gBACtBd,qBAAsB,EACtBe,eAAe6B,mBAAmB,gCAIpC,IAAIC,EAAuBC,YAAY,WACnCzB,OAAO0B,cAAc,IAAIC,MAAM,YACjC,KAGFd,WAAW,WACPe,cAAcJ,IAChB,QAIVD,mBAAoB,SAASM,GAC3B,IACE1D,EAAE2D,OAAO,CACLC,KAAM,4BACNF,QAASA,GACT,CACEG,KAAM,OACNC,MAAO,IACPC,UAAW,CACPC,KAAM,MACNC,MAAO,WAGjB,MAAOC,GACPC,QAAQC,IAAI"}
|
||||||
2
app/static/js/paper-dashboard.min.js
vendored
Normal file
2
app/static/js/paper-dashboard.min.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
function hexToRGB(a,e){var i=parseInt(a.slice(1,3),16),n=parseInt(a.slice(3,5),16),s=parseInt(a.slice(5,7),16);return e?"rgba("+i+", "+n+", "+s+", "+e+")":"rgb("+i+", "+n+", "+s+")"}isWindows=-1<navigator.platform.indexOf("Win"),isWindows?($(".sidebar .sidebar-wrapper, .main-panel").perfectScrollbar(),$("html").addClass("perfect-scrollbar-on")):$("html").addClass("perfect-scrollbar-off"),transparent=!0,transparentDemo=!0,fixedTop=!1,navbar_initialized=!1,backgroundOrange=!1,sidebar_mini_active=!1,toggle_initialized=!1,seq=0,delays=80,durations=500,seq2=0,delays2=80,durations2=500,$(document).ready(function(){0==$(".full-screen-map").length&&0==$(".bd-docs").length&&$(".collapse").on("show.bs.collapse",function(){$(this).closest(".navbar").removeClass("navbar-transparent").addClass("bg-white")}).on("hide.bs.collapse",function(){$(this).closest(".navbar").addClass("navbar-transparent").removeClass("bg-white")}),paperDashboard.initMinimizeSidebar(),$navbar=$(".navbar[color-on-scroll]"),scroll_distance=$navbar.attr("color-on-scroll")||500,0!=$(".navbar[color-on-scroll]").length&&(paperDashboard.checkScrollForTransparentNavbar(),$(window).on("scroll",paperDashboard.checkScrollForTransparentNavbar)),$(".form-control").on("focus",function(){$(this).parent(".input-group").addClass("input-group-focus")}).on("blur",function(){$(this).parent(".input-group").removeClass("input-group-focus")}),$(".bootstrap-switch").each(function(){$this=$(this),data_on_label=$this.data("on-label")||"",data_off_label=$this.data("off-label")||"",$this.bootstrapSwitch({onText:data_on_label,offText:data_off_label})})}),$(document).on("click",".navbar-toggle",function(){$toggle=$(this),1==paperDashboard.misc.navbar_menu_visible?($("html").removeClass("nav-open"),paperDashboard.misc.navbar_menu_visible=0,setTimeout(function(){$toggle.removeClass("toggled"),$("#bodyClick").remove()},550)):(setTimeout(function(){$toggle.addClass("toggled")},580),div='<div id="bodyClick"></div>',$(div).appendTo("body").click(function(){$("html").removeClass("nav-open"),paperDashboard.misc.navbar_menu_visible=0,setTimeout(function(){$toggle.removeClass("toggled"),$("#bodyClick").remove()},550)}),$("html").addClass("nav-open"),paperDashboard.misc.navbar_menu_visible=1)}),$(window).resize(function(){seq=seq2=0,0==$(".full-screen-map").length&&0==$(".bd-docs").length&&($navbar=$(".navbar"),isExpanded=$(".navbar").find('[data-toggle="collapse"]').attr("aria-expanded"),$navbar.hasClass("bg-white")&&991<$(window).width()?$navbar.removeClass("bg-white").addClass("navbar-transparent"):$navbar.hasClass("navbar-transparent")&&$(window).width()<991&&"false"!=isExpanded&&$navbar.addClass("bg-white").removeClass("navbar-transparent"))}),paperDashboard={misc:{navbar_menu_visible:0},initMinimizeSidebar:function(){0!=$(".sidebar-mini").length&&(sidebar_mini_active=!0),$("#minimizeSidebar").click(function(){$(this);1==sidebar_mini_active?($("body").addClass("sidebar-mini"),sidebar_mini_active=!0,paperDashboard.showSidebarMessage("Sidebar mini activated...")):($("body").removeClass("sidebar-mini"),sidebar_mini_active=!1,paperDashboard.showSidebarMessage("Sidebar mini deactivated..."));var a=setInterval(function(){window.dispatchEvent(new Event("resize"))},180);setTimeout(function(){clearInterval(a)},1e3)})},showSidebarMessage:function(a){try{$.notify({icon:"now-ui-icons ui-1_bell-53",message:a},{type:"info",timer:4e3,placement:{from:"top",align:"right"}})}catch(a){console.log("Notify library is missing, please make sure you have the notifications library added.")}}};
|
||||||
|
//# sourceMappingURL=_site_dashboard_free/assets/js/dashboard-free.js.map
|
||||||
432
app/static/js/plugins/bootstrap-notify.js
vendored
Normal file
432
app/static/js/plugins/bootstrap-notify.js
vendored
Normal file
@ -0,0 +1,432 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Creative Tim Modifications
|
||||||
|
|
||||||
|
Lines: 238, 239 was changed from top: 5px to top: 50% and we added margin-top: -13px. In this way the close button will be aligned vertically
|
||||||
|
Line:222 - modified when the icon is set, we add the class "alert-with-icon", so there will be enough space for the icon.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Project: Bootstrap Notify = v3.1.5
|
||||||
|
* Description: Turns standard Bootstrap alerts into "Growl-like" notifications.
|
||||||
|
* Author: Mouse0270 aka Robert McIntosh
|
||||||
|
* License: MIT License
|
||||||
|
* Website: https://github.com/mouse0270/bootstrap-growl
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* global define:false, require: false, jQuery:false */
|
||||||
|
|
||||||
|
(function(factory) {
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['jquery'], factory);
|
||||||
|
} else if (typeof exports === 'object') {
|
||||||
|
// Node/CommonJS
|
||||||
|
factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory(jQuery);
|
||||||
|
}
|
||||||
|
}(function($) {
|
||||||
|
// Create the defaults once
|
||||||
|
var defaults = {
|
||||||
|
element: 'body',
|
||||||
|
position: null,
|
||||||
|
type: "info",
|
||||||
|
allow_dismiss: true,
|
||||||
|
allow_duplicates: true,
|
||||||
|
newest_on_top: false,
|
||||||
|
showProgressbar: false,
|
||||||
|
placement: {
|
||||||
|
from: "top",
|
||||||
|
align: "right"
|
||||||
|
},
|
||||||
|
offset: 20,
|
||||||
|
spacing: 10,
|
||||||
|
z_index: 1060,
|
||||||
|
delay: 5000,
|
||||||
|
timer: 1000,
|
||||||
|
url_target: '_blank',
|
||||||
|
mouse_over: null,
|
||||||
|
animate: {
|
||||||
|
enter: 'animated fadeInDown',
|
||||||
|
exit: 'animated fadeOutUp'
|
||||||
|
},
|
||||||
|
onShow: null,
|
||||||
|
onShown: null,
|
||||||
|
onClose: null,
|
||||||
|
onClosed: null,
|
||||||
|
onClick: null,
|
||||||
|
icon_type: 'class',
|
||||||
|
template: '<div data-notify="container" class="col-11 col-md-4 alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss"><i class="nc-icon nc-simple-remove"></i></button><span data-notify="icon"></span> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>'
|
||||||
|
};
|
||||||
|
|
||||||
|
String.format = function() {
|
||||||
|
var args = arguments;
|
||||||
|
var str = arguments[0];
|
||||||
|
return str.replace(/(\{\{\d\}\}|\{\d\})/g, function(str) {
|
||||||
|
if (str.substring(0, 2) === "{{") return str;
|
||||||
|
var num = parseInt(str.match(/\d/)[0]);
|
||||||
|
return args[num + 1];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
function isDuplicateNotification(notification) {
|
||||||
|
var isDupe = false;
|
||||||
|
|
||||||
|
$('[data-notify="container"]').each(function(i, el) {
|
||||||
|
var $el = $(el);
|
||||||
|
var title = $el.find('[data-notify="title"]').html().trim();
|
||||||
|
var message = $el.find('[data-notify="message"]').html().trim();
|
||||||
|
|
||||||
|
// The input string might be different than the actual parsed HTML string!
|
||||||
|
// (<br> vs <br /> for example)
|
||||||
|
// So we have to force-parse this as HTML here!
|
||||||
|
var isSameTitle = title === $("<div>" + notification.settings.content.title + "</div>").html().trim();
|
||||||
|
var isSameMsg = message === $("<div>" + notification.settings.content.message + "</div>").html().trim();
|
||||||
|
var isSameType = $el.hasClass('alert-' + notification.settings.type);
|
||||||
|
|
||||||
|
if (isSameTitle && isSameMsg && isSameType) {
|
||||||
|
//we found the dupe. Set the var and stop checking.
|
||||||
|
isDupe = true;
|
||||||
|
}
|
||||||
|
return !isDupe;
|
||||||
|
});
|
||||||
|
|
||||||
|
return isDupe;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Notify(element, content, options) {
|
||||||
|
// Setup Content of Notify
|
||||||
|
var contentObj = {
|
||||||
|
content: {
|
||||||
|
message: typeof content === 'object' ? content.message : content,
|
||||||
|
title: content.title ? content.title : '',
|
||||||
|
icon: content.icon ? content.icon : '',
|
||||||
|
url: content.url ? content.url : '#',
|
||||||
|
target: content.target ? content.target : '-'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
options = $.extend(true, {}, contentObj, options);
|
||||||
|
this.settings = $.extend(true, {}, defaults, options);
|
||||||
|
this._defaults = defaults;
|
||||||
|
if (this.settings.content.target === "-") {
|
||||||
|
this.settings.content.target = this.settings.url_target;
|
||||||
|
}
|
||||||
|
this.animations = {
|
||||||
|
start: 'webkitAnimationStart oanimationstart MSAnimationStart animationstart',
|
||||||
|
end: 'webkitAnimationEnd oanimationend MSAnimationEnd animationend'
|
||||||
|
};
|
||||||
|
|
||||||
|
if (typeof this.settings.offset === 'number') {
|
||||||
|
this.settings.offset = {
|
||||||
|
x: this.settings.offset,
|
||||||
|
y: this.settings.offset
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
//if duplicate messages are not allowed, then only continue if this new message is not a duplicate of one that it already showing
|
||||||
|
if (this.settings.allow_duplicates || (!this.settings.allow_duplicates && !isDuplicateNotification(this))) {
|
||||||
|
this.init();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$.extend(Notify.prototype, {
|
||||||
|
init: function() {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.buildNotify();
|
||||||
|
if (this.settings.content.icon) {
|
||||||
|
this.setIcon();
|
||||||
|
}
|
||||||
|
if (this.settings.content.url != "#") {
|
||||||
|
this.styleURL();
|
||||||
|
}
|
||||||
|
this.styleDismiss();
|
||||||
|
this.placement();
|
||||||
|
this.bind();
|
||||||
|
|
||||||
|
this.notify = {
|
||||||
|
$ele: this.$ele,
|
||||||
|
update: function(command, update) {
|
||||||
|
var commands = {};
|
||||||
|
if (typeof command === "string") {
|
||||||
|
commands[command] = update;
|
||||||
|
} else {
|
||||||
|
commands = command;
|
||||||
|
}
|
||||||
|
for (var cmd in commands) {
|
||||||
|
switch (cmd) {
|
||||||
|
case "type":
|
||||||
|
this.$ele.removeClass('alert-' + self.settings.type);
|
||||||
|
this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass('progress-bar-' + self.settings.type);
|
||||||
|
self.settings.type = commands[cmd];
|
||||||
|
this.$ele.addClass('alert-' + commands[cmd]).find('[data-notify="progressbar"] > .progress-bar').addClass('progress-bar-' + commands[cmd]);
|
||||||
|
break;
|
||||||
|
case "icon":
|
||||||
|
var $icon = this.$ele.find('[data-notify="icon"]');
|
||||||
|
if (self.settings.icon_type.toLowerCase() === 'class') {
|
||||||
|
$icon.removeClass(self.settings.content.icon).addClass(commands[cmd]);
|
||||||
|
} else {
|
||||||
|
if (!$icon.is('img')) {
|
||||||
|
$icon.find('img');
|
||||||
|
}
|
||||||
|
$icon.attr('src', commands[cmd]);
|
||||||
|
}
|
||||||
|
self.settings.content.icon = commands[command];
|
||||||
|
break;
|
||||||
|
case "progress":
|
||||||
|
var newDelay = self.settings.delay - (self.settings.delay * (commands[cmd] / 100));
|
||||||
|
this.$ele.data('notify-delay', newDelay);
|
||||||
|
this.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', commands[cmd]).css('width', commands[cmd] + '%');
|
||||||
|
break;
|
||||||
|
case "url":
|
||||||
|
this.$ele.find('[data-notify="url"]').attr('href', commands[cmd]);
|
||||||
|
break;
|
||||||
|
case "target":
|
||||||
|
this.$ele.find('[data-notify="url"]').attr('target', commands[cmd]);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
this.$ele.find('[data-notify="' + cmd + '"]').html(commands[cmd]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var posX = this.$ele.outerHeight() + parseInt(self.settings.spacing) + parseInt(self.settings.offset.y);
|
||||||
|
self.reposition(posX);
|
||||||
|
},
|
||||||
|
close: function() {
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
},
|
||||||
|
buildNotify: function() {
|
||||||
|
var content = this.settings.content;
|
||||||
|
this.$ele = $(String.format(this.settings.template, this.settings.type, content.title, content.message, content.url, content.target));
|
||||||
|
this.$ele.attr('data-notify-position', this.settings.placement.from + '-' + this.settings.placement.align);
|
||||||
|
if (!this.settings.allow_dismiss) {
|
||||||
|
this.$ele.find('[data-notify="dismiss"]').css('display', 'none');
|
||||||
|
}
|
||||||
|
if ((this.settings.delay <= 0 && !this.settings.showProgressbar) || !this.settings.showProgressbar) {
|
||||||
|
this.$ele.find('[data-notify="progressbar"]').remove();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setIcon: function() {
|
||||||
|
this.$ele.addClass('alert-with-icon');
|
||||||
|
|
||||||
|
if (this.settings.icon_type.toLowerCase() === 'class') {
|
||||||
|
this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon);
|
||||||
|
} else {
|
||||||
|
if (this.$ele.find('[data-notify="icon"]').is('img')) {
|
||||||
|
this.$ele.find('[data-notify="icon"]').attr('src', this.settings.content.icon);
|
||||||
|
} else {
|
||||||
|
this.$ele.find('[data-notify="icon"]').append('<img src="' + this.settings.content.icon + '" alt="Notify Icon" />');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
styleDismiss: function() {
|
||||||
|
this.$ele.find('[data-notify="dismiss"]').css({
|
||||||
|
position: 'absolute',
|
||||||
|
right: '10px',
|
||||||
|
top: '50%',
|
||||||
|
marginTop: '-13px',
|
||||||
|
zIndex: this.settings.z_index + 2
|
||||||
|
});
|
||||||
|
},
|
||||||
|
styleURL: function() {
|
||||||
|
this.$ele.find('[data-notify="url"]').css({
|
||||||
|
backgroundImage: 'url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)',
|
||||||
|
height: '100%',
|
||||||
|
left: 0,
|
||||||
|
position: 'absolute',
|
||||||
|
top: 0,
|
||||||
|
width: '100%',
|
||||||
|
zIndex: this.settings.z_index + 1
|
||||||
|
});
|
||||||
|
},
|
||||||
|
placement: function() {
|
||||||
|
var self = this,
|
||||||
|
offsetAmt = this.settings.offset.y,
|
||||||
|
css = {
|
||||||
|
display: 'inline-block',
|
||||||
|
margin: '0px auto',
|
||||||
|
position: this.settings.position ? this.settings.position : (this.settings.element === 'body' ? 'fixed' : 'absolute'),
|
||||||
|
transition: 'all .5s ease-in-out',
|
||||||
|
zIndex: this.settings.z_index
|
||||||
|
},
|
||||||
|
hasAnimation = false,
|
||||||
|
settings = this.settings;
|
||||||
|
|
||||||
|
$('[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])').each(function() {
|
||||||
|
offsetAmt = Math.max(offsetAmt, parseInt($(this).css(settings.placement.from)) + parseInt($(this).outerHeight()) + parseInt(settings.spacing));
|
||||||
|
});
|
||||||
|
if (this.settings.newest_on_top === true) {
|
||||||
|
offsetAmt = this.settings.offset.y;
|
||||||
|
}
|
||||||
|
css[this.settings.placement.from] = offsetAmt + 'px';
|
||||||
|
|
||||||
|
switch (this.settings.placement.align) {
|
||||||
|
case "left":
|
||||||
|
case "right":
|
||||||
|
css[this.settings.placement.align] = this.settings.offset.x + 'px';
|
||||||
|
break;
|
||||||
|
case "center":
|
||||||
|
css.left = 0;
|
||||||
|
css.right = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this.$ele.css(css).addClass(this.settings.animate.enter);
|
||||||
|
$.each(Array('webkit-', 'moz-', 'o-', 'ms-', ''), function(index, prefix) {
|
||||||
|
self.$ele[0].style[prefix + 'AnimationIterationCount'] = 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
$(this.settings.element).append(this.$ele);
|
||||||
|
|
||||||
|
if (this.settings.newest_on_top === true) {
|
||||||
|
offsetAmt = (parseInt(offsetAmt) + parseInt(this.settings.spacing)) + this.$ele.outerHeight();
|
||||||
|
this.reposition(offsetAmt);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($.isFunction(self.settings.onShow)) {
|
||||||
|
self.settings.onShow.call(this.$ele);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$ele.one(this.animations.start, function() {
|
||||||
|
hasAnimation = true;
|
||||||
|
}).one(this.animations.end, function() {
|
||||||
|
self.$ele.removeClass(self.settings.animate.enter);
|
||||||
|
if ($.isFunction(self.settings.onShown)) {
|
||||||
|
self.settings.onShown.call(this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
if (!hasAnimation) {
|
||||||
|
if ($.isFunction(self.settings.onShown)) {
|
||||||
|
self.settings.onShown.call(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 600);
|
||||||
|
},
|
||||||
|
bind: function() {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$ele.find('[data-notify="dismiss"]').on('click', function() {
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
|
||||||
|
if ($.isFunction(self.settings.onClick)) {
|
||||||
|
this.$ele.on('click', function(event) {
|
||||||
|
if (event.target != self.$ele.find('[data-notify="dismiss"]')[0]) {
|
||||||
|
self.settings.onClick.call(this, event);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$ele.mouseover(function() {
|
||||||
|
$(this).data('data-hover', "true");
|
||||||
|
}).mouseout(function() {
|
||||||
|
$(this).data('data-hover', "false");
|
||||||
|
});
|
||||||
|
this.$ele.data('data-hover', "false");
|
||||||
|
|
||||||
|
if (this.settings.delay > 0) {
|
||||||
|
self.$ele.data('notify-delay', self.settings.delay);
|
||||||
|
var timer = setInterval(function() {
|
||||||
|
var delay = parseInt(self.$ele.data('notify-delay')) - self.settings.timer;
|
||||||
|
if ((self.$ele.data('data-hover') === 'false' && self.settings.mouse_over === "pause") || self.settings.mouse_over != "pause") {
|
||||||
|
var percent = ((self.settings.delay - delay) / self.settings.delay) * 100;
|
||||||
|
self.$ele.data('notify-delay', delay);
|
||||||
|
self.$ele.find('[data-notify="progressbar"] > div').attr('aria-valuenow', percent).css('width', percent + '%');
|
||||||
|
}
|
||||||
|
if (delay <= -(self.settings.timer)) {
|
||||||
|
clearInterval(timer);
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
}, self.settings.timer);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
close: function() {
|
||||||
|
var self = this,
|
||||||
|
posX = parseInt(this.$ele.css(this.settings.placement.from)),
|
||||||
|
hasAnimation = false;
|
||||||
|
|
||||||
|
this.$ele.attr('data-closing', 'true').addClass(this.settings.animate.exit);
|
||||||
|
self.reposition(posX);
|
||||||
|
|
||||||
|
if ($.isFunction(self.settings.onClose)) {
|
||||||
|
self.settings.onClose.call(this.$ele);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$ele.one(this.animations.start, function() {
|
||||||
|
hasAnimation = true;
|
||||||
|
}).one(this.animations.end, function() {
|
||||||
|
$(this).remove();
|
||||||
|
if ($.isFunction(self.settings.onClosed)) {
|
||||||
|
self.settings.onClosed.call(this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
if (!hasAnimation) {
|
||||||
|
self.$ele.remove();
|
||||||
|
if (self.settings.onClosed) {
|
||||||
|
self.settings.onClosed(self.$ele);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 600);
|
||||||
|
},
|
||||||
|
reposition: function(posX) {
|
||||||
|
var self = this,
|
||||||
|
notifies = '[data-notify-position="' + this.settings.placement.from + '-' + this.settings.placement.align + '"]:not([data-closing="true"])',
|
||||||
|
$elements = this.$ele.nextAll(notifies);
|
||||||
|
if (this.settings.newest_on_top === true) {
|
||||||
|
$elements = this.$ele.prevAll(notifies);
|
||||||
|
}
|
||||||
|
$elements.each(function() {
|
||||||
|
$(this).css(self.settings.placement.from, posX);
|
||||||
|
posX = (parseInt(posX) + parseInt(self.settings.spacing)) + $(this).outerHeight();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.notify = function(content, options) {
|
||||||
|
var plugin = new Notify(this, content, options);
|
||||||
|
return plugin.notify;
|
||||||
|
};
|
||||||
|
$.notifyDefaults = function(options) {
|
||||||
|
defaults = $.extend(true, {}, defaults, options);
|
||||||
|
return defaults;
|
||||||
|
};
|
||||||
|
|
||||||
|
$.notifyClose = function(selector) {
|
||||||
|
|
||||||
|
if (typeof selector === "undefined" || selector === "all") {
|
||||||
|
$('[data-notify]').find('[data-notify="dismiss"]').trigger('click');
|
||||||
|
} else if (selector === 'success' || selector === 'info' || selector === 'warning' || selector === 'danger') {
|
||||||
|
$('.alert-' + selector + '[data-notify]').find('[data-notify="dismiss"]').trigger('click');
|
||||||
|
} else if (selector) {
|
||||||
|
$(selector + '[data-notify]').find('[data-notify="dismiss"]').trigger('click');
|
||||||
|
} else {
|
||||||
|
$('[data-notify-position="' + selector + '"]').find('[data-notify="dismiss"]').trigger('click');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$.notifyCloseExcept = function(selector) {
|
||||||
|
|
||||||
|
if (selector === 'success' || selector === 'info' || selector === 'warning' || selector === 'danger') {
|
||||||
|
$('[data-notify]').not('.alert-' + selector).find('[data-notify="dismiss"]').trigger('click');
|
||||||
|
} else {
|
||||||
|
$('[data-notify]').not(selector).find('[data-notify="dismiss"]').trigger('click');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}));
|
||||||
10
app/static/js/plugins/chartjs.min.js
vendored
Normal file
10
app/static/js/plugins/chartjs.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
app/static/js/plugins/perfect-scrollbar.jquery.min.js
vendored
Normal file
2
app/static/js/plugins/perfect-scrollbar.jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -23,6 +23,7 @@
|
|||||||
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet">
|
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet">
|
||||||
<link href="../static/css/nucleo-icons.css" rel="stylesheet">
|
<link href="../static/css/nucleo-icons.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<nav class="navbar navbar-expand-md fixed-top navbar-transparent" color-on-scroll="150">
|
<nav class="navbar navbar-expand-md fixed-top navbar-transparent" color-on-scroll="150">
|
||||||
@ -100,6 +101,383 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="card card-plain">
|
||||||
|
<div class="tim-title">
|
||||||
|
<h3>Latest Transactions</h3>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table">
|
||||||
|
<thead class=" text-primary">
|
||||||
|
<th>
|
||||||
|
Name
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Country
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
City
|
||||||
|
</th>
|
||||||
|
<th class="text-right">
|
||||||
|
Salary
|
||||||
|
</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Dakota Rice
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Niger
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Oud-Turnhout
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$36,738
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Minerva Hooper
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Curaçao
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Sinaai-Waas
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$23,789
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Sage Rodriguez
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Netherlands
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Baileux
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$56,142
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Philip Chaney
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Korea, South
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Overland Park
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$38,735
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Doris Greene
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Malawi
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Feldkirchen in Kärnten
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$63,542
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Mason Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Chile
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$78,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class="card-title"> Simple Table</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table">
|
||||||
|
<thead class=" text-primary">
|
||||||
|
<th>
|
||||||
|
Name
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Country
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
City
|
||||||
|
</th>
|
||||||
|
<th class="text-right">
|
||||||
|
Salary
|
||||||
|
</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Dakota Rice
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Niger
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Oud-Turnhout
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$36,738
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Minerva Hooper
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Curaçao
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Sinaai-Waas
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$23,789
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Sage Rodriguez
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Netherlands
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Baileux
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$56,142
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Philip Chaney
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Korea, South
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Overland Park
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$38,735
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Doris Greene
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Malawi
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Feldkirchen in Kärnten
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$63,542
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Mason Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Chile
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$78,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
Jon Porter
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Portugal
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Gloucester
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
$98,615
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
</p>
|
||||||
<br/>
|
<br/>
|
||||||
<div class="tim-title">
|
<div class="tim-title">
|
||||||
<h2>Basic Elements</h2>
|
<h2>Basic Elements</h2>
|
||||||
@ -380,6 +758,7 @@
|
|||||||
<!-- <script src="../static/js/tether.min.js" type="text/javascript"></script> -->
|
<!-- <script src="../static/js/tether.min.js" type="text/javascript"></script> -->
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
|
||||||
<script src="../static/js/bootstrap.min.js" type="text/javascript"></script>
|
<script src="../static/js/bootstrap.min.js" type="text/javascript"></script>
|
||||||
|
<script src="../static/js/plugins/perfect-scrollbar.jquery.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- Paper Kit Initialization snd functons -->
|
<!-- Paper Kit Initialization snd functons -->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user