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":"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"}
|
||||
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="../static/css/nucleo-icons.css" rel="stylesheet">
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-expand-md fixed-top navbar-transparent" color-on-scroll="150">
|
||||
@ -100,6 +101,383 @@
|
||||
</div>
|
||||
</div>
|
||||
<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/>
|
||||
<div class="tim-title">
|
||||
<h2>Basic Elements</h2>
|
||||
@ -380,6 +758,7 @@
|
||||
<!-- <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="../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 -->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user