edge-impulse-linux 1.13.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli/linux/runner-utils.d.ts +1 -0
- package/build/cli/linux/runner-utils.js +45 -2
- package/build/cli/linux/runner-utils.js.map +1 -1
- package/build/cli/linux/runner.js +55 -7
- package/build/cli/linux/runner.js.map +1 -1
- package/build/cli/linux/webserver/public/inference-server.js +17 -1
- package/build/cli/linux/webserver/public/inference-server.js.map +1 -1
- package/build/cli/linux/webserver/public/webserver.js +108 -1
- package/build/cli/linux/webserver/public/webserver.js.map +1 -1
- package/build/cli-common/model-monitor.js +17 -3
- package/build/cli-common/model-monitor.js.map +1 -1
- package/build/library/classifier/audio-classifier.d.ts +1 -0
- package/build/library/classifier/audio-classifier.js +3 -0
- package/build/library/classifier/audio-classifier.js.map +1 -1
- package/build/library/classifier/image-classifier.d.ts +1 -0
- package/build/library/classifier/image-classifier.js +3 -0
- package/build/library/classifier/image-classifier.js.map +1 -1
- package/build/library/classifier/linux-impulse-runner.d.ts +18 -1
- package/build/library/classifier/linux-impulse-runner.js +22 -0
- package/build/library/classifier/linux-impulse-runner.js.map +1 -1
- package/build/sdk/studio/sdk/api/adminApi.d.ts +56 -0
- package/build/sdk/studio/sdk/api/adminApi.js +316 -0
- package/build/sdk/studio/sdk/api/adminApi.js.map +1 -1
- package/build/sdk/studio/sdk/api/classifyApi.d.ts +12 -0
- package/build/sdk/studio/sdk/api/classifyApi.js +24 -0
- package/build/sdk/studio/sdk/api/classifyApi.js.map +1 -1
- package/build/sdk/studio/sdk/api/dSPApi.d.ts +4 -0
- package/build/sdk/studio/sdk/api/dSPApi.js +8 -0
- package/build/sdk/studio/sdk/api/dSPApi.js.map +1 -1
- package/build/sdk/studio/sdk/api/learnApi.d.ts +22 -0
- package/build/sdk/studio/sdk/api/learnApi.js +160 -0
- package/build/sdk/studio/sdk/api/learnApi.js.map +1 -1
- package/build/sdk/studio/sdk/api/rawDataApi.d.ts +8 -0
- package/build/sdk/studio/sdk/api/rawDataApi.js +16 -0
- package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
- package/build/sdk/studio/sdk/model/aIActionsDataCategory.d.ts +1 -1
- package/build/sdk/studio/sdk/model/aIActionsDataCategory.js +1 -1
- package/build/sdk/studio/sdk/model/aIActionsDataCategory.js.map +1 -1
- package/build/sdk/studio/sdk/model/adminApiUser.d.ts +0 -1
- package/build/sdk/studio/sdk/model/adminApiUser.js +0 -5
- package/build/sdk/studio/sdk/model/adminApiUser.js.map +1 -1
- package/build/sdk/studio/sdk/model/exportOriginalDataRequest.d.ts +1 -1
- package/build/sdk/studio/sdk/model/feature.d.ts +1 -1
- package/build/sdk/studio/sdk/model/feature.js +1 -1
- package/build/sdk/studio/sdk/model/feature.js.map +1 -1
- package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.d.ts +7 -0
- package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js +5 -0
- package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js.map +1 -1
- package/build/sdk/studio/sdk/model/getUserResponse.d.ts +2 -1
- package/build/sdk/studio/sdk/model/getUserResponse.js +5 -5
- package/build/sdk/studio/sdk/model/getUserResponse.js.map +1 -1
- package/build/sdk/studio/sdk/model/getUserResponseAllOf.d.ts +2 -0
- package/build/sdk/studio/sdk/model/getUserResponseAllOf.js +5 -0
- package/build/sdk/studio/sdk/model/getUserResponseAllOf.js.map +1 -1
- package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAcceptedTermsOfService.d.ts +26 -0
- package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAcceptedTermsOfService.js +34 -0
- package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAcceptedTermsOfService.js.map +1 -0
- package/build/sdk/studio/sdk/model/kerasConfig.d.ts +0 -2
- package/build/sdk/studio/sdk/model/kerasConfig.js +0 -5
- package/build/sdk/studio/sdk/model/kerasConfig.js.map +1 -1
- package/build/sdk/studio/sdk/model/kerasModelMetadataMetricsOnDevicePerformance.d.ts +8 -0
- package/build/sdk/studio/sdk/model/kerasModelMetadataMetricsOnDevicePerformance.js +10 -0
- package/build/sdk/studio/sdk/model/kerasModelMetadataMetricsOnDevicePerformance.js.map +1 -1
- package/build/sdk/studio/sdk/model/kerasResponse.d.ts +0 -2
- package/build/sdk/studio/sdk/model/kerasResponse.js +0 -5
- package/build/sdk/studio/sdk/model/kerasResponse.js.map +1 -1
- package/build/sdk/studio/sdk/model/models.d.ts +1 -0
- package/build/sdk/studio/sdk/model/models.js +3 -0
- package/build/sdk/studio/sdk/model/models.js.map +1 -1
- package/build/sdk/studio/sdk/model/objectDetectionLastLayer.d.ts +1 -1
- package/build/sdk/studio/sdk/model/objectDetectionLastLayer.js +1 -1
- package/build/sdk/studio/sdk/model/objectDetectionLastLayer.js.map +1 -1
- package/build/sdk/studio/sdk/model/optimizeConfigSearchSpaceSource.d.ts +1 -1
- package/build/sdk/studio/sdk/model/optimizeConfigSearchSpaceSource.js +1 -1
- package/build/sdk/studio/sdk/model/optimizeConfigSearchSpaceSource.js.map +1 -1
- package/build/sdk/studio/sdk/model/organizationUser.d.ts +0 -1
- package/build/sdk/studio/sdk/model/organizationUser.js +0 -5
- package/build/sdk/studio/sdk/model/organizationUser.js.map +1 -1
- package/build/sdk/studio/sdk/model/profileModelInfo.d.ts +15 -0
- package/build/sdk/studio/sdk/model/profileModelInfo.js +20 -0
- package/build/sdk/studio/sdk/model/profileModelInfo.js.map +1 -1
- package/build/sdk/studio/sdk/model/profileTfLiteResponse.d.ts +15 -0
- package/build/sdk/studio/sdk/model/profileTfLiteResponse.js +20 -0
- package/build/sdk/studio/sdk/model/profileTfLiteResponse.js.map +1 -1
- package/build/sdk/studio/sdk/model/projectCollaborator.d.ts +0 -1
- package/build/sdk/studio/sdk/model/projectCollaborator.js +0 -5
- package/build/sdk/studio/sdk/model/projectCollaborator.js.map +1 -1
- package/build/sdk/studio/sdk/model/projectInfoResponse.d.ts +2 -0
- package/build/sdk/studio/sdk/model/projectInfoResponse.js +5 -0
- package/build/sdk/studio/sdk/model/projectInfoResponse.js.map +1 -1
- package/build/sdk/studio/sdk/model/projectInfoResponseAllOf.d.ts +2 -0
- package/build/sdk/studio/sdk/model/projectInfoResponseAllOf.js +5 -0
- package/build/sdk/studio/sdk/model/projectInfoResponseAllOf.js.map +1 -1
- package/build/sdk/studio/sdk/model/setKerasParameterRequest.d.ts +0 -2
- package/build/sdk/studio/sdk/model/setKerasParameterRequest.js +0 -5
- package/build/sdk/studio/sdk/model/setKerasParameterRequest.js.map +1 -1
- package/build/sdk/studio/sdk/model/tunerRun.d.ts +4 -0
- package/build/sdk/studio/sdk/model/tunerRun.js +5 -0
- package/build/sdk/studio/sdk/model/tunerRun.js.map +1 -1
- package/build/sdk/studio/sdk/model/updateProjectRequest.d.ts +1 -0
- package/build/sdk/studio/sdk/model/updateProjectRequest.js +5 -0
- package/build/sdk/studio/sdk/model/updateProjectRequest.js.map +1 -1
- package/build/sdk/studio/sdk/model/user.d.ts +0 -1
- package/build/sdk/studio/sdk/model/user.js +0 -5
- package/build/sdk/studio/sdk/model/user.js.map +1 -1
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/all.css +4616 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/all.min.css +5 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/brands.css +15 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/brands.min.css +5 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/fontawesome.css +4582 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/fontawesome.min.css +5 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/regular.css +15 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/regular.min.css +5 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/solid.css +16 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/solid.min.css +5 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/svg-with-js.css +371 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/svg-with-js.min.css +5 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/v4-shims.css +2172 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/css/v4-shims.min.css +5 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-brands-400.eot +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-brands-400.svg +3717 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-brands-400.ttf +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-brands-400.woff +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-brands-400.woff2 +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-regular-400.eot +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-regular-400.svg +801 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-regular-400.ttf +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-regular-400.woff +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-regular-400.woff2 +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-solid-900.eot +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-solid-900.svg +5034 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-solid-900.ttf +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-solid-900.woff +0 -0
- package/cli/linux/webserver/public/assets/fontawesome-free-5.15.4-web/webfonts/fa-solid-900.woff2 +0 -0
- package/cli/linux/webserver/public/assets/js/argon-dashboard.js +1093 -0
- package/cli/linux/webserver/public/assets/js/argon-dashboard.js.map +1 -0
- package/cli/linux/webserver/public/assets/js/argon-dashboard.min.js +2 -0
- package/cli/linux/webserver/public/assets/js/argon.min.js +18 -0
- package/cli/linux/webserver/public/assets/js/plugins/bootstrap/dist/js/bootstrap.bundle.js +7021 -0
- package/cli/linux/webserver/public/assets/js/plugins/jquery/dist/core.js +398 -0
- package/cli/linux/webserver/public/assets/js/plugins/jquery/dist/jquery.min.js +24 -0
- package/cli/linux/webserver/public/assets/mobileclient.css +6 -0
- package/cli/linux/webserver/public/index.html +15 -2
- package/cli/linux/webserver/public/inference-server.js +18 -1
- package/cli/linux/webserver/public/webserver.js +130 -1
- package/package.json +9 -11
|
@@ -0,0 +1,1093 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
|
|
3
|
+
=========================================================
|
|
4
|
+
* Argon Dashboard - v1.1.0
|
|
5
|
+
=========================================================
|
|
6
|
+
|
|
7
|
+
* Product Page: https://www.creative-tim.com/product/argon-dashboard
|
|
8
|
+
* Copyright 2018 Creative Tim (https://www.creative-tim.com)
|
|
9
|
+
* Licensed under MIT (https://github.com/creativetimofficial/argon-dashboard/blob/master/LICENSE.md)
|
|
10
|
+
|
|
11
|
+
* Coded by www.creative-tim.com
|
|
12
|
+
|
|
13
|
+
=========================================================
|
|
14
|
+
|
|
15
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
16
|
+
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
//
|
|
20
|
+
// Bootstrap Datepicker
|
|
21
|
+
//
|
|
22
|
+
|
|
23
|
+
'use strict';
|
|
24
|
+
|
|
25
|
+
var Datepicker = (function() {
|
|
26
|
+
|
|
27
|
+
// Variables
|
|
28
|
+
|
|
29
|
+
var $datepicker = $('.datepicker');
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
// Methods
|
|
33
|
+
|
|
34
|
+
function init($this) {
|
|
35
|
+
var options = {
|
|
36
|
+
disableTouchKeyboard: true,
|
|
37
|
+
autoclose: false
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
$this.datepicker(options);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
// Events
|
|
45
|
+
|
|
46
|
+
if ($datepicker.length) {
|
|
47
|
+
$datepicker.each(function() {
|
|
48
|
+
init($(this));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
})();
|
|
53
|
+
|
|
54
|
+
//
|
|
55
|
+
// Icon code copy/paste
|
|
56
|
+
//
|
|
57
|
+
|
|
58
|
+
'use strict';
|
|
59
|
+
|
|
60
|
+
var CopyIcon = (function() {
|
|
61
|
+
|
|
62
|
+
// Variables
|
|
63
|
+
|
|
64
|
+
var $element = '.btn-icon-clipboard',
|
|
65
|
+
$btn = $($element);
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
// Methods
|
|
69
|
+
|
|
70
|
+
function init($this) {
|
|
71
|
+
$this.tooltip().on('mouseleave', function() {
|
|
72
|
+
// Explicitly hide tooltip, since after clicking it remains
|
|
73
|
+
// focused (as it's a button), so tooltip would otherwise
|
|
74
|
+
// remain visible until focus is moved away
|
|
75
|
+
$this.tooltip('hide');
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
var clipboard = new ClipboardJS($element);
|
|
79
|
+
|
|
80
|
+
clipboard.on('success', function(e) {
|
|
81
|
+
$(e.trigger)
|
|
82
|
+
.attr('title', 'Copied!')
|
|
83
|
+
.tooltip('_fixTitle')
|
|
84
|
+
.tooltip('show')
|
|
85
|
+
.attr('title', 'Copy to clipboard')
|
|
86
|
+
.tooltip('_fixTitle')
|
|
87
|
+
|
|
88
|
+
e.clearSelection()
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
// Events
|
|
94
|
+
if ($btn.length) {
|
|
95
|
+
init($btn);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
})();
|
|
99
|
+
|
|
100
|
+
//
|
|
101
|
+
// Form control
|
|
102
|
+
//
|
|
103
|
+
|
|
104
|
+
'use strict';
|
|
105
|
+
|
|
106
|
+
var FormControl = (function() {
|
|
107
|
+
|
|
108
|
+
// Variables
|
|
109
|
+
|
|
110
|
+
var $input = $('.form-control');
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
// Methods
|
|
114
|
+
|
|
115
|
+
function init($this) {
|
|
116
|
+
$this.on('focus blur', function(e) {
|
|
117
|
+
$(this).parents('.form-group').toggleClass('focused', (e.type === 'focus' || this.value.length > 0));
|
|
118
|
+
}).trigger('blur');
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
// Events
|
|
123
|
+
|
|
124
|
+
if ($input.length) {
|
|
125
|
+
init($input);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
})();
|
|
129
|
+
|
|
130
|
+
//
|
|
131
|
+
// Google maps
|
|
132
|
+
//
|
|
133
|
+
|
|
134
|
+
var $map = $('#map-canvas'),
|
|
135
|
+
map,
|
|
136
|
+
lat,
|
|
137
|
+
lng,
|
|
138
|
+
color = "#5e72e4";
|
|
139
|
+
|
|
140
|
+
function initMap() {
|
|
141
|
+
|
|
142
|
+
map = document.getElementById('map-canvas');
|
|
143
|
+
lat = map.getAttribute('data-lat');
|
|
144
|
+
lng = map.getAttribute('data-lng');
|
|
145
|
+
|
|
146
|
+
var myLatlng = new google.maps.LatLng(lat, lng);
|
|
147
|
+
var mapOptions = {
|
|
148
|
+
zoom: 12,
|
|
149
|
+
scrollwheel: false,
|
|
150
|
+
center: myLatlng,
|
|
151
|
+
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
|
152
|
+
styles: [{
|
|
153
|
+
"featureType": "administrative",
|
|
154
|
+
"elementType": "labels.text.fill",
|
|
155
|
+
"stylers": [{
|
|
156
|
+
"color": "#444444"
|
|
157
|
+
}]
|
|
158
|
+
}, {
|
|
159
|
+
"featureType": "landscape",
|
|
160
|
+
"elementType": "all",
|
|
161
|
+
"stylers": [{
|
|
162
|
+
"color": "#f2f2f2"
|
|
163
|
+
}]
|
|
164
|
+
}, {
|
|
165
|
+
"featureType": "poi",
|
|
166
|
+
"elementType": "all",
|
|
167
|
+
"stylers": [{
|
|
168
|
+
"visibility": "off"
|
|
169
|
+
}]
|
|
170
|
+
}, {
|
|
171
|
+
"featureType": "road",
|
|
172
|
+
"elementType": "all",
|
|
173
|
+
"stylers": [{
|
|
174
|
+
"saturation": -100
|
|
175
|
+
}, {
|
|
176
|
+
"lightness": 45
|
|
177
|
+
}]
|
|
178
|
+
}, {
|
|
179
|
+
"featureType": "road.highway",
|
|
180
|
+
"elementType": "all",
|
|
181
|
+
"stylers": [{
|
|
182
|
+
"visibility": "simplified"
|
|
183
|
+
}]
|
|
184
|
+
}, {
|
|
185
|
+
"featureType": "road.arterial",
|
|
186
|
+
"elementType": "labels.icon",
|
|
187
|
+
"stylers": [{
|
|
188
|
+
"visibility": "off"
|
|
189
|
+
}]
|
|
190
|
+
}, {
|
|
191
|
+
"featureType": "transit",
|
|
192
|
+
"elementType": "all",
|
|
193
|
+
"stylers": [{
|
|
194
|
+
"visibility": "off"
|
|
195
|
+
}]
|
|
196
|
+
}, {
|
|
197
|
+
"featureType": "water",
|
|
198
|
+
"elementType": "all",
|
|
199
|
+
"stylers": [{
|
|
200
|
+
"color": color
|
|
201
|
+
}, {
|
|
202
|
+
"visibility": "on"
|
|
203
|
+
}]
|
|
204
|
+
}]
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
map = new google.maps.Map(map, mapOptions);
|
|
208
|
+
|
|
209
|
+
var marker = new google.maps.Marker({
|
|
210
|
+
position: myLatlng,
|
|
211
|
+
map: map,
|
|
212
|
+
animation: google.maps.Animation.DROP,
|
|
213
|
+
title: 'Hello World!'
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
var contentString = '<div class="info-window-content"><h2>Argon Dashboard</h2>' +
|
|
217
|
+
'<p>A beautiful Dashboard for Bootstrap 4. It is Free and Open Source.</p></div>';
|
|
218
|
+
|
|
219
|
+
var infowindow = new google.maps.InfoWindow({
|
|
220
|
+
content: contentString
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
google.maps.event.addListener(marker, 'click', function() {
|
|
224
|
+
infowindow.open(map, marker);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
if ($map.length) {
|
|
229
|
+
google.maps.event.addDomListener(window, 'load', initMap);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// //
|
|
233
|
+
// // Headroom - show/hide navbar on scroll
|
|
234
|
+
// //
|
|
235
|
+
//
|
|
236
|
+
// 'use strict';
|
|
237
|
+
//
|
|
238
|
+
// var Headroom = (function() {
|
|
239
|
+
//
|
|
240
|
+
// // Variables
|
|
241
|
+
//
|
|
242
|
+
// var $headroom = $('#navbar-main');
|
|
243
|
+
//
|
|
244
|
+
//
|
|
245
|
+
// // Methods
|
|
246
|
+
//
|
|
247
|
+
// function init($this) {
|
|
248
|
+
//
|
|
249
|
+
// var headroom = new Headroom(document.querySelector("#navbar-main"), {
|
|
250
|
+
// offset: 300,
|
|
251
|
+
// tolerance: {
|
|
252
|
+
// up: 30,
|
|
253
|
+
// down: 30
|
|
254
|
+
// },
|
|
255
|
+
// });
|
|
256
|
+
//
|
|
257
|
+
//
|
|
258
|
+
//
|
|
259
|
+
// // Events
|
|
260
|
+
//
|
|
261
|
+
// if ($headroom.length) {
|
|
262
|
+
// headroom.init();
|
|
263
|
+
// }
|
|
264
|
+
//
|
|
265
|
+
// })();
|
|
266
|
+
|
|
267
|
+
//
|
|
268
|
+
// Navbar
|
|
269
|
+
//
|
|
270
|
+
|
|
271
|
+
'use strict';
|
|
272
|
+
|
|
273
|
+
var Navbar = (function() {
|
|
274
|
+
|
|
275
|
+
// Variables
|
|
276
|
+
|
|
277
|
+
var $nav = $('.navbar-nav, .navbar-nav .nav');
|
|
278
|
+
var $collapse = $('.navbar .collapse');
|
|
279
|
+
var $dropdown = $('.navbar .dropdown');
|
|
280
|
+
|
|
281
|
+
// Methods
|
|
282
|
+
|
|
283
|
+
function accordion($this) {
|
|
284
|
+
$this.closest($nav).find($collapse).not($this).collapse('hide');
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
function closeDropdown($this) {
|
|
288
|
+
var $dropdownMenu = $this.find('.dropdown-menu');
|
|
289
|
+
|
|
290
|
+
$dropdownMenu.addClass('close');
|
|
291
|
+
|
|
292
|
+
setTimeout(function() {
|
|
293
|
+
$dropdownMenu.removeClass('close');
|
|
294
|
+
}, 200);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
// Events
|
|
299
|
+
|
|
300
|
+
$collapse.on({
|
|
301
|
+
'show.bs.collapse': function() {
|
|
302
|
+
accordion($(this));
|
|
303
|
+
}
|
|
304
|
+
})
|
|
305
|
+
|
|
306
|
+
$dropdown.on({
|
|
307
|
+
'hide.bs.dropdown': function() {
|
|
308
|
+
closeDropdown($(this));
|
|
309
|
+
}
|
|
310
|
+
})
|
|
311
|
+
|
|
312
|
+
})();
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
//
|
|
316
|
+
// Navbar collapse
|
|
317
|
+
//
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
var NavbarCollapse = (function() {
|
|
321
|
+
|
|
322
|
+
// Variables
|
|
323
|
+
|
|
324
|
+
var $nav = $('.navbar-nav'),
|
|
325
|
+
$collapse = $('.navbar .collapse');
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
// Methods
|
|
329
|
+
|
|
330
|
+
function hideNavbarCollapse($this) {
|
|
331
|
+
$this.addClass('collapsing-out');
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
function hiddenNavbarCollapse($this) {
|
|
335
|
+
$this.removeClass('collapsing-out');
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
// Events
|
|
340
|
+
|
|
341
|
+
if ($collapse.length) {
|
|
342
|
+
$collapse.on({
|
|
343
|
+
'hide.bs.collapse': function() {
|
|
344
|
+
hideNavbarCollapse($collapse);
|
|
345
|
+
}
|
|
346
|
+
})
|
|
347
|
+
|
|
348
|
+
$collapse.on({
|
|
349
|
+
'hidden.bs.collapse': function() {
|
|
350
|
+
hiddenNavbarCollapse($collapse);
|
|
351
|
+
}
|
|
352
|
+
})
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
})();
|
|
356
|
+
|
|
357
|
+
//
|
|
358
|
+
// Form control
|
|
359
|
+
//
|
|
360
|
+
|
|
361
|
+
// 'use strict';
|
|
362
|
+
|
|
363
|
+
// var noUiSlider = (function() {
|
|
364
|
+
|
|
365
|
+
// // Variables
|
|
366
|
+
|
|
367
|
+
// // var $sliderContainer = $('.input-slider-container'),
|
|
368
|
+
// // $slider = $('.input-slider'),
|
|
369
|
+
// // $sliderId = $slider.attr('id'),
|
|
370
|
+
// // $sliderMinValue = $slider.data('range-value-min');
|
|
371
|
+
// // $sliderMaxValue = $slider.data('range-value-max');;
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
// // // Methods
|
|
375
|
+
// //
|
|
376
|
+
// // function init($this) {
|
|
377
|
+
// // $this.on('focus blur', function(e) {
|
|
378
|
+
// // $this.parents('.form-group').toggleClass('focused', (e.type === 'focus' || this.value.length > 0));
|
|
379
|
+
// // }).trigger('blur');
|
|
380
|
+
// // }
|
|
381
|
+
// //
|
|
382
|
+
// //
|
|
383
|
+
// // // Events
|
|
384
|
+
// //
|
|
385
|
+
// // if ($input.length) {
|
|
386
|
+
// // init($input);
|
|
387
|
+
// // }
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
// if ($(".input-slider-container")[0]) {
|
|
392
|
+
// $('.input-slider-container').each(function() {
|
|
393
|
+
|
|
394
|
+
// var slider = $(this).find('.input-slider');
|
|
395
|
+
// var sliderId = slider.attr('id');
|
|
396
|
+
// var minValue = slider.data('range-value-min');
|
|
397
|
+
// var maxValue = slider.data('range-value-max');
|
|
398
|
+
|
|
399
|
+
// var sliderValue = $(this).find('.range-slider-value');
|
|
400
|
+
// var sliderValueId = sliderValue.attr('id');
|
|
401
|
+
// var startValue = sliderValue.data('range-value-low');
|
|
402
|
+
|
|
403
|
+
// var c = document.getElementById(sliderId),
|
|
404
|
+
// d = document.getElementById(sliderValueId);
|
|
405
|
+
|
|
406
|
+
// noUiSlider.create(c, {
|
|
407
|
+
// start: [parseInt(startValue)],
|
|
408
|
+
// connect: [true, false],
|
|
409
|
+
// //step: 1000,
|
|
410
|
+
// range: {
|
|
411
|
+
// 'min': [parseInt(minValue)],
|
|
412
|
+
// 'max': [parseInt(maxValue)]
|
|
413
|
+
// }
|
|
414
|
+
// });
|
|
415
|
+
|
|
416
|
+
// c.noUiSlider.on('update', function(a, b) {
|
|
417
|
+
// d.textContent = a[b];
|
|
418
|
+
// });
|
|
419
|
+
// })
|
|
420
|
+
// }
|
|
421
|
+
|
|
422
|
+
// if ($("#input-slider-range")[0]) {
|
|
423
|
+
// var c = document.getElementById("input-slider-range"),
|
|
424
|
+
// d = document.getElementById("input-slider-range-value-low"),
|
|
425
|
+
// e = document.getElementById("input-slider-range-value-high"),
|
|
426
|
+
// f = [d, e];
|
|
427
|
+
|
|
428
|
+
// noUiSlider.create(c, {
|
|
429
|
+
// start: [parseInt(d.getAttribute('data-range-value-low')), parseInt(e.getAttribute('data-range-value-high'))],
|
|
430
|
+
// connect: !0,
|
|
431
|
+
// range: {
|
|
432
|
+
// min: parseInt(c.getAttribute('data-range-value-min')),
|
|
433
|
+
// max: parseInt(c.getAttribute('data-range-value-max'))
|
|
434
|
+
// }
|
|
435
|
+
// }), c.noUiSlider.on("update", function(a, b) {
|
|
436
|
+
// f[b].textContent = a[b]
|
|
437
|
+
// })
|
|
438
|
+
// }
|
|
439
|
+
|
|
440
|
+
// })();
|
|
441
|
+
|
|
442
|
+
//
|
|
443
|
+
// Popover
|
|
444
|
+
//
|
|
445
|
+
|
|
446
|
+
'use strict';
|
|
447
|
+
|
|
448
|
+
var Popover = (function() {
|
|
449
|
+
|
|
450
|
+
// Variables
|
|
451
|
+
|
|
452
|
+
var $popover = $('[data-toggle="popover"]'),
|
|
453
|
+
$popoverClass = '';
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
// Methods
|
|
457
|
+
|
|
458
|
+
function init($this) {
|
|
459
|
+
if ($this.data('color')) {
|
|
460
|
+
$popoverClass = 'popover-' + $this.data('color');
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
var options = {
|
|
464
|
+
trigger: 'focus',
|
|
465
|
+
template: '<div class="popover ' + $popoverClass + '" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
|
|
466
|
+
};
|
|
467
|
+
|
|
468
|
+
$this.popover(options);
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
// Events
|
|
473
|
+
|
|
474
|
+
if ($popover.length) {
|
|
475
|
+
$popover.each(function() {
|
|
476
|
+
init($(this));
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
})();
|
|
481
|
+
|
|
482
|
+
//
|
|
483
|
+
// Scroll to (anchor links)
|
|
484
|
+
//
|
|
485
|
+
|
|
486
|
+
'use strict';
|
|
487
|
+
|
|
488
|
+
var ScrollTo = (function() {
|
|
489
|
+
|
|
490
|
+
//
|
|
491
|
+
// Variables
|
|
492
|
+
//
|
|
493
|
+
|
|
494
|
+
var $scrollTo = $('.scroll-me, [data-scroll-to], .toc-entry a');
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
//
|
|
498
|
+
// Methods
|
|
499
|
+
//
|
|
500
|
+
|
|
501
|
+
function scrollTo($this) {
|
|
502
|
+
var $el = $this.attr('href');
|
|
503
|
+
var offset = $this.data('scroll-to-offset') ? $this.data('scroll-to-offset') : 0;
|
|
504
|
+
var options = {
|
|
505
|
+
scrollTop: $($el).offset().top - offset
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
// Animate scroll to the selected section
|
|
509
|
+
$('html, body').stop(true, true).animate(options, 600);
|
|
510
|
+
|
|
511
|
+
event.preventDefault();
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
//
|
|
516
|
+
// Events
|
|
517
|
+
//
|
|
518
|
+
|
|
519
|
+
if ($scrollTo.length) {
|
|
520
|
+
$scrollTo.on('click', function(event) {
|
|
521
|
+
scrollTo($(this));
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
})();
|
|
526
|
+
|
|
527
|
+
//
|
|
528
|
+
// Charts
|
|
529
|
+
//
|
|
530
|
+
|
|
531
|
+
'use strict';
|
|
532
|
+
|
|
533
|
+
var Charts = (function() {
|
|
534
|
+
|
|
535
|
+
// Variable
|
|
536
|
+
|
|
537
|
+
var $toggle = $('[data-toggle="chart"]');
|
|
538
|
+
var mode = 'light'; //(themeMode) ? themeMode : 'light';
|
|
539
|
+
var fonts = {
|
|
540
|
+
base: 'Open Sans'
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
// Colors
|
|
544
|
+
var colors = {
|
|
545
|
+
gray: {
|
|
546
|
+
100: '#f6f9fc',
|
|
547
|
+
200: '#e9ecef',
|
|
548
|
+
300: '#dee2e6',
|
|
549
|
+
400: '#ced4da',
|
|
550
|
+
500: '#adb5bd',
|
|
551
|
+
600: '#8898aa',
|
|
552
|
+
700: '#525f7f',
|
|
553
|
+
800: '#32325d',
|
|
554
|
+
900: '#212529'
|
|
555
|
+
},
|
|
556
|
+
theme: {
|
|
557
|
+
'default': '#172b4d',
|
|
558
|
+
'primary': '#5e72e4',
|
|
559
|
+
'secondary': '#f4f5f7',
|
|
560
|
+
'info': '#11cdef',
|
|
561
|
+
'success': '#2dce89',
|
|
562
|
+
'danger': '#f5365c',
|
|
563
|
+
'warning': '#fb6340'
|
|
564
|
+
},
|
|
565
|
+
black: '#12263F',
|
|
566
|
+
white: '#FFFFFF',
|
|
567
|
+
transparent: 'transparent',
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
// Methods
|
|
572
|
+
|
|
573
|
+
// Chart.js global options
|
|
574
|
+
function chartOptions() {
|
|
575
|
+
|
|
576
|
+
// Options
|
|
577
|
+
var options = {
|
|
578
|
+
defaults: {
|
|
579
|
+
global: {
|
|
580
|
+
responsive: true,
|
|
581
|
+
maintainAspectRatio: false,
|
|
582
|
+
defaultColor: (mode == 'dark') ? colors.gray[700] : colors.gray[600],
|
|
583
|
+
defaultFontColor: (mode == 'dark') ? colors.gray[700] : colors.gray[600],
|
|
584
|
+
defaultFontFamily: fonts.base,
|
|
585
|
+
defaultFontSize: 13,
|
|
586
|
+
layout: {
|
|
587
|
+
padding: 0
|
|
588
|
+
},
|
|
589
|
+
legend: {
|
|
590
|
+
display: false,
|
|
591
|
+
position: 'bottom',
|
|
592
|
+
labels: {
|
|
593
|
+
usePointStyle: true,
|
|
594
|
+
padding: 16
|
|
595
|
+
}
|
|
596
|
+
},
|
|
597
|
+
elements: {
|
|
598
|
+
point: {
|
|
599
|
+
radius: 0,
|
|
600
|
+
backgroundColor: colors.theme['primary']
|
|
601
|
+
},
|
|
602
|
+
line: {
|
|
603
|
+
tension: .4,
|
|
604
|
+
borderWidth: 4,
|
|
605
|
+
borderColor: colors.theme['primary'],
|
|
606
|
+
backgroundColor: colors.transparent,
|
|
607
|
+
borderCapStyle: 'rounded'
|
|
608
|
+
},
|
|
609
|
+
rectangle: {
|
|
610
|
+
backgroundColor: colors.theme['warning']
|
|
611
|
+
},
|
|
612
|
+
arc: {
|
|
613
|
+
backgroundColor: colors.theme['primary'],
|
|
614
|
+
borderColor: (mode == 'dark') ? colors.gray[800] : colors.white,
|
|
615
|
+
borderWidth: 4
|
|
616
|
+
}
|
|
617
|
+
},
|
|
618
|
+
tooltips: {
|
|
619
|
+
enabled: false,
|
|
620
|
+
mode: 'index',
|
|
621
|
+
intersect: false,
|
|
622
|
+
custom: function(model) {
|
|
623
|
+
|
|
624
|
+
// Get tooltip
|
|
625
|
+
var $tooltip = $('#chart-tooltip');
|
|
626
|
+
|
|
627
|
+
// Create tooltip on first render
|
|
628
|
+
if (!$tooltip.length) {
|
|
629
|
+
$tooltip = $('<div id="chart-tooltip" class="popover bs-popover-top" role="tooltip"></div>');
|
|
630
|
+
|
|
631
|
+
// Append to body
|
|
632
|
+
$('body').append($tooltip);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
// Hide if no tooltip
|
|
636
|
+
if (model.opacity === 0) {
|
|
637
|
+
$tooltip.css('display', 'none');
|
|
638
|
+
return;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
function getBody(bodyItem) {
|
|
642
|
+
return bodyItem.lines;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
// Fill with content
|
|
646
|
+
if (model.body) {
|
|
647
|
+
var titleLines = model.title || [];
|
|
648
|
+
var bodyLines = model.body.map(getBody);
|
|
649
|
+
var html = '';
|
|
650
|
+
|
|
651
|
+
// Add arrow
|
|
652
|
+
html += '<div class="arrow"></div>';
|
|
653
|
+
|
|
654
|
+
// Add header
|
|
655
|
+
titleLines.forEach(function(title) {
|
|
656
|
+
html += '<h3 class="popover-header text-center">' + title + '</h3>';
|
|
657
|
+
});
|
|
658
|
+
|
|
659
|
+
// Add body
|
|
660
|
+
bodyLines.forEach(function(body, i) {
|
|
661
|
+
var colors = model.labelColors[i];
|
|
662
|
+
var styles = 'background-color: ' + colors.backgroundColor;
|
|
663
|
+
var indicator = '<span class="badge badge-dot"><i class="bg-primary"></i></span>';
|
|
664
|
+
var align = (bodyLines.length > 1) ? 'justify-content-left' : 'justify-content-center';
|
|
665
|
+
html += '<div class="popover-body d-flex align-items-center ' + align + '">' + indicator + body + '</div>';
|
|
666
|
+
});
|
|
667
|
+
|
|
668
|
+
$tooltip.html(html);
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
// Get tooltip position
|
|
672
|
+
var $canvas = $(this._chart.canvas);
|
|
673
|
+
|
|
674
|
+
var canvasWidth = $canvas.outerWidth();
|
|
675
|
+
var canvasHeight = $canvas.outerHeight();
|
|
676
|
+
|
|
677
|
+
var canvasTop = $canvas.offset().top;
|
|
678
|
+
var canvasLeft = $canvas.offset().left;
|
|
679
|
+
|
|
680
|
+
var tooltipWidth = $tooltip.outerWidth();
|
|
681
|
+
var tooltipHeight = $tooltip.outerHeight();
|
|
682
|
+
|
|
683
|
+
var top = canvasTop + model.caretY - tooltipHeight - 16;
|
|
684
|
+
var left = canvasLeft + model.caretX - tooltipWidth / 2;
|
|
685
|
+
|
|
686
|
+
// Display tooltip
|
|
687
|
+
$tooltip.css({
|
|
688
|
+
'top': top + 'px',
|
|
689
|
+
'left': left + 'px',
|
|
690
|
+
'display': 'block',
|
|
691
|
+
'z-index': '100'
|
|
692
|
+
});
|
|
693
|
+
|
|
694
|
+
},
|
|
695
|
+
callbacks: {
|
|
696
|
+
label: function(item, data) {
|
|
697
|
+
var label = data.datasets[item.datasetIndex].label || '';
|
|
698
|
+
var yLabel = item.yLabel;
|
|
699
|
+
var content = '';
|
|
700
|
+
|
|
701
|
+
if (data.datasets.length > 1) {
|
|
702
|
+
content += '<span class="badge badge-primary mr-auto">' + label + '</span>';
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
content += '<span class="popover-body-value">' + yLabel + '</span>';
|
|
706
|
+
return content;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
},
|
|
711
|
+
doughnut: {
|
|
712
|
+
cutoutPercentage: 83,
|
|
713
|
+
tooltips: {
|
|
714
|
+
callbacks: {
|
|
715
|
+
title: function(item, data) {
|
|
716
|
+
var title = data.labels[item[0].index];
|
|
717
|
+
return title;
|
|
718
|
+
},
|
|
719
|
+
label: function(item, data) {
|
|
720
|
+
var value = data.datasets[0].data[item.index];
|
|
721
|
+
var content = '';
|
|
722
|
+
|
|
723
|
+
content += '<span class="popover-body-value">' + value + '</span>';
|
|
724
|
+
return content;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
},
|
|
728
|
+
legendCallback: function(chart) {
|
|
729
|
+
var data = chart.data;
|
|
730
|
+
var content = '';
|
|
731
|
+
|
|
732
|
+
data.labels.forEach(function(label, index) {
|
|
733
|
+
var bgColor = data.datasets[0].backgroundColor[index];
|
|
734
|
+
|
|
735
|
+
content += '<span class="chart-legend-item">';
|
|
736
|
+
content += '<i class="chart-legend-indicator" style="background-color: ' + bgColor + '"></i>';
|
|
737
|
+
content += label;
|
|
738
|
+
content += '</span>';
|
|
739
|
+
});
|
|
740
|
+
|
|
741
|
+
return content;
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
// yAxes
|
|
748
|
+
// Chart.scaleService.updateScaleDefaults('linear', {
|
|
749
|
+
// gridLines: {
|
|
750
|
+
// borderDash: [2],
|
|
751
|
+
// borderDashOffset: [2],
|
|
752
|
+
// color: (mode == 'dark') ? colors.gray[900] : colors.gray[300],
|
|
753
|
+
// drawBorder: false,
|
|
754
|
+
// drawTicks: false,
|
|
755
|
+
// lineWidth: 0,
|
|
756
|
+
// zeroLineWidth: 0,
|
|
757
|
+
// zeroLineColor: (mode == 'dark') ? colors.gray[900] : colors.gray[300],
|
|
758
|
+
// zeroLineBorderDash: [2],
|
|
759
|
+
// zeroLineBorderDashOffset: [2]
|
|
760
|
+
// },
|
|
761
|
+
// ticks: {
|
|
762
|
+
// beginAtZero: true,
|
|
763
|
+
// padding: 10,
|
|
764
|
+
// callback: function(value) {
|
|
765
|
+
// if (!(value % 10)) {
|
|
766
|
+
// return value
|
|
767
|
+
// }
|
|
768
|
+
// }
|
|
769
|
+
// }
|
|
770
|
+
// });
|
|
771
|
+
|
|
772
|
+
// xAxes
|
|
773
|
+
Chart.scaleService.updateScaleDefaults('category', {
|
|
774
|
+
gridLines: {
|
|
775
|
+
drawBorder: false,
|
|
776
|
+
drawOnChartArea: false,
|
|
777
|
+
drawTicks: false
|
|
778
|
+
},
|
|
779
|
+
ticks: {
|
|
780
|
+
padding: 20
|
|
781
|
+
},
|
|
782
|
+
maxBarThickness: 10
|
|
783
|
+
});
|
|
784
|
+
|
|
785
|
+
return options;
|
|
786
|
+
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
// Parse global options
|
|
790
|
+
function parseOptions(parent, options) {
|
|
791
|
+
for (var item in options) {
|
|
792
|
+
if (typeof options[item] !== 'object') {
|
|
793
|
+
parent[item] = options[item];
|
|
794
|
+
} else {
|
|
795
|
+
parseOptions(parent[item], options[item]);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
// Push options
|
|
801
|
+
function pushOptions(parent, options) {
|
|
802
|
+
for (var item in options) {
|
|
803
|
+
if (Array.isArray(options[item])) {
|
|
804
|
+
options[item].forEach(function(data) {
|
|
805
|
+
parent[item].push(data);
|
|
806
|
+
});
|
|
807
|
+
} else {
|
|
808
|
+
pushOptions(parent[item], options[item]);
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
// Pop options
|
|
814
|
+
function popOptions(parent, options) {
|
|
815
|
+
for (var item in options) {
|
|
816
|
+
if (Array.isArray(options[item])) {
|
|
817
|
+
options[item].forEach(function(data) {
|
|
818
|
+
parent[item].pop();
|
|
819
|
+
});
|
|
820
|
+
} else {
|
|
821
|
+
popOptions(parent[item], options[item]);
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
// Toggle options
|
|
827
|
+
function toggleOptions(elem) {
|
|
828
|
+
var options = elem.data('add');
|
|
829
|
+
var $target = $(elem.data('target'));
|
|
830
|
+
var $chart = $target.data('chart');
|
|
831
|
+
|
|
832
|
+
if (elem.is(':checked')) {
|
|
833
|
+
|
|
834
|
+
// Add options
|
|
835
|
+
pushOptions($chart, options);
|
|
836
|
+
|
|
837
|
+
// Update chart
|
|
838
|
+
$chart.update();
|
|
839
|
+
} else {
|
|
840
|
+
|
|
841
|
+
// Remove options
|
|
842
|
+
popOptions($chart, options);
|
|
843
|
+
|
|
844
|
+
// Update chart
|
|
845
|
+
$chart.update();
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
// Update options
|
|
850
|
+
function updateOptions(elem) {
|
|
851
|
+
var options = elem.data('update');
|
|
852
|
+
var $target = $(elem.data('target'));
|
|
853
|
+
var $chart = $target.data('chart');
|
|
854
|
+
|
|
855
|
+
// Parse options
|
|
856
|
+
parseOptions($chart, options);
|
|
857
|
+
|
|
858
|
+
// Toggle ticks
|
|
859
|
+
toggleTicks(elem, $chart);
|
|
860
|
+
|
|
861
|
+
// Update chart
|
|
862
|
+
$chart.update();
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
// Toggle ticks
|
|
866
|
+
function toggleTicks(elem, $chart) {
|
|
867
|
+
|
|
868
|
+
if (elem.data('prefix') !== undefined || elem.data('prefix') !== undefined) {
|
|
869
|
+
var prefix = elem.data('prefix') ? elem.data('prefix') : '';
|
|
870
|
+
var suffix = elem.data('suffix') ? elem.data('suffix') : '';
|
|
871
|
+
|
|
872
|
+
// Update ticks
|
|
873
|
+
$chart.options.scales.yAxes[0].ticks.callback = function(value) {
|
|
874
|
+
if (!(value % 10)) {
|
|
875
|
+
return prefix + value + suffix;
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
// Update tooltips
|
|
880
|
+
$chart.options.tooltips.callbacks.label = function(item, data) {
|
|
881
|
+
var label = data.datasets[item.datasetIndex].label || '';
|
|
882
|
+
var yLabel = item.yLabel;
|
|
883
|
+
var content = '';
|
|
884
|
+
|
|
885
|
+
if (data.datasets.length > 1) {
|
|
886
|
+
content += '<span class="popover-body-label mr-auto">' + label + '</span>';
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
content += '<span class="popover-body-value">' + prefix + yLabel + suffix + '</span>';
|
|
890
|
+
return content;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
// Events
|
|
898
|
+
|
|
899
|
+
// Parse global options
|
|
900
|
+
if (window.Chart) {
|
|
901
|
+
parseOptions(Chart, chartOptions());
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
// Toggle options
|
|
905
|
+
$toggle.on({
|
|
906
|
+
'change': function() {
|
|
907
|
+
var $this = $(this);
|
|
908
|
+
|
|
909
|
+
if ($this.is('[data-add]')) {
|
|
910
|
+
toggleOptions($this);
|
|
911
|
+
}
|
|
912
|
+
},
|
|
913
|
+
'click': function() {
|
|
914
|
+
var $this = $(this);
|
|
915
|
+
|
|
916
|
+
if ($this.is('[data-update]')) {
|
|
917
|
+
updateOptions($this);
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
});
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
// Return
|
|
924
|
+
|
|
925
|
+
return {
|
|
926
|
+
colors: colors,
|
|
927
|
+
fonts: fonts,
|
|
928
|
+
mode: mode
|
|
929
|
+
};
|
|
930
|
+
|
|
931
|
+
})();
|
|
932
|
+
|
|
933
|
+
//
|
|
934
|
+
// Orders chart
|
|
935
|
+
//
|
|
936
|
+
|
|
937
|
+
var OrdersChart = (function() {
|
|
938
|
+
|
|
939
|
+
//
|
|
940
|
+
// Variables
|
|
941
|
+
//
|
|
942
|
+
|
|
943
|
+
var $chart = $('#chart-orders');
|
|
944
|
+
var $ordersSelect = $('[name="ordersSelect"]');
|
|
945
|
+
|
|
946
|
+
|
|
947
|
+
//
|
|
948
|
+
// Methods
|
|
949
|
+
//
|
|
950
|
+
|
|
951
|
+
// Init chart
|
|
952
|
+
function initChart($chart) {
|
|
953
|
+
|
|
954
|
+
// Create chart
|
|
955
|
+
var ordersChart = new Chart($chart, {
|
|
956
|
+
type: 'bar',
|
|
957
|
+
options: {
|
|
958
|
+
scales: {
|
|
959
|
+
yAxes: [{
|
|
960
|
+
gridLines: {
|
|
961
|
+
lineWidth: 1,
|
|
962
|
+
color: '#dfe2e6',
|
|
963
|
+
zeroLineColor: '#dfe2e6'
|
|
964
|
+
},
|
|
965
|
+
ticks: {
|
|
966
|
+
callback: function(value) {
|
|
967
|
+
if (!(value % 10)) {
|
|
968
|
+
//return '$' + value + 'k'
|
|
969
|
+
return value
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
}]
|
|
974
|
+
},
|
|
975
|
+
tooltips: {
|
|
976
|
+
callbacks: {
|
|
977
|
+
label: function(item, data) {
|
|
978
|
+
var label = data.datasets[item.datasetIndex].label || '';
|
|
979
|
+
var yLabel = item.yLabel;
|
|
980
|
+
var content = '';
|
|
981
|
+
|
|
982
|
+
if (data.datasets.length > 1) {
|
|
983
|
+
content += '<span class="popover-body-label mr-auto">' + label + '</span>';
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
content += '<span class="popover-body-value">' + yLabel + '</span>';
|
|
987
|
+
|
|
988
|
+
return content;
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
},
|
|
993
|
+
data: {
|
|
994
|
+
labels: ['Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
995
|
+
datasets: [{
|
|
996
|
+
label: 'Sales',
|
|
997
|
+
data: [25, 20, 30, 22, 17, 29]
|
|
998
|
+
}]
|
|
999
|
+
}
|
|
1000
|
+
});
|
|
1001
|
+
|
|
1002
|
+
// Save to jQuery object
|
|
1003
|
+
$chart.data('chart', ordersChart);
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
|
|
1007
|
+
// Init chart
|
|
1008
|
+
if ($chart.length) {
|
|
1009
|
+
initChart($chart);
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
})();
|
|
1013
|
+
|
|
1014
|
+
//
|
|
1015
|
+
// Charts
|
|
1016
|
+
//
|
|
1017
|
+
|
|
1018
|
+
'use strict';
|
|
1019
|
+
|
|
1020
|
+
//
|
|
1021
|
+
// Sales chart
|
|
1022
|
+
//
|
|
1023
|
+
|
|
1024
|
+
var SalesChart = (function() {
|
|
1025
|
+
|
|
1026
|
+
// Variables
|
|
1027
|
+
|
|
1028
|
+
var $chart = $('#chart-sales');
|
|
1029
|
+
|
|
1030
|
+
|
|
1031
|
+
// Methods
|
|
1032
|
+
|
|
1033
|
+
function init($chart) {
|
|
1034
|
+
|
|
1035
|
+
var salesChart = new Chart($chart, {
|
|
1036
|
+
type: 'line',
|
|
1037
|
+
options: {
|
|
1038
|
+
scales: {
|
|
1039
|
+
yAxes: [{
|
|
1040
|
+
gridLines: {
|
|
1041
|
+
lineWidth: 1,
|
|
1042
|
+
color: Charts.colors.gray[900],
|
|
1043
|
+
zeroLineColor: Charts.colors.gray[900]
|
|
1044
|
+
},
|
|
1045
|
+
ticks: {
|
|
1046
|
+
callback: function(value) {
|
|
1047
|
+
if (!(value % 10)) {
|
|
1048
|
+
return '$' + value + 'k';
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
}]
|
|
1053
|
+
},
|
|
1054
|
+
tooltips: {
|
|
1055
|
+
callbacks: {
|
|
1056
|
+
label: function(item, data) {
|
|
1057
|
+
var label = data.datasets[item.datasetIndex].label || '';
|
|
1058
|
+
var yLabel = item.yLabel;
|
|
1059
|
+
var content = '';
|
|
1060
|
+
|
|
1061
|
+
if (data.datasets.length > 1) {
|
|
1062
|
+
content += '<span class="popover-body-label mr-auto">' + label + '</span>';
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
content += '<span class="popover-body-value">$' + yLabel + 'k</span>';
|
|
1066
|
+
return content;
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
},
|
|
1071
|
+
data: {
|
|
1072
|
+
labels: ['May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
1073
|
+
datasets: [{
|
|
1074
|
+
label: 'Performance',
|
|
1075
|
+
data: [0, 20, 10, 30, 15, 40, 20, 60, 60]
|
|
1076
|
+
}]
|
|
1077
|
+
}
|
|
1078
|
+
});
|
|
1079
|
+
|
|
1080
|
+
// Save to jQuery object
|
|
1081
|
+
|
|
1082
|
+
$chart.data('chart', salesChart);
|
|
1083
|
+
|
|
1084
|
+
};
|
|
1085
|
+
|
|
1086
|
+
|
|
1087
|
+
// Events
|
|
1088
|
+
|
|
1089
|
+
if ($chart.length) {
|
|
1090
|
+
init($chart);
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
})();
|