').addClass('alert alert-danger alert-dismissible');
22 | var closeBtn = '
';
23 |
24 | // file upload avatar
25 | $('#fileupload-avatar').fileupload({
26 | url: url,
27 | dropZone: null,
28 | dataType: 'json',
29 | autoUpload: true,
30 | acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
31 | maxFileSize: 2000000
32 | }).on('fileuploadprocessalways', function (e, data) {
33 | var index = data.index;
34 | var file = data.files[index];
35 |
36 | $avatarWarningContainer.remove();
37 |
38 | if (file.error) {
39 | $avatarWarningContainer.text(file.error).prepend(closeBtn);
40 | $container.prepend($avatarWarningContainer);
41 | }
42 | }).on('fileuploadprogressall', function (e, data) {
43 | var progress = parseInt(data.loaded / data.total * 100, 10);
44 |
45 | $('#progress-avatar').addClass('show').children().css('width', progress + '%');
46 | }).on('fileuploaddone', function (e, data) {
47 | var file = data.result.files[0];
48 | var $img = $(this).parent().children('img');
49 | var $old = $img.prop('src');
50 |
51 | if (file.url) {
52 | $img.prop('src', file.url);
53 |
54 | // update your db
55 | } else if (file.error) {
56 | $avatarWarningContainer.text(file.error).prepend(closeBtn);
57 | $container.prepend($avatarWarningContainer);
58 | }
59 |
60 | $('#progress-avatar').removeClass('show').children().css('width', 0);
61 | });
62 | }
63 | };
64 |
65 | profileSettingsDemo.init();
66 |
--------------------------------------------------------------------------------
/assets/javascript/pages/flatpickr-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Flatpickr Demo
4 | // =============================================================
5 |
6 | var flatpickrDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 |
13 | // event handlers
14 | this.handleFlatpickr();
15 | },
16 | _fp1: function _fp1() {
17 | // basic
18 | return flatpickr('#flatpickr01', {});
19 | },
20 | _fp2: function _fp2() {
21 | // DateTime
22 | return flatpickr('#flatpickr02', {
23 | disableMobile: true, // always use the non-native picker
24 | enableTime: true,
25 | dateFormat: 'Y-m-d H:i'
26 | });
27 | },
28 | _fp3: function _fp3() {
29 | // Human-friendly Dates
30 | return flatpickr('#flatpickr03', {
31 | disableMobile: true,
32 | altInput: true,
33 | altFormat: 'F j, Y',
34 | dateFormat: 'Y-m-d'
35 | });
36 | },
37 | _fp4: function _fp4() {
38 | // minDate and maxDate
39 | return flatpickr('#flatpickr04', {
40 | disableMobile: true,
41 | minDate: 'today',
42 | maxDate: new Date().fp_incr(14)
43 | });
44 | },
45 | _fp5: function _fp5() {
46 | // Disabling dates
47 | return flatpickr('#flatpickr05', {
48 | disableMobile: true,
49 | disable: ['2025-01-30', '2025-02-21', '2025-03-08', new Date(2025, 4, 9)],
50 | dateFormat: 'Y-m-d'
51 | });
52 | },
53 | _fp6: function _fp6() {
54 | // Selecting multiple dates
55 | return flatpickr('#flatpickr06', {
56 | disableMobile: true,
57 | mode: 'multiple',
58 | dateFormat: 'Y-m-d',
59 | defaultDate: ['2018-03-20', '2018-04-04']
60 | });
61 | },
62 | _fp7: function _fp7() {
63 | // Range Calendar
64 | return flatpickr('#flatpickr07', {
65 | disableMobile: true,
66 | mode: 'range',
67 | dateFormat: 'Y-m-d',
68 | defaultDate: ['2018-03-03', '2018-03-20']
69 | });
70 | },
71 | _fp8: function _fp8() {
72 | // Time Picker
73 | return flatpickr('#flatpickr08', {
74 | disableMobile: true,
75 | enableTime: true,
76 | noCalendar: true,
77 | dateFormat: 'H:i',
78 | defaultDate: '13:45'
79 | });
80 | },
81 | _fp9: function _fp9() {
82 | // wrap element
83 | return flatpickr('#flatpickr9', {
84 | disableMobile: true,
85 | wrap: true
86 | });
87 | },
88 | _fp10: function _fp10() {
89 | // Inline Calendar
90 | return flatpickr('#flatpickr10', {
91 | inline: true
92 | });
93 | },
94 | handleFlatpickr: function handleFlatpickr() {
95 | this._fp1();
96 | this._fp2();
97 | this._fp3();
98 | this._fp4();
99 | this._fp5();
100 | this._fp6();
101 | this._fp7();
102 | this._fp8();
103 | this._fp9();
104 | this._fp10();
105 | }
106 | };
107 |
108 | flatpickrDemo.init();
109 |
--------------------------------------------------------------------------------
/assets/vendor/ace/min/theme-chrome.js:
--------------------------------------------------------------------------------
1 | define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-chrome",t.cssText='.ace-chrome .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-chrome .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-chrome {background-color: #FFFFFF;color: black;}.ace-chrome .ace_cursor {color: black;}.ace-chrome .ace_invisible {color: rgb(191, 191, 191);}.ace-chrome .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-chrome .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-chrome .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-chrome .ace_invalid {background-color: rgb(153, 0, 0);color: white;}.ace-chrome .ace_fold {}.ace-chrome .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-chrome .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-chrome .ace_support.ace_type,.ace-chrome .ace_support.ace_class.ace-chrome .ace_support.ace_other {color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter {font-style:italic;color:#FD971F;}.ace-chrome .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-chrome .ace_comment {color: #236e24;}.ace-chrome .ace_comment.ace_doc {color: #236e24;}.ace-chrome .ace_comment.ace_doc.ace_tag {color: #236e24;}.ace-chrome .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-chrome .ace_variable {color: rgb(49, 132, 149);}.ace-chrome .ace_xml-pe {color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-chrome .ace_heading {color: rgb(12, 7, 255);}.ace-chrome .ace_list {color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_gutter-active-line {background-color : #dcdcdc;}.ace-chrome .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_keyword,.ace-chrome .ace_meta.ace_tag {color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-chrome .ace_string {color: #1A1AA6;}.ace-chrome .ace_entity.ace_other.ace_attribute-name {color: #994409;}.ace-chrome .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});
2 | (function() {
3 | window.require(["ace/theme/chrome"], function(m) {
4 | if (typeof module == "object" && typeof exports == "object" && module) {
5 | module.exports = m;
6 | }
7 | });
8 | })();
9 |
10 |
--------------------------------------------------------------------------------
/assets/javascript/pages/atwho-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // At.js Demo
4 | // =============================================================
5 |
6 | var atwhoDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 |
13 | // event handlers
14 | this.handleAthwo();
15 | },
16 | handleAthwo: function handleAthwo() {
17 | // emoji lists
18 | var emojis = ['smile', 'iphone', 'girl', 'smiley', 'heart', 'kiss', 'copyright', 'coffee', 'a', 'ab', 'airplane', 'alien', 'ambulance', 'angel', 'anger', 'angry', 'arrow_forward', 'arrow_left', 'arrow_lower_left', 'arrow_lower_right', 'arrow_right', 'arrow_up', 'arrow_upper_left', 'arrow_upper_right', 'art', 'astonished', 'atm', 'b', 'baby', 'baby_chick', 'baby_symbol', 'balloon', 'bamboo', 'bank', 'barber', 'baseball', 'basketball', 'bath', 'bear', 'beer', 'beers', 'beginner', 'bell', 'bento', 'bike', 'bikini', 'bird', 'birthday', 'black_square', 'blue_car', 'blue_heart', 'blush', 'boar', 'boat', 'bomb', 'book', 'boot', 'bouquet', 'bow', 'bowtie', 'boy', 'bread', 'briefcase', 'broken_heart', 'bug', 'bulb', 'person_with_blond_hair', 'phone', 'pig', 'pill', 'pisces', 'plus1', 'point_down', 'point_left', 'point_right', 'point_up', 'point_up_2', 'police_car', 'poop', 'post_office', 'postbox', 'pray', 'princess', 'punch', 'purple_heart', 'question', 'rabbit', 'racehorse', 'radio', 'up', 'us', 'v', 'vhs', 'vibration_mode', 'virgo', 'vs', 'walking', 'warning', 'watermelon', 'wave', 'wc', 'wedding', 'whale', 'wheelchair', 'white_square', 'wind_chime', 'wink', 'wink2', 'wolf', 'woman', 'womans_hat', 'womens', 'x', 'yellow_heart', 'zap', 'zzz', '+1', '-1'];
19 | emojis = $.map(emojis, function (value, i) {
20 | return { key: value, name: value };
21 | });
22 |
23 | // names
24 | var names = ['Jacob', 'Isabella', 'Ethan', 'Emma', 'Michael', 'Olivia', 'Alexander', 'Sophia', 'William', 'Ava', 'Joshua', 'Emily', 'Daniel', 'Madison', 'Jayden', 'Abigail', 'Noah', 'Chloe', 'ä½ å¥½', 'ä½ ä½ ä½ ', 'Jérémy', 'ê°€'];
25 | names = $.map(names, function (value, i) {
26 | return { 'id': i, 'name': value, 'email': value.toLowerCase() + '@email.com' };
27 | });
28 |
29 | var at_config = {
30 | at: '@',
31 | data: names,
32 | headerTpl: '',
33 | insertTpl: '${name}',
34 | displayTpl: '
${name} ${email}',
35 | limit: 200
36 | };
37 |
38 | var emoji_config = {
39 | at: ':',
40 | data: emojis,
41 | displayTpl: '
${name} 
',
42 | insertTpl: ':${key}:',
43 | delay: 400
44 |
45 | // input element
46 | };var $inputor = $('#inputor').atwho(at_config).atwho(emoji_config);
47 | $inputor.caret('pos', 47);
48 |
49 | // content editable
50 | emoji_config.insertTpl = '

';
51 | $('#editable').atwho(at_config).atwho(emoji_config);
52 | }
53 | };
54 |
55 | atwhoDemo.init();
56 |
--------------------------------------------------------------------------------
/assets/javascript/pages/knob-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // jQuery Knob Demo
4 | // =============================================================
5 |
6 | var knobDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 |
13 | // event handlers
14 | this.handleKnob();
15 | this.infiniteKnob();
16 | },
17 | handleKnob: function handleKnob() {
18 | $('.knob').knob({
19 | change: function change(value) {
20 | console.log('change : ' + value);
21 | },
22 | release: function release(value) {
23 | console.log('release : ' + value);
24 | },
25 | cancel: function cancel() {
26 | console.log('cancel : ', this);
27 | },
28 | // format : function (value) {
29 | // return value + '%'
30 | // },
31 | draw: function draw() {
32 | // 'tron' case
33 | if (this.$.data('skin') == 'tron') {
34 | this.cursorExt = 0.3;
35 | var a = this.arc(this.cv); // Arc
36 | var pa = void 0; // Previous arc
37 | var r = 1;
38 |
39 | this.g.lineWidth = this.lineWidth;
40 |
41 | if (this.o.displayPrevious) {
42 | pa = this.arc(this.v);
43 | this.g.beginPath();
44 | this.g.strokeStyle = this.pColor;
45 | this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, pa.s, pa.e, pa.d);
46 | this.g.stroke();
47 | }
48 |
49 | this.g.beginPath();
50 | this.g.strokeStyle = r ? this.o.fgColor : this.fgColor;
51 | this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, a.s, a.e, a.d);
52 | this.g.stroke();
53 |
54 | this.g.lineWidth = 2;
55 | this.g.beginPath();
56 | this.g.strokeStyle = this.o.fgColor;
57 | this.g.arc(this.xy, this.xy, this.radius - this.lineWidth + 1 + this.lineWidth * 2 / 3, 0, 2 * Math.PI, false);
58 | this.g.stroke();
59 |
60 | return false;
61 | }
62 | }
63 | });
64 | },
65 | infiniteKnob: function infiniteKnob() {
66 | // Example of infinite knob, iPod click wheel
67 | var $idir = $('div.idir');
68 | var $ival = $('div.ival');
69 | var v = void 0,
70 | up = 0;
71 | var down = 0;
72 | var i = 0;
73 | var incr = function incr() {
74 | i++;
75 | $idir.show().html('+').fadeOut();
76 | $ival.html(i);
77 | };
78 | var decr = function decr() {
79 | i--;
80 | $idir.show().html('-').fadeOut();
81 | $ival.html(i);
82 | };
83 |
84 | $('input.infinite').knob({
85 | min: 0,
86 | max: 20,
87 | stopper: false,
88 | change: function change() {
89 | if (v > this.cv) {
90 | if (up) {
91 | decr();
92 | up = 0;
93 | } else {
94 | up = 1;
95 | down = 0;
96 | }
97 | } else {
98 | if (v < this.cv) {
99 | if (down) {
100 | incr();
101 | down = 0;
102 | } else {
103 | down = 1;
104 | up = 0;
105 | }
106 | }
107 | }
108 | v = this.cv;
109 | }
110 | });
111 | }
112 | };
113 |
114 | knobDemo.init();
115 |
--------------------------------------------------------------------------------
/assets/javascript/pages/profile-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Profile Demo
4 | // =============================================================
5 |
6 | var profileDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 | // turn off aspect ratio to get better mobile view
13 | Chart.defaults.global.maintainAspectRatio = false;
14 |
15 | // event handlers
16 | this.achievementChart();
17 | this.handleFlatpickr();
18 | },
19 | colors: function colors() {
20 | return {
21 | red: '#B76BA3',
22 | orange: '#EC935E',
23 | yellow: '#F7C46C',
24 | green: '#A7C796',
25 | teal: '#00A28A',
26 | blue: '#346CB0',
27 | purple: '#5F4B8B',
28 | gray: '#BEC1C4',
29 | grayLight: '#D4D5D7',
30 | grayLighter: '#F5F5F5'
31 | };
32 | },
33 | getColor: function getColor(color) {
34 | return this.colors()[color];
35 | },
36 | randomScalingFactor: function randomScalingFactor() {
37 | return 1.0 * Math.round(Math.random() * 100);
38 | },
39 | achievementChart: function achievementChart() {
40 | var self = this;
41 | var data = {
42 | labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
43 | datasets: [{
44 | label: 'Total Tasks',
45 | borderColor: self.getColor('teal'),
46 | backgroundColor: self.getColor('teal'),
47 | data: [self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor()]
48 | }, {
49 | label: 'Completed Tasks',
50 | borderColor: self.getColor('purple'),
51 | backgroundColor: self.getColor('purple'),
52 | data: [self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor()]
53 | }]
54 |
55 | // init achievement chart
56 | };var canvas = $('#canvas-achievement')[0].getContext('2d');
57 | var chart = new Chart(canvas, {
58 | type: 'bar',
59 | data: data,
60 | options: {
61 | responsive: true,
62 | legend: { display: false },
63 | title: { display: false },
64 | tooltips: {
65 | mode: 'index',
66 | intersect: true
67 | },
68 | scales: {
69 | xAxes: [{
70 | gridLines: {
71 | display: true,
72 | drawBorder: false,
73 | drawOnChartArea: false
74 | }
75 | }],
76 | yAxes: [{
77 | gridLines: {
78 | display: true,
79 | drawBorder: false,
80 | drawOnChartArea: false
81 | },
82 | ticks: {
83 | stepSize: 20
84 | }
85 | }]
86 | }
87 | }
88 | });
89 | },
90 | handleFlatpickr: function handleFlatpickr() {
91 | flatpickr('#flatpickr', {
92 | inline: true,
93 | disableMobile: true,
94 | mode: 'range',
95 | dateFormat: 'Y-m-d'
96 | });
97 |
98 | $('#flatpickr').next().on('click', function (e) {
99 | e.stopPropagation();
100 | });
101 | }
102 | };
103 |
104 | profileDemo.init();
105 |
--------------------------------------------------------------------------------
/assets/javascript/pages/colorpicker-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Colorpicker Demo
4 | // =============================================================
5 |
6 | var colorPickerDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 |
13 | // event handlers
14 | this.handleColorpicker();
15 | },
16 | _cp1: function _cp1() {
17 | // Simple input field
18 | $('#colorpicker1').colorpicker();
19 | },
20 | _cp2: function _cp2() {
21 | // As a component
22 | $('#colorpicker2').colorpicker();
23 | },
24 | _cp3: function _cp3() {
25 | // With custom options
26 | $('#colorpicker3').colorpicker({
27 | color: '#4D9DE0',
28 | format: 'rgb'
29 | });
30 | },
31 | _cp4: function _cp4() {
32 | // Disable alpha channel
33 | $('#colorpicker4').colorpicker({
34 | useAlpha: false
35 | });
36 | },
37 | _cp5: function _cp5() {
38 | // Transparent color support
39 | $('#colorpicker5').colorpicker({
40 | color: 'transparent',
41 | format: 'hex'
42 | });
43 | },
44 | _cp6: function _cp6() {
45 | // Horizontal mode
46 | $('#colorpicker6').colorpicker({
47 | color: '#C5906C',
48 | horizontal: true
49 | });
50 | },
51 | _cp7: function _cp7() {
52 | // Inline mode
53 | $('#colorpicker7').colorpicker({
54 | color: '#C56C6C',
55 | container: true,
56 | inline: true
57 | });
58 | },
59 | _cp8: function _cp8() {
60 | // Aliased color palette
61 | $('#colorpicker8').colorpicker({
62 | extensions: [{
63 | name: 'swatches',
64 | colors: {
65 | 'black': '#000000',
66 | 'white': '#ffffff',
67 | 'red': '#FF0000',
68 | 'default': '#777777',
69 | 'primary': '#337ab7',
70 | 'success': '#5cb85c',
71 | 'info': '#5bc0de',
72 | 'warning': '#f0ad4e',
73 | 'danger': '#d9534f'
74 | },
75 | namesAsValues: true
76 | }]
77 | });
78 | },
79 | _cp9: function _cp9() {
80 | // Custom template
81 | $('#colorpicker9').colorpicker({
82 | inline: true,
83 | container: true,
84 | extensions: [],
85 | template: '
'
86 | }).on('colorpickerChange colorpickerCreate', function (e) {
87 | var output = e.colorpicker.element.find('.hsv-output');
88 | output.html(e.color.toHsvString()).css('background-color', e.color.toRgbString());
89 |
90 | if (e.color.isDark()) {
91 | output.css('color', 'white');
92 | } else {
93 | output.css('color', 'black');
94 | }
95 | });
96 | },
97 | _cp10: function _cp10() {
98 | // Inside a modal
99 | $('#colorpicker10').colorpicker();
100 | },
101 | handleColorpicker: function handleColorpicker() {
102 | this._cp1();
103 | this._cp2();
104 | this._cp3();
105 | this._cp4();
106 | this._cp5();
107 | this._cp6();
108 | this._cp7();
109 | this._cp8();
110 | this._cp9();
111 | this._cp10();
112 | }
113 | };
114 |
115 | colorPickerDemo.init();
116 |
--------------------------------------------------------------------------------
/assets/javascript/pages/dashboard-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Dashboard Demo
4 | // =============================================================
5 |
6 | var dashboardDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 | // turn off aspect ratio to get better mobile view
13 | Chart.defaults.global.maintainAspectRatio = false;
14 |
15 | // event handlers
16 | this.handleTasksChart();
17 | this.handleFlatpickr();
18 | },
19 | colors: function colors() {
20 | return {
21 | red: '#B76BA3',
22 | orange: '#EC935E',
23 | yellow: '#F7C46C',
24 | green: '#A7C796',
25 | teal: '#00A28A',
26 | blue: '#346CB0',
27 | purple: '#5F4B8B',
28 | gray: '#BEC1C4'
29 | };
30 | },
31 | getColor: function getColor(color) {
32 | return this.colors()[color];
33 | },
34 | colorNames: function colorNames(color) {
35 | return Object.keys(this.colors());
36 | },
37 | randomScalingFactor: function randomScalingFactor() {
38 | return 5 * Math.round(Math.random() * 100);
39 | },
40 | handleTasksChart: function handleTasksChart() {
41 | var self = this;
42 | var data = {
43 | labels: ['21 Mar', '22 Mar', '23 Mar', '24 Mar', '25 Mar', '26 Mar', '27 Mar'],
44 | datasets: [{
45 | backgroundColor: self.getColor('blue'),
46 | borderColor: self.getColor('blue'),
47 | borderWidth: 1,
48 | data: [self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor()]
49 | }]
50 | // init chart bar
51 | };var canvas = $('#completion-tasks')[0].getContext('2d');
52 | var chart = new Chart(canvas, {
53 | type: 'bar',
54 | data: data,
55 | options: {
56 | responsive: true,
57 | legend: { display: false },
58 | title: { display: false },
59 | scales: {
60 | xAxes: [{
61 | gridLines: {
62 | display: true,
63 | drawBorder: false,
64 | drawOnChartArea: false
65 | },
66 | ticks: {
67 | maxRotation: 0,
68 | maxTicksLimit: 3
69 | }
70 | }],
71 | yAxes: [{
72 | gridLines: {
73 | display: true,
74 | drawBorder: false
75 | },
76 | ticks: {
77 | beginAtZero: true,
78 | stepSize: 100
79 | }
80 | }]
81 | }
82 | }
83 | });
84 | },
85 | handleFlatpickr: function handleFlatpickr() {
86 | flatpickr('#flatpickr', {
87 | inline: true,
88 | disableMobile: true,
89 | mode: 'range',
90 | dateFormat: 'Y-m-d'
91 | });
92 |
93 | $('#flatpickr').next().on('click', function (e) {
94 | e.stopPropagation();
95 | });
96 | }
97 | };
98 |
99 | dashboardDemo.init();
100 |
--------------------------------------------------------------------------------
/assets/vendor/nouislider/nouislider.min.css:
--------------------------------------------------------------------------------
1 | /*! nouislider - 11.1.0 - 2018-04-02 11:18:13 */.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;left:0;height:100%;width:100%;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;transform-origin:0 0}html:not([dir=rtl]) .noUi-horizontal .noUi-origin{left:auto;right:0}.noUi-vertical .noUi-origin{width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{position:absolute}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:transform .3s;transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}html:not([dir=rtl]) .noUi-horizontal .noUi-handle{right:-17px;left:auto}.noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-connects{border-radius:3px}.noUi-connect{background:#3FB8AF}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-large,.noUi-marker-sub{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate(0,-50%);transform:translate(0,-50%,0);padding-left:25px}.noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0,50%);transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}
2 |
--------------------------------------------------------------------------------
/assets/vendor/cookieconsent/cookieconsent.min.css:
--------------------------------------------------------------------------------
1 | .cc-window{opacity:1;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{transition:transform 1s ease}.cc-animate.cc-revoke.cc-top{transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-bottom,.cc-animate.cc-revoke.cc-active.cc-top,.cc-revoke:hover{transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;transition:max-height 1s}
2 | .cc-link,.cc-revoke:hover{text-decoration:underline}.cc-revoke,.cc-window{position:fixed;overflow:hidden;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-banner .cc-btn:last-child{min-width:140px}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
3 | .cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{-ms-flex:1;flex:1}.cc-compliance{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-compliance>.cc-btn{-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
4 | @media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-ms-flex:1;flex:1}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-ms-flex-align:unset;align-items:unset}}
5 | .cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
6 | .cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em 2em 1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}
7 |
--------------------------------------------------------------------------------
/auth-error-v2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Error 404: Page not found | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
59 |
60 |
65 |
Page not found!
66 |
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
67 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
89 |
90 |
--------------------------------------------------------------------------------
/assets/vendor/datatables/extensions/buttons/buttons.bootstrap4.min.css:
--------------------------------------------------------------------------------
1 | @keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}ul.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection{-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}ul.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}ul.dt-button-collection.fixed.two-column{margin-left:-150px}ul.dt-button-collection.fixed.three-column{margin-left:-225px}ul.dt-button-collection.fixed.four-column{margin-left:-300px}ul.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}ul.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}ul.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}ul.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}ul.dt-button-collection.fixed{max-width:none}ul.dt-button-collection.fixed:before,ul.dt-button-collection.fixed:after{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}}div.dt-buttons button.btn.processing,div.dt-buttons div.btn.processing,div.dt-buttons a.btn.processing{color:rgba(0,0,0,0.2)}div.dt-buttons button.btn.processing:after,div.dt-buttons div.btn.processing:after,div.dt-buttons a.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
2 |
--------------------------------------------------------------------------------
/assets/vendor/jquery.easy-pie-chart/jquery.easypiechart.min.js:
--------------------------------------------------------------------------------
1 | /**!
2 | * easyPieChart
3 | * Lightweight plugin to render simple, animated and retina optimized pie charts
4 | *
5 | * @license
6 | * @author Robert Fleischmann
(http://robert-fleischmann.de)
7 | * @version 2.1.6
8 | **/
9 | !function(a,b){"object"==typeof exports?module.exports=b(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],b):b(a.jQuery)}(this,function(a){var b=function(a,b){var c,d=document.createElement("canvas");a.appendChild(d),"undefined"!=typeof G_vmlCanvasManager&&G_vmlCanvasManager.initElement(d);var e=d.getContext("2d");d.width=d.height=b.size;var f=1;window.devicePixelRatio>1&&(f=window.devicePixelRatio,d.style.width=d.style.height=[b.size,"px"].join(""),d.width=d.height=b.size*f,e.scale(f,f)),e.translate(b.size/2,b.size/2),e.rotate((-0.5+b.rotate/180)*Math.PI);var g=(b.size-b.lineWidth)/2;b.scaleColor&&b.scaleLength&&(g-=b.scaleLength+2),Date.now=Date.now||function(){return+new Date};var h=function(a,b,c){c=Math.min(Math.max(-1,c||0),1);var d=0>=c?!0:!1;e.beginPath(),e.arc(0,0,g,0,2*Math.PI*c,d),e.strokeStyle=a,e.lineWidth=b,e.stroke()},i=function(){var a,c;e.lineWidth=1,e.fillStyle=b.scaleColor,e.save();for(var d=24;d>0;--d)d%6===0?(c=b.scaleLength,a=0):(c=.6*b.scaleLength,a=b.scaleLength-c),e.fillRect(-b.size/2+a,0,c,1),e.rotate(Math.PI/12);e.restore()},j=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),k=function(){b.scaleColor&&i(),b.trackColor&&h(b.trackColor,b.trackWidth||b.lineWidth,1)};this.getCanvas=function(){return d},this.getCtx=function(){return e},this.clear=function(){e.clearRect(b.size/-2,b.size/-2,b.size,b.size)},this.draw=function(a){b.scaleColor||b.trackColor?e.getImageData&&e.putImageData?c?e.putImageData(c,0,0):(k(),c=e.getImageData(0,0,b.size*f,b.size*f)):(this.clear(),k()):this.clear(),e.lineCap=b.lineCap;var d;d="function"==typeof b.barColor?b.barColor(a):b.barColor,h(d,b.lineWidth,a/100)}.bind(this),this.animate=function(a,c){var d=Date.now();b.onStart(a,c);var e=function(){var f=Math.min(Date.now()-d,b.animate.duration),g=b.easing(this,f,a,c-a,b.animate.duration);this.draw(g),b.onStep(a,c,g),f>=b.animate.duration?b.onStop(a,c):j(e)}.bind(this);j(e)}.bind(this)},c=function(a,c){var d={barColor:"#ef1e25",trackColor:"#f9f9f9",scaleColor:"#dfe0e0",scaleLength:5,lineCap:"round",lineWidth:3,trackWidth:void 0,size:110,rotate:0,animate:{duration:1e3,enabled:!0},easing:function(a,b,c,d,e){return b/=e/2,1>b?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},onStart:function(){},onStep:function(){},onStop:function(){}};if("undefined"!=typeof b)d.renderer=b;else{if("undefined"==typeof SVGRenderer)throw new Error("Please load either the SVG- or the CanvasRenderer");d.renderer=SVGRenderer}var e={},f=0,g=function(){this.el=a,this.options=e;for(var b in d)d.hasOwnProperty(b)&&(e[b]=c&&"undefined"!=typeof c[b]?c[b]:d[b],"function"==typeof e[b]&&(e[b]=e[b].bind(this)));e.easing="string"==typeof e.easing&&"undefined"!=typeof jQuery&&jQuery.isFunction(jQuery.easing[e.easing])?jQuery.easing[e.easing]:d.easing,"number"==typeof e.animate&&(e.animate={duration:e.animate,enabled:!0}),"boolean"!=typeof e.animate||e.animate||(e.animate={duration:1e3,enabled:e.animate}),this.renderer=new e.renderer(a,e),this.renderer.draw(f),a.dataset&&a.dataset.percent?this.update(parseFloat(a.dataset.percent)):a.getAttribute&&a.getAttribute("data-percent")&&this.update(parseFloat(a.getAttribute("data-percent")))}.bind(this);this.update=function(a){return a=parseFloat(a),e.animate.enabled?this.renderer.animate(f,a):this.renderer.draw(a),f=a,this}.bind(this),this.disableAnimation=function(){return e.animate.enabled=!1,this},this.enableAnimation=function(){return e.animate.enabled=!0,this},g()};a.fn.easyPieChart=function(b){return this.each(function(){var d;a.data(this,"easyPieChart")||(d=a.extend({},b,a(this).data()),a.data(this,"easyPieChart",new c(this,d)))})}});
10 |
--------------------------------------------------------------------------------
/assets/vendor/bootstrap-session-timeout/bootstrap-session-timeout.min.js:
--------------------------------------------------------------------------------
1 | !function(a){"use strict";a.sessionTimeout=function(b){function c(){n||(a.ajax({type:i.ajaxType,url:i.keepAliveUrl,data:i.ajaxData}),n=!0,setTimeout(function(){n=!1},i.keepAliveInterval))}function d(){clearTimeout(g),(i.countdownMessage||i.countdownBar)&&f("session",!0),"function"==typeof i.onStart&&i.onStart(i),i.keepAlive&&c(),g=setTimeout(function(){"function"!=typeof i.onWarn?a("#session-timeout-dialog").modal("show"):i.onWarn(i),e()},i.warnAfter)}function e(){clearTimeout(g),a("#session-timeout-dialog").hasClass("in")||!i.countdownMessage&&!i.countdownBar||f("dialog",!0),g=setTimeout(function(){"function"!=typeof i.onRedir?window.location=i.redirUrl:i.onRedir(i)},i.redirAfter-i.warnAfter)}function f(b,c){clearTimeout(j.timer),"dialog"===b&&c?j.timeLeft=Math.floor((i.redirAfter-i.warnAfter)/1e3):"session"===b&&c&&(j.timeLeft=Math.floor(i.redirAfter/1e3)),i.countdownBar&&"dialog"===b?j.percentLeft=Math.floor(j.timeLeft/((i.redirAfter-i.warnAfter)/1e3)*100):i.countdownBar&&"session"===b&&(j.percentLeft=Math.floor(j.timeLeft/(i.redirAfter/1e3)*100));var d=a(".countdown-holder"),e=j.timeLeft>=0?j.timeLeft:0;if(i.countdownSmart){var g=Math.floor(e/60),h=e%60,k=g>0?g+"m":"";k.length>0&&(k+=" "),k+=h+"s",d.text(k)}else d.text(e+"s");i.countdownBar&&a(".countdown-bar").css("width",j.percentLeft+"%"),j.timeLeft=j.timeLeft-1,j.timer=setTimeout(function(){f(b)},1e3)}var g,h={title:"Your Session is About to Expire!",message:"Your session is about to expire.",logoutButton:"Logout",keepAliveButton:"Stay Connected",keepAliveUrl:"/keep-alive",ajaxType:"POST",ajaxData:"",redirUrl:"/timed-out",logoutUrl:"/log-out",warnAfter:9e5,redirAfter:12e5,keepAliveInterval:5e3,keepAlive:!0,ignoreUserActivity:!1,onStart:!1,onWarn:!1,onRedir:!1,countdownMessage:!1,countdownBar:!1,countdownSmart:!1},i=h,j={};if(b&&(i=a.extend(h,b)),i.warnAfter>=i.redirAfter)return console.error('Bootstrap-session-timeout plugin is miss-configured. Option "redirAfter" must be equal or greater than "warnAfter".'),!1;if("function"!=typeof i.onWarn){var k=i.countdownMessage?""+i.countdownMessage.replace(/{timer}/g,'')+"
":"",l=i.countdownBar?'':"";a("body").append(' '+i.message+"
"+k+" "+l+'
"),a("#session-timeout-dialog-logout").on("click",function(){window.location=i.logoutUrl}),a("#session-timeout-dialog").on("hide.bs.modal",function(){d()})}if(!i.ignoreUserActivity){var m=[-1,-1];a(document).on("keyup mouseup mousemove touchend touchmove",function(b){if("mousemove"===b.type){if(b.clientX===m[0]&&b.clientY===m[1])return;m[0]=b.clientX,m[1]=b.clientY}d(),a("#session-timeout-dialog").length>0&&a("#session-timeout-dialog").data("bs.modal")&&a("#session-timeout-dialog").data("bs.modal").isShown&&(a("#session-timeout-dialog").modal("hide"),a("body").removeClass("modal-open"),a("div.modal-backdrop").remove())})}var n=!1;d()}}(jQuery);
2 |
--------------------------------------------------------------------------------
/assets/vendor/blueimp-file-upload/js/jquery.fileupload-audio.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery File Upload Audio Preview Plugin
3 | * https://github.com/blueimp/jQuery-File-Upload
4 | *
5 | * Copyright 2013, Sebastian Tschan
6 | * https://blueimp.net
7 | *
8 | * Licensed under the MIT license:
9 | * https://opensource.org/licenses/MIT
10 | */
11 |
12 | /* jshint nomen:false */
13 | /* global define, require, window, document */
14 |
15 | ;(function (factory) {
16 | 'use strict';
17 | if (typeof define === 'function' && define.amd) {
18 | // Register as an anonymous AMD module:
19 | define([
20 | 'jquery',
21 | 'load-image',
22 | './jquery.fileupload-process'
23 | ], factory);
24 | } else if (typeof exports === 'object') {
25 | // Node/CommonJS:
26 | factory(
27 | require('jquery'),
28 | require('blueimp-load-image/js/load-image'),
29 | require('./jquery.fileupload-process')
30 | );
31 | } else {
32 | // Browser globals:
33 | factory(
34 | window.jQuery,
35 | window.loadImage
36 | );
37 | }
38 | }(function ($, loadImage) {
39 | 'use strict';
40 |
41 | // Prepend to the default processQueue:
42 | $.blueimp.fileupload.prototype.options.processQueue.unshift(
43 | {
44 | action: 'loadAudio',
45 | // Use the action as prefix for the "@" options:
46 | prefix: true,
47 | fileTypes: '@',
48 | maxFileSize: '@',
49 | disabled: '@disableAudioPreview'
50 | },
51 | {
52 | action: 'setAudio',
53 | name: '@audioPreviewName',
54 | disabled: '@disableAudioPreview'
55 | }
56 | );
57 |
58 | // The File Upload Audio Preview plugin extends the fileupload widget
59 | // with audio preview functionality:
60 | $.widget('blueimp.fileupload', $.blueimp.fileupload, {
61 |
62 | options: {
63 | // The regular expression for the types of audio files to load,
64 | // matched against the file type:
65 | loadAudioFileTypes: /^audio\/.*$/
66 | },
67 |
68 | _audioElement: document.createElement('audio'),
69 |
70 | processActions: {
71 |
72 | // Loads the audio file given via data.files and data.index
73 | // as audio element if the browser supports playing it.
74 | // Accepts the options fileTypes (regular expression)
75 | // and maxFileSize (integer) to limit the files to load:
76 | loadAudio: function (data, options) {
77 | if (options.disabled) {
78 | return data;
79 | }
80 | var file = data.files[data.index],
81 | url,
82 | audio;
83 | if (this._audioElement.canPlayType &&
84 | this._audioElement.canPlayType(file.type) &&
85 | ($.type(options.maxFileSize) !== 'number' ||
86 | file.size <= options.maxFileSize) &&
87 | (!options.fileTypes ||
88 | options.fileTypes.test(file.type))) {
89 | url = loadImage.createObjectURL(file);
90 | if (url) {
91 | audio = this._audioElement.cloneNode(false);
92 | audio.src = url;
93 | audio.controls = true;
94 | data.audio = audio;
95 | return data;
96 | }
97 | }
98 | return data;
99 | },
100 |
101 | // Sets the audio element as a property of the file object:
102 | setAudio: function (data, options) {
103 | if (data.audio && !options.disabled) {
104 | data.files[data.index][options.name || 'preview'] = data.audio;
105 | }
106 | return data;
107 | }
108 |
109 | }
110 |
111 | });
112 |
113 | }));
114 |
--------------------------------------------------------------------------------
/assets/vendor/blueimp-file-upload/js/jquery.fileupload-video.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery File Upload Video Preview Plugin
3 | * https://github.com/blueimp/jQuery-File-Upload
4 | *
5 | * Copyright 2013, Sebastian Tschan
6 | * https://blueimp.net
7 | *
8 | * Licensed under the MIT license:
9 | * https://opensource.org/licenses/MIT
10 | */
11 |
12 | /* jshint nomen:false */
13 | /* global define, require, window, document */
14 |
15 | ;(function (factory) {
16 | 'use strict';
17 | if (typeof define === 'function' && define.amd) {
18 | // Register as an anonymous AMD module:
19 | define([
20 | 'jquery',
21 | 'load-image',
22 | './jquery.fileupload-process'
23 | ], factory);
24 | } else if (typeof exports === 'object') {
25 | // Node/CommonJS:
26 | factory(
27 | require('jquery'),
28 | require('blueimp-load-image/js/load-image'),
29 | require('./jquery.fileupload-process')
30 | );
31 | } else {
32 | // Browser globals:
33 | factory(
34 | window.jQuery,
35 | window.loadImage
36 | );
37 | }
38 | }(function ($, loadImage) {
39 | 'use strict';
40 |
41 | // Prepend to the default processQueue:
42 | $.blueimp.fileupload.prototype.options.processQueue.unshift(
43 | {
44 | action: 'loadVideo',
45 | // Use the action as prefix for the "@" options:
46 | prefix: true,
47 | fileTypes: '@',
48 | maxFileSize: '@',
49 | disabled: '@disableVideoPreview'
50 | },
51 | {
52 | action: 'setVideo',
53 | name: '@videoPreviewName',
54 | disabled: '@disableVideoPreview'
55 | }
56 | );
57 |
58 | // The File Upload Video Preview plugin extends the fileupload widget
59 | // with video preview functionality:
60 | $.widget('blueimp.fileupload', $.blueimp.fileupload, {
61 |
62 | options: {
63 | // The regular expression for the types of video files to load,
64 | // matched against the file type:
65 | loadVideoFileTypes: /^video\/.*$/
66 | },
67 |
68 | _videoElement: document.createElement('video'),
69 |
70 | processActions: {
71 |
72 | // Loads the video file given via data.files and data.index
73 | // as video element if the browser supports playing it.
74 | // Accepts the options fileTypes (regular expression)
75 | // and maxFileSize (integer) to limit the files to load:
76 | loadVideo: function (data, options) {
77 | if (options.disabled) {
78 | return data;
79 | }
80 | var file = data.files[data.index],
81 | url,
82 | video;
83 | if (this._videoElement.canPlayType &&
84 | this._videoElement.canPlayType(file.type) &&
85 | ($.type(options.maxFileSize) !== 'number' ||
86 | file.size <= options.maxFileSize) &&
87 | (!options.fileTypes ||
88 | options.fileTypes.test(file.type))) {
89 | url = loadImage.createObjectURL(file);
90 | if (url) {
91 | video = this._videoElement.cloneNode(false);
92 | video.src = url;
93 | video.controls = true;
94 | data.video = video;
95 | return data;
96 | }
97 | }
98 | return data;
99 | },
100 |
101 | // Sets the video element as a property of the file object:
102 | setVideo: function (data, options) {
103 | if (data.video && !options.disabled) {
104 | data.files[data.index][options.name || 'preview'] = data.video;
105 | }
106 | return data;
107 | }
108 |
109 | }
110 |
111 | });
112 |
113 | }));
114 |
--------------------------------------------------------------------------------
/auth-error-v3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Error 404: Page not found | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
59 |
60 |
65 |
Page not found!
66 |
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
67 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
83 |
84 |
85 |
86 |
96 |
97 |
--------------------------------------------------------------------------------
/auth-maintenance.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Maintenance | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
59 |
60 |
We apologize for any inconvenience, but we'll be back up in no time. Check back soon!
61 |
74 |
75 |
76 |
77 |
78 |
Are you site owner?
79 | Login here or enter your password.
80 |
81 |
82 |
83 |
84 |
85 |
86 |
96 |
97 |
--------------------------------------------------------------------------------
/assets/javascript/pages/tribute-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Tribute Demo
4 | // =============================================================
5 |
6 | var tributeDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 |
13 | // event handlers
14 | this.handleTributes();
15 | },
16 | handleTributes: function handleTributes() {
17 | // basic
18 | var tribute1 = new Tribute({
19 | values: this.getNames()
20 | });
21 | tribute1.attach($('#tributeDemo1')[0]);
22 |
23 | // custom template
24 | var tribute2 = new Tribute({
25 | values: this.getNames(),
26 | menuItemTemplate: function menuItemTemplate(item) {
27 | return '
' + item.string;
28 | }
29 | });
30 | tribute2.attach($('#tributeDemo2')[0]);
31 |
32 | // custom select template
33 | var tribute3 = new Tribute({
34 | values: this.getNames(),
35 | selectTemplate: function selectTemplate(item) {
36 | // function called on select that returns the content to insert
37 | return '@' + item.original.value + '';
38 | },
39 | menuItemTemplate: function menuItemTemplate(item) {
40 | return '
' + item.string;
41 | }
42 | });
43 | tribute3.attach($('#tributeDemo3')[0]);
44 | },
45 | getNames: function getNames() {
46 | return [{
47 | key: 'Peeta Mellark',
48 | value: 'peetm',
49 | avatar: 'assets/images/avatars/uifaces1.jpg'
50 | }, {
51 | key: 'Cinna',
52 | value: 'cinnastyles',
53 | avatar: 'assets/images/avatars/uifaces2.jpg'
54 | }, {
55 | key: 'Rue',
56 | value: 'rue74',
57 | avatar: 'assets/images/avatars/uifaces3.jpg'
58 | }, {
59 | key: 'Foxface',
60 | value: 'Foxyweapons',
61 | avatar: 'assets/images/avatars/uifaces4.jpg'
62 | }, {
63 | key: 'Cato',
64 | value: 'catod2',
65 | avatar: 'assets/images/avatars/uifaces5.jpg'
66 | }, {
67 | key: 'Clove',
68 | value: 'clove74',
69 | avatar: 'assets/images/avatars/uifaces6.jpg'
70 | }, {
71 | key: 'Thresh',
72 | value: 'tmoney',
73 | avatar: 'assets/images/avatars/uifaces7.jpg'
74 | }, {
75 | key: 'Glimmer',
76 | value: 'glimmerofhope',
77 | avatar: 'assets/images/avatars/uifaces8.jpg'
78 | }, {
79 | key: 'Marvel',
80 | value: 'MarvelvsDC',
81 | avatar: 'assets/images/avatars/uifaces9.jpg'
82 | }, {
83 | key: 'Effie Trinket',
84 | value: 'effetiquette',
85 | avatar: 'assets/images/avatars/uifaces10.jpg'
86 | }, {
87 | key: 'Haymitch Abernathy ',
88 | value: 'heymentor',
89 | avatar: 'assets/images/avatars/uifaces11.jpg'
90 | }, {
91 | key: 'Gale Hawthorne',
92 | value: 'ghaw',
93 | avatar: 'assets/images/avatars/uifaces12.jpg'
94 | }, {
95 | key: 'Primrose Everdeen',
96 | value: 'primhealer',
97 | avatar: 'assets/images/avatars/uifaces13.jpg'
98 | }, {
99 | key: 'Madge Undersee',
100 | value: 'madfire',
101 | avatar: 'assets/images/avatars/uifaces14.jpg'
102 | }, {
103 | key: 'President Snow',
104 | value: 'panem_master',
105 | avatar: 'assets/images/avatars/uifaces15.jpg'
106 | }, {
107 | key: 'Finnick Odair',
108 | value: 'odaircpr',
109 | avatar: 'assets/images/avatars/uifaces16.jpg'
110 | }, {
111 | key: 'Mags',
112 | value: 'oldthunder',
113 | avatar: 'assets/images/avatars/uifaces17.jpg'
114 | }, {
115 | key: 'Johanna Mason',
116 | value: 'jmtrator',
117 | avatar: 'assets/images/avatars/uifaces18.jpg'
118 | }, {
119 | key: 'Beetee Latier',
120 | value: 'wire_guided',
121 | avatar: 'assets/images/avatars/uifaces19.jpg'
122 | }, {
123 | key: 'Wiress',
124 | value: 'finisher',
125 | avatar: 'assets/images/avatars/uifaces20.jpg'
126 | }, {
127 | key: 'Enobaria',
128 | value: 'blade_tooth',
129 | avatar: 'assets/images/avatars/uifaces1.jpg'
130 | }];
131 | }
132 | };
133 |
134 | tributeDemo.init();
135 |
--------------------------------------------------------------------------------
/assets/vendor/flot/jquery.flot.time.min.js:
--------------------------------------------------------------------------------
1 | !function(n){function S(e,t){return t*Math.floor(e/t)}function u(e,t,n,r){if("function"==typeof e.strftime)return e.strftime(t);var a,i=function(e,t){return t=""+(null==t?"0":t),1==(e=""+e).length?t+e:e},o=[],s=!1,u=e.getHours(),c=u<12;null==n&&(n=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),null==r&&(r=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),a=12=r);++i);var o=a[i][0],s=a[i][1];if("year"==s){if(null!=d.minTickSize&&"year"==d.minTickSize[1])o=Math.floor(d.minTickSize[0]);else{var u=Math.pow(10,Math.floor(Math.log(e.delta/z.year)/Math.LN10)),c=e.delta/z.year/u;o=c<1.5?1:c<3?2:c<7.5?5:10,o*=u}o<1&&(o=1)}e.tickSize=d.tickSize||[o,s];var m=e.tickSize[0];s=e.tickSize[1];var l=m*z[s];"second"==s?n.setSeconds(S(n.getSeconds(),m)):"minute"==s?n.setMinutes(S(n.getMinutes(),m)):"hour"==s?n.setHours(S(n.getHours(),m)):"month"==s?n.setMonth(S(n.getMonth(),m)):"quarter"==s?n.setMonth(3*S(n.getMonth()/3,m)):"year"==s&&n.setFullYear(S(n.getFullYear(),m)),n.setMilliseconds(0),l>=z.minute&&n.setSeconds(0),l>=z.hour&&n.setMinutes(0),l>=z.day&&n.setHours(0),l>=4*z.day&&n.setDate(1),l>=2*z.month&&n.setMonth(S(n.getMonth(),3)),l>=2*z.quarter&&n.setMonth(S(n.getMonth(),6)),l>=z.year&&n.setMonth(0);var h,f=0,k=Number.NaN;do{if(h=k,k=n.getTime(),t.push(k),"month"==s||"quarter"==s)if(m<1){n.setDate(1);var M=n.getTime();n.setMonth(n.getMonth()+("quarter"==s?3:1));var g=n.getTime();n.setTime(k+f*z.hour+(g-M)*m),f=n.getHours(),n.setHours(0)}else n.setMonth(n.getMonth()+m*("quarter"==s?3:1));else"year"==s?n.setFullYear(n.getFullYear()+m):n.setTime(k+l)}while(k
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Password Reset | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
76 |
77 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
103 |
104 |
--------------------------------------------------------------------------------
/assets/data/countries.json:
--------------------------------------------------------------------------------
1 | [
2 | "Andorra",
3 | "United Arab Emirates",
4 | "Afghanistan",
5 | "Antigua and Barbuda",
6 | "Anguilla",
7 | "Albania",
8 | "Armenia",
9 | "Angola",
10 | "Antarctica",
11 | "Argentina",
12 | "American Samoa",
13 | "Austria",
14 | "Australia",
15 | "Aruba",
16 | "Åland",
17 | "Azerbaijan",
18 | "Bosnia and Herzegovina",
19 | "Barbados",
20 | "Bangladesh",
21 | "Belgium",
22 | "Burkina Faso",
23 | "Bulgaria",
24 | "Bahrain",
25 | "Burundi",
26 | "Benin",
27 | "Saint Barthélemy",
28 | "Bermuda",
29 | "Brunei",
30 | "Bolivia",
31 | "Bonaire",
32 | "Brazil",
33 | "Bahamas",
34 | "Bhutan",
35 | "Bouvet Island",
36 | "Botswana",
37 | "Belarus",
38 | "Belize",
39 | "Canada",
40 | "Cocos [Keeling] Islands",
41 | "Congo",
42 | "Central African Republic",
43 | "Republic of the Congo",
44 | "Switzerland",
45 | "Ivory Coast",
46 | "Cook Islands",
47 | "Chile",
48 | "Cameroon",
49 | "China",
50 | "Colombia",
51 | "Costa Rica",
52 | "Cuba",
53 | "Cape Verde",
54 | "Curacao",
55 | "Christmas Island",
56 | "Cyprus",
57 | "Czechia",
58 | "Germany",
59 | "Djibouti",
60 | "Denmark",
61 | "Dominica",
62 | "Dominican Republic",
63 | "Algeria",
64 | "Ecuador",
65 | "Estonia",
66 | "Egypt",
67 | "Western Sahara",
68 | "Eritrea",
69 | "Spain",
70 | "Ethiopia",
71 | "Finland",
72 | "Fiji",
73 | "Falkland Islands",
74 | "Micronesia",
75 | "Faroe Islands",
76 | "France",
77 | "Gabon",
78 | "United Kingdom",
79 | "Grenada",
80 | "Georgia",
81 | "French Guiana",
82 | "Guernsey",
83 | "Ghana",
84 | "Gibraltar",
85 | "Greenland",
86 | "Gambia",
87 | "Guinea",
88 | "Guadeloupe",
89 | "Equatorial Guinea",
90 | "Greece",
91 | "South Georgia and the South Sandwich Islands",
92 | "Guatemala",
93 | "Guam",
94 | "Guinea-Bissau",
95 | "Guyana",
96 | "Hong Kong",
97 | "Heard Island and McDonald Islands",
98 | "Honduras",
99 | "Croatia",
100 | "Haiti",
101 | "Hungary",
102 | "Indonesia",
103 | "Ireland",
104 | "Israel",
105 | "Isle of Man",
106 | "India",
107 | "British Indian Ocean Territory",
108 | "Iraq",
109 | "Iran",
110 | "Iceland",
111 | "Italy",
112 | "Jersey",
113 | "Jamaica",
114 | "Jordan",
115 | "Japan",
116 | "Kenya",
117 | "Kyrgyzstan",
118 | "Cambodia",
119 | "Kiribati",
120 | "Comoros",
121 | "Saint Kitts and Nevis",
122 | "North Korea",
123 | "South Korea",
124 | "Kuwait",
125 | "Cayman Islands",
126 | "Kazakhstan",
127 | "Laos",
128 | "Lebanon",
129 | "Saint Lucia",
130 | "Liechtenstein",
131 | "Sri Lanka",
132 | "Liberia",
133 | "Lesotho",
134 | "Lithuania",
135 | "Luxembourg",
136 | "Latvia",
137 | "Libya",
138 | "Morocco",
139 | "Monaco",
140 | "Moldova",
141 | "Montenegro",
142 | "Saint Martin",
143 | "Madagascar",
144 | "Marshall Islands",
145 | "Macedonia",
146 | "Mali",
147 | "Myanmar [Burma]",
148 | "Mongolia",
149 | "Macao",
150 | "Northern Mariana Islands",
151 | "Martinique",
152 | "Mauritania",
153 | "Montserrat",
154 | "Malta",
155 | "Mauritius",
156 | "Maldives",
157 | "Malawi",
158 | "Mexico",
159 | "Malaysia",
160 | "Mozambique",
161 | "Namibia",
162 | "New Caledonia",
163 | "Niger",
164 | "Norfolk Island",
165 | "Nigeria",
166 | "Nicaragua",
167 | "Netherlands",
168 | "Norway",
169 | "Nepal",
170 | "Nauru",
171 | "Niue",
172 | "New Zealand",
173 | "Oman",
174 | "Panama",
175 | "Peru",
176 | "French Polynesia",
177 | "Papua New Guinea",
178 | "Philippines",
179 | "Pakistan",
180 | "Poland",
181 | "Saint Pierre and Miquelon",
182 | "Pitcairn Islands",
183 | "Puerto Rico",
184 | "Palestine",
185 | "Portugal",
186 | "Palau",
187 | "Paraguay",
188 | "Qatar",
189 | "Réunion",
190 | "Romania",
191 | "Serbia",
192 | "Russia",
193 | "Rwanda",
194 | "Saudi Arabia",
195 | "Solomon Islands",
196 | "Seychelles",
197 | "Sudan",
198 | "Sweden",
199 | "Singapore",
200 | "Saint Helena",
201 | "Slovenia",
202 | "Svalbard and Jan Mayen",
203 | "Slovakia",
204 | "Sierra Leone",
205 | "San Marino",
206 | "Senegal",
207 | "Somalia",
208 | "Suriname",
209 | "South Sudan",
210 | "São Tomé and Príncipe",
211 | "El Salvador",
212 | "Sint Maarten",
213 | "Syria",
214 | "Swaziland",
215 | "Turks and Caicos Islands",
216 | "Chad",
217 | "French Southern Territories",
218 | "Togo",
219 | "Thailand",
220 | "Tajikistan",
221 | "Tokelau",
222 | "East Timor",
223 | "Turkmenistan",
224 | "Tunisia",
225 | "Tonga",
226 | "Turkey",
227 | "Trinidad and Tobago",
228 | "Tuvalu",
229 | "Taiwan",
230 | "Tanzania",
231 | "Ukraine",
232 | "Uganda",
233 | "U.S. Minor Outlying Islands",
234 | "United States",
235 | "Uruguay",
236 | "Uzbekistan",
237 | "Vatican City",
238 | "Saint Vincent and the Grenadines",
239 | "Venezuela",
240 | "British Virgin Islands",
241 | "U.S. Virgin Islands",
242 | "Vietnam",
243 | "Vanuatu",
244 | "Wallis and Futuna",
245 | "Samoa",
246 | "Kosovo",
247 | "Yemen",
248 | "Mayotte",
249 | "South Africa",
250 | "Zambia",
251 | "Zimbabwe"
252 | ]
--------------------------------------------------------------------------------
/assets/vendor/blueimp-file-upload/js/jquery.fileupload-validate.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery File Upload Validation Plugin
3 | * https://github.com/blueimp/jQuery-File-Upload
4 | *
5 | * Copyright 2013, Sebastian Tschan
6 | * https://blueimp.net
7 | *
8 | * Licensed under the MIT license:
9 | * https://opensource.org/licenses/MIT
10 | */
11 |
12 | /* global define, require, window */
13 |
14 | ;(function (factory) {
15 | 'use strict';
16 | if (typeof define === 'function' && define.amd) {
17 | // Register as an anonymous AMD module:
18 | define([
19 | 'jquery',
20 | './jquery.fileupload-process'
21 | ], factory);
22 | } else if (typeof exports === 'object') {
23 | // Node/CommonJS:
24 | factory(
25 | require('jquery'),
26 | require('./jquery.fileupload-process')
27 | );
28 | } else {
29 | // Browser globals:
30 | factory(
31 | window.jQuery
32 | );
33 | }
34 | }(function ($) {
35 | 'use strict';
36 |
37 | // Append to the default processQueue:
38 | $.blueimp.fileupload.prototype.options.processQueue.push(
39 | {
40 | action: 'validate',
41 | // Always trigger this action,
42 | // even if the previous action was rejected:
43 | always: true,
44 | // Options taken from the global options map:
45 | acceptFileTypes: '@',
46 | maxFileSize: '@',
47 | minFileSize: '@',
48 | maxNumberOfFiles: '@',
49 | disabled: '@disableValidation'
50 | }
51 | );
52 |
53 | // The File Upload Validation plugin extends the fileupload widget
54 | // with file validation functionality:
55 | $.widget('blueimp.fileupload', $.blueimp.fileupload, {
56 |
57 | options: {
58 | /*
59 | // The regular expression for allowed file types, matches
60 | // against either file type or file name:
61 | acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
62 | // The maximum allowed file size in bytes:
63 | maxFileSize: 10000000, // 10 MB
64 | // The minimum allowed file size in bytes:
65 | minFileSize: undefined, // No minimal file size
66 | // The limit of files to be uploaded:
67 | maxNumberOfFiles: 10,
68 | */
69 |
70 | // Function returning the current number of files,
71 | // has to be overriden for maxNumberOfFiles validation:
72 | getNumberOfFiles: $.noop,
73 |
74 | // Error and info messages:
75 | messages: {
76 | maxNumberOfFiles: 'Maximum number of files exceeded',
77 | acceptFileTypes: 'File type not allowed',
78 | maxFileSize: 'File is too large',
79 | minFileSize: 'File is too small'
80 | }
81 | },
82 |
83 | processActions: {
84 |
85 | validate: function (data, options) {
86 | if (options.disabled) {
87 | return data;
88 | }
89 | var dfd = $.Deferred(),
90 | settings = this.options,
91 | file = data.files[data.index],
92 | fileSize;
93 | if (options.minFileSize || options.maxFileSize) {
94 | fileSize = file.size;
95 | }
96 | if ($.type(options.maxNumberOfFiles) === 'number' &&
97 | (settings.getNumberOfFiles() || 0) + data.files.length >
98 | options.maxNumberOfFiles) {
99 | file.error = settings.i18n('maxNumberOfFiles');
100 | } else if (options.acceptFileTypes &&
101 | !(options.acceptFileTypes.test(file.type) ||
102 | options.acceptFileTypes.test(file.name))) {
103 | file.error = settings.i18n('acceptFileTypes');
104 | } else if (fileSize > options.maxFileSize) {
105 | file.error = settings.i18n('maxFileSize');
106 | } else if ($.type(fileSize) === 'number' &&
107 | fileSize < options.minFileSize) {
108 | file.error = settings.i18n('minFileSize');
109 | } else {
110 | delete file.error;
111 | }
112 | if (file.error || data.files.error) {
113 | data.files.error = true;
114 | dfd.rejectWith(this, [data]);
115 | } else {
116 | dfd.resolveWith(this, [data]);
117 | }
118 | return dfd.promise();
119 | }
120 |
121 | }
122 |
123 | });
124 |
125 | }));
126 |
--------------------------------------------------------------------------------
/assets/vendor/photoswipe/photoswipe.css:
--------------------------------------------------------------------------------
1 | /*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
2 | /*
3 | Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
4 | */
5 | /* pswp = photoswipe */
6 | .pswp {
7 | display: none;
8 | position: absolute;
9 | width: 100%;
10 | height: 100%;
11 | left: 0;
12 | top: 0;
13 | overflow: hidden;
14 | -ms-touch-action: none;
15 | touch-action: none;
16 | z-index: 1500;
17 | -webkit-text-size-adjust: 100%;
18 | /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
19 | -webkit-backface-visibility: hidden;
20 | outline: none; }
21 | .pswp * {
22 | -webkit-box-sizing: border-box;
23 | box-sizing: border-box; }
24 | .pswp img {
25 | max-width: none; }
26 |
27 | /* style is added when JS option showHideOpacity is set to true */
28 | .pswp--animate_opacity {
29 | /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
30 | opacity: 0.001;
31 | will-change: opacity;
32 | /* for open/close transition */
33 | -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
34 | transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
35 |
36 | .pswp--open {
37 | display: block; }
38 |
39 | .pswp--zoom-allowed .pswp__img {
40 | /* autoprefixer: off */
41 | cursor: -webkit-zoom-in;
42 | cursor: -moz-zoom-in;
43 | cursor: zoom-in; }
44 |
45 | .pswp--zoomed-in .pswp__img {
46 | /* autoprefixer: off */
47 | cursor: -webkit-grab;
48 | cursor: -moz-grab;
49 | cursor: grab; }
50 |
51 | .pswp--dragging .pswp__img {
52 | /* autoprefixer: off */
53 | cursor: -webkit-grabbing;
54 | cursor: -moz-grabbing;
55 | cursor: grabbing; }
56 |
57 | /*
58 | Background is added as a separate element.
59 | As animating opacity is much faster than animating rgba() background-color.
60 | */
61 | .pswp__bg {
62 | position: absolute;
63 | left: 0;
64 | top: 0;
65 | width: 100%;
66 | height: 100%;
67 | background: #000;
68 | opacity: 0;
69 | -webkit-transform: translateZ(0);
70 | transform: translateZ(0);
71 | -webkit-backface-visibility: hidden;
72 | will-change: opacity; }
73 |
74 | .pswp__scroll-wrap {
75 | position: absolute;
76 | left: 0;
77 | top: 0;
78 | width: 100%;
79 | height: 100%;
80 | overflow: hidden; }
81 |
82 | .pswp__container,
83 | .pswp__zoom-wrap {
84 | -ms-touch-action: none;
85 | touch-action: none;
86 | position: absolute;
87 | left: 0;
88 | right: 0;
89 | top: 0;
90 | bottom: 0; }
91 |
92 | /* Prevent selection and tap highlights */
93 | .pswp__container,
94 | .pswp__img {
95 | -webkit-user-select: none;
96 | -moz-user-select: none;
97 | -ms-user-select: none;
98 | user-select: none;
99 | -webkit-tap-highlight-color: transparent;
100 | -webkit-touch-callout: none; }
101 |
102 | .pswp__zoom-wrap {
103 | position: absolute;
104 | width: 100%;
105 | -webkit-transform-origin: left top;
106 | -ms-transform-origin: left top;
107 | transform-origin: left top;
108 | /* for open/close transition */
109 | -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
110 | transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }
111 |
112 | .pswp__bg {
113 | will-change: opacity;
114 | /* for open/close transition */
115 | -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
116 | transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
117 |
118 | .pswp--animated-in .pswp__bg,
119 | .pswp--animated-in .pswp__zoom-wrap {
120 | -webkit-transition: none;
121 | transition: none; }
122 |
123 | .pswp__container,
124 | .pswp__zoom-wrap {
125 | -webkit-backface-visibility: hidden; }
126 |
127 | .pswp__item {
128 | position: absolute;
129 | left: 0;
130 | right: 0;
131 | top: 0;
132 | bottom: 0;
133 | overflow: hidden; }
134 |
135 | .pswp__img {
136 | position: absolute;
137 | width: auto;
138 | height: auto;
139 | top: 0;
140 | left: 0; }
141 |
142 | /*
143 | stretched thumbnail or div placeholder element (see below)
144 | style is added to avoid flickering in webkit/blink when layers overlap
145 | */
146 | .pswp__img--placeholder {
147 | -webkit-backface-visibility: hidden; }
148 |
149 | /*
150 | div element that matches size of large image
151 | large image loads on top of it
152 | */
153 | .pswp__img--placeholder--blank {
154 | background: #222; }
155 |
156 | .pswp--ie .pswp__img {
157 | width: 100% !important;
158 | height: auto !important;
159 | left: 0;
160 | top: 0; }
161 |
162 | /*
163 | Error message appears when image is not loaded
164 | (JS option errorMsg controls markup)
165 | */
166 | .pswp__error-msg {
167 | position: absolute;
168 | left: 0;
169 | top: 50%;
170 | width: 100%;
171 | text-align: center;
172 | font-size: 14px;
173 | line-height: 16px;
174 | margin-top: -8px;
175 | color: #CCC; }
176 |
177 | .pswp__error-msg a {
178 | color: #CCC;
179 | text-decoration: underline; }
180 |
--------------------------------------------------------------------------------
/assets/vendor/toastr/toastr.min.js:
--------------------------------------------------------------------------------
1 | !function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=d(t)),v)}function o(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function s(e){C=e}function i(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var o=m();v||n(o),u(e,o,t)||l(o)}function c(t){var o=m();return v||n(o),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),o=n.length-1;o>=0;o--)u(e(n[o]),t)}function u(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function d(t){return v=e("").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",escapeHtml:!1,target:"body",closeHtml:'',closeClass:"toast-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toast-progress",rtl:!1}}function f(e){C&&C(e)}function g(t){function o(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function s(){c(),u(),d(),p(),g(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toast-success":case"toast-info":e="polite";break;default:e="assertive"}I.attr("aria-live",e)}function a(){E.closeOnHover&&I.hover(H,D),!E.onclick&&E.tapToDismiss&&I.click(b),E.closeButton&&j&&j.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),E.onCloseClick&&E.onCloseClick(e),b(!0)}),E.onclick&&I.click(function(e){E.onclick(e),b()})}function r(){I.hide(),I[E.showMethod]({duration:E.showDuration,easing:E.showEasing,complete:E.onShown}),E.timeOut>0&&(k=setTimeout(b,E.timeOut),F.maxHideTime=parseFloat(E.timeOut),F.hideEta=(new Date).getTime()+F.maxHideTime,E.progressBar&&(F.intervalId=setInterval(x,10)))}function c(){t.iconClass&&I.addClass(E.toastClass).addClass(y)}function l(){E.newestOnTop?v.prepend(I):v.append(I)}function u(){if(t.title){var e=t.title;E.escapeHtml&&(e=o(t.title)),M.append(e).addClass(E.titleClass),I.append(M)}}function d(){if(t.message){var e=t.message;E.escapeHtml&&(e=o(t.message)),B.append(e).addClass(E.messageClass),I.append(B)}}function p(){E.closeButton&&(j.addClass(E.closeClass).attr("role","button"),I.prepend(j))}function g(){E.progressBar&&(q.addClass(E.progressClass),I.prepend(q))}function C(){E.rtl&&I.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&E.closeMethod!==!1?E.closeMethod:E.hideMethod,o=t&&E.closeDuration!==!1?E.closeDuration:E.hideDuration,s=t&&E.closeEasing!==!1?E.closeEasing:E.hideEasing;if(!e(":focus",I).length||t)return clearTimeout(F.intervalId),I[n]({duration:o,easing:s,complete:function(){h(I),clearTimeout(k),E.onHidden&&"hidden"!==P.state&&E.onHidden(),P.state="hidden",P.endTime=new Date,f(P)}})}function D(){(E.timeOut>0||E.extendedTimeOut>0)&&(k=setTimeout(b,E.extendedTimeOut),F.maxHideTime=parseFloat(E.extendedTimeOut),F.hideEta=(new Date).getTime()+F.maxHideTime)}function H(){clearTimeout(k),F.hideEta=0,I.stop(!0,!0)[E.showMethod]({duration:E.showDuration,easing:E.showEasing})}function x(){var e=(F.hideEta-(new Date).getTime())/F.maxHideTime*100;q.width(e+"%")}var E=m(),y=t.iconClass||E.iconClass;if("undefined"!=typeof t.optionsOverride&&(E=e.extend(E,t.optionsOverride),y=t.optionsOverride.iconClass||y),!O(E,t)){T++,v=n(E,!0);var k=null,I=e(""),M=e(""),B=e(""),q=e(""),j=e(E.closeHtml),F={intervalId:null,hideEta:null,maxHideTime:null},P={toastId:T,state:"visible",startTime:new Date,options:E,map:t};return s(),r(),a(),f(P),E.debug&&console&&console.log(P),I}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:o,options:{},subscribe:s,success:i,version:"2.1.3",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)});
2 | //# sourceMappingURL=toastr.js.map
3 |
--------------------------------------------------------------------------------
/auth-lockscreen.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Locked | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
62 |
63 |
85 |
86 |
87 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
108 |
109 |
110 |
120 |
121 |
--------------------------------------------------------------------------------
/user-lockscreen.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Locked | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
62 |
63 |
85 |
86 |
87 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
108 |
109 |
110 |
120 |
121 |
--------------------------------------------------------------------------------
/assets/javascript/pages/chartjs-radar-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Chartjs Radar Demo
4 | // =============================================================
5 |
6 | var chartjsRadarDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 | // turn off aspect ratio to get better mobile view
13 | Chart.defaults.global.maintainAspectRatio = false;
14 |
15 | // event handlers
16 | this.radarChart();
17 | this.radarSkipPointChart();
18 | },
19 | colors: function colors() {
20 | return {
21 | red: '#B76BA3',
22 | orange: '#EC935E',
23 | yellow: '#F7C46C',
24 | green: '#A7C796',
25 | teal: '#00A28A',
26 | blue: '#346CB0',
27 | purple: '#5F4B8B',
28 | gray: '#BEC1C4'
29 | };
30 | },
31 | getColor: function getColor(color) {
32 | return this.colors()[color];
33 | },
34 | colorNames: function colorNames(color) {
35 | return Object.keys(this.colors());
36 | },
37 | randomScalingFactor: function randomScalingFactor() {
38 | return (Math.random() > 0.5 ? 1.0 : -1.0) * Math.round(Math.random() * 100);
39 | },
40 | randomScaling: function randomScaling() {
41 | return Math.round(Math.random() * 100);
42 | },
43 | months: function months() {
44 | return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
45 | },
46 | radarChart: function radarChart() {
47 | var self = this;
48 | var data = {
49 | type: 'radar',
50 | data: {
51 | labels: [['Eating', 'Dinner'], ['Drinking', 'Water'], 'Sleeping', ['Designing', 'Graphics'], 'Coding', 'Cycling', 'Running'],
52 | datasets: [{
53 | label: 'My First dataset',
54 | backgroundColor: Chart.helpers.color(self.getColor('purple')).alpha(0.2).rgbString(),
55 | borderColor: self.getColor('purple'),
56 | pointBackgroundColor: self.getColor('purple'),
57 | data: [self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling()]
58 | }, {
59 | label: 'My Second dataset',
60 | backgroundColor: Chart.helpers.color(self.getColor('teal')).alpha(0.2).rgbString(),
61 | borderColor: self.getColor('teal'),
62 | pointBackgroundColor: self.getColor('teal'),
63 | data: [self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling(), self.randomScaling()]
64 | }]
65 | },
66 | options: {
67 | legend: {
68 | display: false
69 | },
70 | title: {
71 | display: true,
72 | text: 'Radar Chart'
73 | },
74 | scale: {
75 | ticks: {
76 | beginAtZero: true
77 | }
78 | }
79 | }
80 |
81 | // init chart radar
82 | };var chart = new Chart($('#canvas-radar')[0], data);
83 | },
84 | radarSkipPointChart: function radarSkipPointChart() {
85 | var self = this;
86 | var data = {
87 | type: 'radar',
88 | data: {
89 | labels: ['Eating', 'Drinking', 'Sleeping', 'Designing', 'Coding', 'Cycling', 'Running'],
90 | datasets: [{
91 | label: 'Skip first dataset',
92 | borderColor: self.getColor('purple'),
93 | backgroundColor: Chart.helpers.color(self.getColor('purple')).alpha(0.2).rgbString(),
94 | pointBackgroundColor: self.getColor('purple'),
95 | data: [NaN, self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor()]
96 | }, {
97 | label: 'Skip mid dataset',
98 | borderColor: self.getColor('blue'),
99 | backgroundColor: Chart.helpers.color(self.getColor('blue')).alpha(0.2).rgbString(),
100 | pointBackgroundColor: self.getColor('blue'),
101 | data: [self.randomScalingFactor(), self.randomScalingFactor(), NaN, self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor()]
102 | }, {
103 | label: 'Skip last dataset',
104 | borderColor: self.getColor('teal'),
105 | backgroundColor: Chart.helpers.color(self.getColor('teal')).alpha(0.2).rgbString(),
106 | pointBackgroundColor: self.getColor('teal'),
107 | data: [self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), self.randomScalingFactor(), NaN]
108 | }]
109 | },
110 | options: {
111 | title: {
112 | display: true,
113 | text: 'Skip Points'
114 | },
115 | legend: {
116 | display: false
117 | },
118 | elements: {
119 | line: {
120 | tension: 0.0
121 | }
122 | },
123 | scale: {
124 | beginAtZero: true
125 | }
126 | }
127 |
128 | // init chart skip points radar
129 | };var chart = new Chart($('#canvas-radar-skip-points')[0], data);
130 | }
131 | };
132 |
133 | chartjsRadarDemo.init();
134 |
--------------------------------------------------------------------------------
/auth-signin-v1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Sign In | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
60 |
61 |
99 |
100 |
101 |
105 |
106 |
107 |
108 |
109 |
113 |
114 |
115 |
116 |
126 |
127 |
--------------------------------------------------------------------------------
/assets/javascript/pages/datatables-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // DataTables Demo
4 | // =============================================================
5 |
6 | var dataTablesDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 |
13 | // event handlers
14 | this.table = this.handleDataTables();
15 | this.handleSearchRecords();
16 | this.handleSelecter();
17 | this.handleClearSelected();
18 |
19 | // add buttons
20 | this.table.buttons().container().appendTo('#dt-buttons').unwrap();
21 | },
22 | handleDataTables: function handleDataTables() {
23 | return $('#myTable').DataTable({
24 | dom: '<\'text-muted\'Bi>\n <\'table-responsive\'tr>\n <\'mt-4\'p>',
25 | buttons: ['copyHtml5', { extend: 'print', autoPrint: false }],
26 | language: {
27 | paginate: {
28 | previous: '',
29 | next: ''
30 | }
31 | },
32 | autoWidth: false,
33 | ajax: 'assets/data/products.json',
34 | deferRender: true,
35 | order: [1, 'asc'],
36 | columns: [{ data: 'id', className: 'col-checker align-middle', orderable: false, searchable: false }, { data: 'name', className: 'align-middle' }, { data: 'inventory', className: 'align-middle' }, { data: 'variant', className: 'align-middle' }, { data: 'prices', className: 'align-middle' }, { data: 'sales', className: 'align-middle' }, { data: 'id', className: 'align-middle text-right', orderable: false, searchable: false }],
37 | columnDefs: [{
38 | targets: 0,
39 | render: function render(data, type, row, meta) {
40 | return '\n \n \n
';
41 | }
42 | }, {
43 | targets: 1,
44 | render: function render(data, type, row, meta) {
45 | return '\n
\n \n ' + row.name + '';
46 | }
47 | }, {
48 | targets: 6,
49 | render: function render(data, type, row, meta) {
50 | return '\n ';
51 | }
52 | }]
53 | });
54 | },
55 | handleSearchRecords: function handleSearchRecords() {
56 | var self = this;
57 |
58 | $('#table-search, #filterBy').on('keyup change focus', function (e) {
59 | var filterBy = $('#filterBy').val();
60 | var hasFilter = filterBy !== '';
61 | var value = $('#table-search').val();
62 |
63 | // clear selected rows
64 | if (value.length && (e.type === 'keyup' || e.type === 'change')) {
65 | self.clearSelectedRows();
66 | }
67 |
68 | // reset search term
69 | self.table.search('').columns().search('').draw();
70 |
71 | if (hasFilter) {
72 | self.table.columns(filterBy).search(value).draw();
73 | } else {
74 | self.table.search(value).draw();
75 | }
76 | });
77 | },
78 | handleSelecter: function handleSelecter() {
79 | var self = this;
80 |
81 | $(document).on('change', '#check-handle', function () {
82 | var isChecked = $(this).prop('checked');
83 | $('input[name="selectedRow[]"]').prop('checked', isChecked);
84 |
85 | // get info
86 | self.getSelectedInfo();
87 | }).on('change', 'input[name="selectedRow[]"]', function () {
88 | var $selectors = $('input[name="selectedRow[]"]');
89 | var $selectedRow = $('input[name="selectedRow[]"]:checked').length;
90 | var prop = $selectedRow === $selectors.length ? 'checked' : 'indeterminate';
91 |
92 | // reset props
93 | $('#check-handle').prop('indeterminate', false).prop('checked', false);
94 |
95 | if ($selectedRow) {
96 | $('#check-handle').prop(prop, true);
97 | }
98 |
99 | // get info
100 | self.getSelectedInfo();
101 | });
102 | },
103 | handleClearSelected: function handleClearSelected() {
104 | var self = this;
105 | // clear selected rows
106 | $('#myTable').on('page.dt', function () {
107 | self.clearSelectedRows();
108 | });
109 | $('#clear-search').on('click', function () {
110 | self.clearSelectedRows();
111 | });
112 | },
113 | getSelectedInfo: function getSelectedInfo() {
114 | var $selectedRow = $('input[name="selectedRow[]"]:checked').length;
115 | var $info = $('.thead-btn');
116 | var $badge = $('').addClass('selected-row-info text-muted pl-1').text($selectedRow + ' selected');
117 | // remove existing info
118 | $('.selected-row-info').remove();
119 | // add current info
120 | if ($selectedRow) {
121 | $info.prepend($badge);
122 | }
123 | },
124 | clearSelectedRows: function clearSelectedRows() {
125 | $('#check-handle').prop('indeterminate', false).prop('checked', false).trigger('change');
126 | }
127 | };
128 |
129 | dataTablesDemo.init();
130 |
--------------------------------------------------------------------------------
/auth-signup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Sign Up | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
60 |
61 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
116 |
117 |
118 |
119 |
129 |
130 |
--------------------------------------------------------------------------------
/assets/vendor/Caret/jquery.caret.min.js:
--------------------------------------------------------------------------------
1 | /*! jquery.caret 2015-02-01 */
2 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){"use strict";var b,c,d,e,f,g,h,i,j,k,l;k="caret",b=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.setPos=function(){return this.domInputor},b.prototype.getIEPosition=function(){return this.getPosition()},b.prototype.getPosition=function(){var a,b;return b=this.getOffset(),a=this.$inputor.offset(),b.left-=a.left,b.top-=a.top,b},b.prototype.getOldIEPos=function(){var a,b;return b=h.selection.createRange(),a=h.body.createTextRange(),a.moveToElementText(this.domInputor),a.setEndPoint("EndToEnd",b),a.text.length},b.prototype.getPos=function(){var a,b,c;return(c=this.range())?(a=c.cloneRange(),a.selectNodeContents(this.domInputor),a.setEnd(c.endContainer,c.endOffset),b=a.toString().length,a.detach(),b):h.selection?this.getOldIEPos():void 0},b.prototype.getOldIEOffset=function(){var a,b;return a=h.selection.createRange().duplicate(),a.moveStart("character",-1),b=a.getBoundingClientRect(),{height:b.bottom-b.top,left:b.left,top:b.top}},b.prototype.getOffset=function(){var b,c,d,e,f;return j.getSelection&&(d=this.range())?(d.endOffset-1>0&&d.endContainer===!this.domInputor&&(b=d.cloneRange(),b.setStart(d.endContainer,d.endOffset-1),b.setEnd(d.endContainer,d.endOffset),e=b.getBoundingClientRect(),c={height:e.height,left:e.left+e.width,top:e.top},b.detach()),c&&0!==(null!=c?c.height:void 0)||(b=d.cloneRange(),f=a(h.createTextNode("|")),b.insertNode(f[0]),b.selectNode(f[0]),e=b.getBoundingClientRect(),c={height:e.height,left:e.left,top:e.top},f.remove(),b.detach())):h.selection&&(c=this.getOldIEOffset()),c&&(c.top+=a(j).scrollTop(),c.left+=a(j).scrollLeft()),c},b.prototype.range=function(){var a;if(j.getSelection)return a=j.getSelection(),a.rangeCount>0?a.getRangeAt(0):null},b}(),c=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.getIEPos=function(){var a,b,c,d,e,f,g;return b=this.domInputor,f=h.selection.createRange(),e=0,f&&f.parentElement()===b&&(d=b.value.replace(/\r\n/g,"\n"),c=d.length,g=b.createTextRange(),g.moveToBookmark(f.getBookmark()),a=b.createTextRange(),a.collapse(!1),e=g.compareEndPoints("StartToEnd",a)>-1?c:-g.moveStart("character",-c)),e},b.prototype.getPos=function(){return h.selection?this.getIEPos():this.domInputor.selectionStart},b.prototype.setPos=function(a){var b,c;return b=this.domInputor,h.selection?(c=b.createTextRange(),c.move("character",a),c.select()):b.setSelectionRange&&b.setSelectionRange(a,a),b},b.prototype.getIEOffset=function(a){var b,c,d,e;return c=this.domInputor.createTextRange(),a||(a=this.getPos()),c.move("character",a),d=c.boundingLeft,e=c.boundingTop,b=c.boundingHeight,{left:d,top:e,height:b}},b.prototype.getOffset=function(b){var c,d,e;return c=this.$inputor,h.selection?(d=this.getIEOffset(b),d.top+=a(j).scrollTop()+c.scrollTop(),d.left+=a(j).scrollLeft()+c.scrollLeft(),d):(d=c.offset(),e=this.getPosition(b),d={left:d.left+e.left-c.scrollLeft(),top:d.top+e.top-c.scrollTop(),height:e.height})},b.prototype.getPosition=function(a){var b,c,e,f,g,h,i;return b=this.$inputor,f=function(a){return a=a.replace(/<|>|`|"|&/g,"?").replace(/\r\n|\r|\n/g,"
"),/firefox/i.test(navigator.userAgent)&&(a=a.replace(/\s/g," ")),a},void 0===a&&(a=this.getPos()),i=b.val().slice(0,a),e=b.val().slice(a),g=""+f(i)+"",g+="|",g+=""+f(e)+"",h=new d(b),c=h.create(g).rect()},b.prototype.getIEPosition=function(a){var b,c,d,e,f;return d=this.getIEOffset(a),c=this.$inputor.offset(),e=d.left-c.left,f=d.top-c.top,b=d.height,{left:e,top:f,height:b}},b}(),d=function(){function b(a){this.$inputor=a}return b.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","whiteSpace","wordBreak","wordWrap"],b.prototype.mirrorCss=function(){var b,c=this;return b={position:"absolute",left:-9999,top:0,zIndex:-2e4},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),a.each(this.css_attr,function(a,d){return b[d]=c.$inputor.css(d)}),b},b.prototype.create=function(b){return this.$mirror=a(""),this.$mirror.css(this.mirrorCss()),this.$mirror.html(b),this.$inputor.after(this.$mirror),this},b.prototype.rect=function(){var a,b,c;return a=this.$mirror.find("#caret"),b=a.position(),c={left:b.left,top:b.top,height:a.height()},this.$mirror.remove(),c},b}(),e={contentEditable:function(a){return!(!a[0].contentEditable||"true"!==a[0].contentEditable)}},g={pos:function(a){return a||0===a?this.setPos(a):this.getPos()},position:function(a){return h.selection?this.getIEPosition(a):this.getPosition(a)},offset:function(a){var b;return b=this.getOffset(a)}},h=null,j=null,i=null,l=function(a){var b;return(b=null!=a?a.iframe:void 0)?(i=b,j=b.contentWindow,h=b.contentDocument||j.document):(i=void 0,j=window,h=document)},f=function(a){var b;h=a[0].ownerDocument,j=h.defaultView||h.parentWindow;try{return i=j.frameElement}catch(c){b=c}},a.fn.caret=function(d,f,h){var i;return g[d]?(a.isPlainObject(f)?(l(f),f=void 0):l(h),i=e.contentEditable(this)?new b(this):new c(this),g[d].apply(i,[f])):a.error("Method "+d+" does not exist on jQuery.caret")},a.fn.caret.EditableCaret=b,a.fn.caret.InputCaret=c,a.fn.caret.Utils=e,a.fn.caret.apis=g});
3 |
--------------------------------------------------------------------------------
/auth-signin-v2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Sign In | Looper - Bootstrap 4 Admin Theme
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
97 |
98 |
99 |
106 |
107 |
108 |
109 |
110 |
111 |
115 |
116 |
117 |
118 |
128 |
129 |
--------------------------------------------------------------------------------
/assets/javascript/pages/select2-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // Select2 Demo
4 | // =============================================================
5 |
6 | var select2Demo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 | // responsive setting
13 | $.fn.select2.defaults.set('width', '100%');
14 |
15 | // event handlers
16 | this.singleSelect();
17 | this.multipleSelect();
18 | this.arrayData();
19 | this.remoteData();
20 | this.tagging();
21 | this.disableMode();
22 | },
23 | getStates: function getStates() {
24 | return $('#select2-source-states').html();
25 | },
26 | singleSelect: function singleSelect() {
27 | $('#select2-basic-single').append(this.getStates());
28 | $('#select2-basic-single').select2({
29 | placeholder: 'Select a state',
30 | allowClear: true
31 | });
32 | },
33 | multipleSelect: function multipleSelect() {
34 | $('#select2-basic-multiple').append(this.getStates());
35 | $('#select2-basic-multiple').select2({
36 | placeholder: 'Select a state',
37 | maximumSelectionLength: 4
38 | });
39 | },
40 | arrayData: function arrayData() {
41 | var data = [{ id: 0, text: 'Visa' }, { id: 1, text: 'Discover Card' }, { id: 2, text: 'American Express' }, { id: 3, text: 'MasterCard' }, { id: 4, text: 'American Express' }];
42 |
43 | $('#select2-data-array').select2({
44 | data: data,
45 | minimumResultsForSearch: Infinity
46 | });
47 | },
48 | remoteData: function remoteData() {
49 | var formatRepo = function formatRepo(repo) {
50 | if (repo.loading) return repo.text;
51 |
52 | var markup = '';
59 |
60 | return markup;
61 | };
62 |
63 | var formatRepoSelection = function formatRepoSelection(repo) {
64 | return '
' + repo.full_name || repo.text;
65 | };
66 |
67 | $('#select2-data-remote').select2({
68 | ajax: {
69 | url: 'https://api.github.com/search/repositories',
70 | dataType: 'json',
71 | delay: 250,
72 | data: function data(params) {
73 | return {
74 | q: params.term, // search term
75 | page: params.page
76 | };
77 | },
78 | processResults: function processResults(data, params) {
79 | // parse the results into the format expected by Select2
80 | // since we are using custom formatting functions we do not need to
81 | // alter the remote JSON data, except to indicate that infinite
82 | // scrolling can be used
83 | params.page = params.page || 1;
84 |
85 | return {
86 | results: data.items,
87 | pagination: {
88 | more: params.page * 30 < data.total_count
89 | }
90 | };
91 | },
92 | cache: true
93 | },
94 | escapeMarkup: function escapeMarkup(markup) {
95 | return markup;
96 | },
97 | minimumInputLength: 1,
98 | templateResult: formatRepo,
99 | templateSelection: formatRepoSelection
100 | });
101 | },
102 | tagging: function tagging() {
103 | var data = ['SandyBrown', 'GhostWhite', 'LightSalmon', 'Bisque', 'LightSlateGray', 'PaleTurquoise', 'MediumVioletRed', 'LightSteelBlue', 'MidnightBlue', 'Peru', 'CornflowerBlue', 'DimGray', 'LightPink', 'Lime', 'Cornsilk', 'Cyan', 'DeepPink', 'BurlyWood', 'LightBlue', 'Fuchsia', 'LightGoldenRodYellow', 'PaleGoldenRod', 'DarkSalmon', 'Darkorange', 'Orange', 'FloralWhite', 'Ivory', 'Pink', 'Teal', 'Tan', 'LightCoral', 'ForestGreen', 'LimeGreen', 'Chocolate', 'Linen', 'RosyBrown', 'DarkTurquoise', 'DarkOrchid', 'DarkBlue', 'Magenta', 'SeaGreen', 'DarkRed', 'DarkSlateGray', 'SaddleBrown', 'DarkMagenta', 'Gray', 'Azure', 'Black', 'DarkKhaki', 'Lavender', 'Maroon', 'Orchid', 'DarkSeaGreen', 'Gainsboro', 'Brown', 'Khaki', 'MediumSeaGreen', 'LightYellow', 'Salmon', 'MediumTurquoise', 'IndianRed', 'AntiqueWhite', 'SpringGreen', 'MistyRose', 'DarkOliveGreen', 'Thistle', 'Violet', 'Olive', 'Crimson', 'BlanchedAlmond', 'PowderBlue', 'SlateGray', 'LawnGreen', 'MintCream', 'LightGreen', 'LightSkyBlue', 'Yellow', 'Indigo', 'HotPink', 'WhiteSmoke', 'Gold', 'BlueViolet', 'LavenderBlush', 'OliveDrab', 'PeachPuff', 'OldLace', 'GreenYellow', 'Navy', 'Aquamarine', 'DarkSlateBlue', 'Purple', 'PaleGreen', 'SteelBlue', 'Blue', 'Coral', 'PaleVioletRed', 'RoyalBlue', 'Turquoise', 'MediumOrchid', 'Green', 'Sienna', 'DarkGray', 'DodgerBlue', 'SlateBlue', 'LightGray', 'DarkGoldenRod', 'SkyBlue', 'LightSeaGreen', 'GoldenRod', 'Snow', 'YellowGreen', 'CadetBlue', 'PapayaWhip', 'DeepSkyBlue', 'LemonChiffon', 'DimGrey', 'MediumSpringGreen', 'HoneyDew', 'Plum', 'Silver', 'MediumBlue', 'Aqua', 'Chartreuse', 'FireBrick', 'Beige', 'SeaShell', 'Wheat', 'AliceBlue', 'MediumPurple', 'OrangeRed', 'DarkGreen', 'Moccasin', 'NavajoWhite', 'DarkCyan', 'MediumAquaMarine', 'Red', 'DarkViolet', 'LightCyan', 'MediumSlateBlue'];
104 | $('#select2-tagging').select2({
105 | tags: data,
106 | tokenSeparators: [',', ' ']
107 | });
108 | },
109 | disableMode: function disableMode() {
110 | $('#select2-disabled-mode1, #select2-disabled-mode2').select2({
111 | placeholder: 'Select a state'
112 | });
113 | }
114 | };
115 |
116 | select2Demo.init();
117 |
--------------------------------------------------------------------------------
/assets/javascript/pages/dataTables.bootstrap.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
4 |
5 | /*! DataTables Bootstrap 3 integration
6 | * ©2011-2015 SpryMedia Ltd - datatables.net/license
7 | */
8 |
9 | /**
10 | * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
11 | * DataTables 1.10 or newer.
12 | *
13 | * This file sets the defaults and adds options to DataTables to style its
14 | * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
15 | * for further information.
16 | */
17 | (function (factory) {
18 | if (typeof define === 'function' && define.amd) {
19 | // AMD
20 | define(['jquery', 'datatables.net'], function ($) {
21 | return factory($, window, document);
22 | });
23 | } else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') {
24 | // CommonJS
25 | module.exports = function (root, $) {
26 | if (!root) {
27 | root = window;
28 | }
29 |
30 | if (!$ || !$.fn.dataTable) {
31 | // Require DataTables, which attaches to jQuery, including
32 | // jQuery if needed and have a $ property so we can access the
33 | // jQuery object that is used
34 | $ = require('datatables.net')(root, $).$;
35 | }
36 |
37 | return factory($, root, root.document);
38 | };
39 | } else {
40 | // Browser
41 | factory(jQuery, window, document);
42 | }
43 | })(function ($, window, document, undefined) {
44 | 'use strict';
45 |
46 | var DataTable = $.fn.dataTable;
47 |
48 | /* Set the defaults for DataTables initialisation */
49 | $.extend(true, DataTable.defaults, {
50 | dom: '<\'text-muted\'i>' + '<\'table-responsive\'tr>' + '<\'mt-4\'p>',
51 | renderer: 'bootstrap'
52 | });
53 |
54 | /* Default class modification */
55 | $.extend(DataTable.ext.classes, {
56 | sWrapper: 'dataTables_wrapper dt-bootstrap4',
57 | sFilterInput: 'form-control',
58 | sLengthSelect: 'custom-select',
59 | sProcessing: 'dataTables_processing card',
60 | sPageButton: 'paginate_button page-item'
61 | });
62 |
63 | /* Bootstrap paging button renderer */
64 | DataTable.ext.renderer.pageButton.bootstrap = function (settings, host, idx, buttons, page, pages) {
65 | var api = new DataTable.Api(settings);
66 | var classes = settings.oClasses;
67 | var lang = settings.oLanguage.oPaginate;
68 | var aria = settings.oLanguage.oAria.paginate || {};
69 | var btnDisplay = void 0,
70 | btnClass = void 0,
71 | counter = 0;
72 |
73 | var attach = function attach(container, buttons) {
74 | var i = void 0,
75 | ien = void 0,
76 | node = void 0,
77 | button = void 0;
78 | var clickHandler = function clickHandler(e) {
79 | e.preventDefault();
80 | if (!$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action) {
81 | api.page(e.data.action).draw('page');
82 | }
83 | };
84 |
85 | for (i = 0, ien = buttons.length; i < ien; i++) {
86 | button = buttons[i];
87 |
88 | if ($.isArray(button)) {
89 | attach(container, button);
90 | } else {
91 | btnDisplay = '';
92 | btnClass = '';
93 |
94 | switch (button) {
95 | case 'ellipsis':
96 | btnDisplay = '…';
97 | btnClass = 'disabled';
98 | break;
99 |
100 | case 'first':
101 | btnDisplay = lang.sFirst;
102 | btnClass = button + (page > 0 ? '' : ' disabled');
103 | break;
104 |
105 | case 'previous':
106 | btnDisplay = lang.sPrevious;
107 | btnClass = button + (page > 0 ? '' : ' disabled');
108 | break;
109 |
110 | case 'next':
111 | btnDisplay = lang.sNext;
112 | btnClass = button + (page < pages - 1 ? '' : ' disabled');
113 | break;
114 |
115 | case 'last':
116 | btnDisplay = lang.sLast;
117 | btnClass = button + (page < pages - 1 ? '' : ' disabled');
118 | break;
119 |
120 | default:
121 | btnDisplay = button + 1;
122 | btnClass = page === button ? 'active' : '';
123 | break;
124 | }
125 |
126 | if (btnDisplay) {
127 | node = $('', {
128 | 'class': classes.sPageButton + ' ' + btnClass,
129 | 'id': idx === 0 && typeof button === 'string' ? settings.sTableId + '_' + button : null
130 | }).append($('', {
131 | 'href': '#',
132 | 'aria-controls': settings.sTableId,
133 | 'aria-label': aria[button],
134 | 'data-dt-idx': counter,
135 | 'tabindex': settings.iTabIndex,
136 | 'class': 'page-link'
137 | }).html(btnDisplay)).appendTo(container);
138 |
139 | settings.oApi._fnBindAction(node, { action: button }, clickHandler);
140 |
141 | counter++;
142 | }
143 | }
144 | }
145 | };
146 |
147 | // IE9 throws an 'unknown error' if document.activeElement is used
148 | // inside an iframe or frame.
149 | var activeEl = void 0;
150 |
151 | try {
152 | // Because this approach is destroying and recreating the paging
153 | // elements, focus is lost on the select button which is bad for
154 | // accessibility. So we want to restore focus once the draw has
155 | // completed
156 | activeEl = $(host).find(document.activeElement).data('dt-idx');
157 | } catch (e) {}
158 |
159 | attach($(host).empty().html('').children('ul'), buttons);
160 |
161 | if (activeEl !== undefined) {
162 | $(host).find('[data-dt-idx=' + activeEl + ']').focus();
163 | }
164 | };
165 |
166 | return DataTable;
167 | });
168 |
--------------------------------------------------------------------------------
/assets/vendor/toastr/toastr.min.css:
--------------------------------------------------------------------------------
1 | .toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#FFF}.toast-message a:hover{color:#CCC;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#FFF;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#FFF;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}
--------------------------------------------------------------------------------
/assets/javascript/pages/jqvmap-demo.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // jQuery Vector Map Demo
4 | // =============================================================
5 |
6 | var jqvMapDemo = {
7 | init: function init() {
8 |
9 | this.bindUIActions();
10 | },
11 | bindUIActions: function bindUIActions() {
12 | toastr.options.closeButton = true;
13 | toastr.options.progressBar = true;
14 | toastr.options.positionClass = 'toast-bottom-right';
15 |
16 | // event handlers
17 | this.handleWorld();
18 | this.handleUSA();
19 | this.handleEurope();
20 | this.handleGermany();
21 | },
22 | colors: function colors() {
23 | return {
24 | red: '#B76BA3',
25 | orange: '#EC935E',
26 | yellow: '#F7C46C',
27 | green: '#A7C796',
28 | teal: '#00A28A',
29 | blue: '#346CB0',
30 | purple: '#5F4B8B',
31 | gray: '#BEC1C4',
32 | grayLight: '#D4D5D7',
33 | grayLighter: '#F5F5F5'
34 | };
35 | },
36 | getColor: function getColor(color) {
37 | return this.colors()[color];
38 | },
39 | handleWorld: function handleWorld() {
40 | var sample_data = { 'af': '16.63', 'al': '11.58', 'dz': '158.97', 'ao': '85.81', 'ag': '1.1', 'ar': '351.02', 'am': '8.83', 'au': '1219.72', 'at': '366.26', 'az': '52.17', 'bs': '7.54', 'bh': '21.73', 'bd': '105.4', 'bb': '3.96', 'by': '52.89', 'be': '461.33', 'bz': '1.43', 'bj': '6.49', 'bt': '1.4', 'bo': '19.18', 'ba': '16.2', 'bw': '12.5', 'br': '2023.53', 'bn': '11.96', 'bg': '44.84', 'bf': '8.67', 'bi': '1.47', 'kh': '11.36', 'cm': '21.88', 'ca': '1563.66', 'cv': '1.57', 'cf': '2.11', 'td': '7.59', 'cl': '199.18', 'cn': '5745.13', 'co': '283.11', 'km': '0.56', 'cd': '12.6', 'cg': '11.88', 'cr': '35.02', 'ci': '22.38', 'hr': '59.92', 'cy': '22.75', 'cz': '195.23', 'dk': '304.56', 'dj': '1.14', 'dm': '0.38', 'do': '50.87', 'ec': '61.49', 'eg': '216.83', 'sv': '21.8', 'gq': '14.55', 'er': '2.25', 'ee': '19.22', 'et': '30.94', 'fj': '3.15', 'fi': '231.98', 'fr': '2555.44', 'ga': '12.56', 'gm': '1.04', 'ge': '11.23', 'de': '3305.9', 'gh': '18.06', 'gr': '305.01', 'gd': '0.65', 'gt': '40.77', 'gn': '4.34', 'gw': '0.83', 'gy': '2.2', 'ht': '6.5', 'hn': '15.34', 'hk': '226.49', 'hu': '132.28', 'is': '12.77', 'in': '1430.02', 'id': '695.06', 'ir': '337.9', 'iq': '84.14', 'ie': '204.14', 'il': '201.25', 'it': '2036.69', 'jm': '13.74', 'jp': '5390.9', 'jo': '27.13', 'kz': '129.76', 'ke': '32.42', 'ki': '0.15', 'kr': '986.26', 'undefined': '5.73', 'kw': '117.32', 'kg': '4.44', 'la': '6.34', 'lv': '23.39', 'lb': '39.15', 'ls': '1.8', 'lr': '0.98', 'ly': '77.91', 'lt': '35.73', 'lu': '52.43', 'mk': '9.58', 'mg': '8.33', 'mw': '5.04', 'my': '218.95', 'mv': '1.43', 'ml': '9.08', 'mt': '7.8', 'mr': '3.49', 'mu': '9.43', 'mx': '1004.04', 'md': '5.36', 'mn': '5.81', 'me': '3.88', 'ma': '91.7', 'mz': '10.21', 'mm': '35.65', 'na': '11.45', 'np': '15.11', 'nl': '770.31', 'nz': '138', 'ni': '6.38', 'ne': '5.6', 'ng': '206.66', 'no': '413.51', 'om': '53.78', 'pk': '174.79', 'pa': '27.2', 'pg': '8.81', 'py': '17.17', 'pe': '153.55', 'ph': '189.06', 'pl': '438.88', 'pt': '223.7', 'qa': '126.52', 'ro': '158.39', 'ru': '1476.91', 'rw': '5.69', 'ws': '0.55', 'st': '0.19', 'sa': '434.44', 'sn': '12.66', 'rs': '38.92', 'sc': '0.92', 'sl': '1.9', 'sg': '217.38', 'sk': '86.26', 'si': '46.44', 'sb': '0.67', 'za': '354.41', 'es': '1374.78', 'lk': '48.24', 'kn': '0.56', 'lc': '1', 'vc': '0.58', 'sd': '65.93', 'sr': '3.3', 'sz': '3.17', 'se': '444.59', 'ch': '522.44', 'sy': '59.63', 'tw': '426.98', 'tj': '5.58', 'tz': '22.43', 'th': '312.61', 'tl': '0.62', 'tg': '3.07', 'to': '0.3', 'tt': '21.2', 'tn': '43.86', 'tr': '729.05', 'tm': 0, 'ug': '17.12', 'ua': '136.56', 'ae': '239.65', 'gb': '2258.57', 'us': '14624.18', 'uy': '40.71', 'uz': '37.72', 'vu': '0.72', 've': '285.21', 'vn': '101.99', 'ye': '30.02', 'zm': '15.69', 'zw': '5.57' };
41 |
42 | $('#vmap-world').vectorMap({
43 | map: 'world_en',
44 | backgroundColor: '#ffffff',
45 | color: this.getColor('gray'),
46 | hoverOpacity: 0.7,
47 | selectedColor: this.getColor('red'),
48 | enableZoom: true,
49 | showTooltip: true,
50 | values: sample_data,
51 | scaleColors: [this.getColor('teal'), this.getColor('green')],
52 | normalizeFunction: 'polynomial',
53 | onRegionClick: function onRegionClick(element, code, region) {
54 | var message = 'You clicked ' + region + ' which has the code: ' + code.toUpperCase();
55 | toastr.remove();
56 | toastr.info(message);
57 | }
58 | });
59 | },
60 | handleUSA: function handleUSA() {
61 | $('#vmap-usa').vectorMap({
62 | map: 'usa_en',
63 | backgroundColor: null,
64 | color: this.getColor('teal'),
65 | enableZoom: true,
66 | showTooltip: true,
67 | selectedColor: null,
68 | hoverColor: null,
69 | colors: {
70 | mo: this.getColor('yellow'),
71 | fl: this.getColor('yellow'),
72 | or: this.getColor('yellow')
73 | },
74 | onRegionClick: function onRegionClick(e, code, region) {
75 | e.preventDefault();
76 | var message = 'You clicked ' + region + ' which has the code: ' + code.toUpperCase();
77 | toastr.remove();
78 | toastr.info(message);
79 | }
80 | });
81 | },
82 | handleEurope: function handleEurope() {
83 | $('#vmap-europe').vectorMap({
84 | map: 'europe_en',
85 | backgroundColor: null,
86 | color: this.getColor('teal'),
87 | hoverColor: this.getColor('yellow'),
88 | enableZoom: false,
89 | showTooltip: false,
90 | onRegionClick: function onRegionClick(element, code, region) {
91 | var message = 'You clicked ' + region + ' which has the code: ' + code.toUpperCase();
92 | toastr.remove();
93 | toastr.info(message);
94 | }
95 | });
96 | },
97 | handleGermany: function handleGermany() {
98 | $('#vmap-germany').vectorMap({
99 | map: 'germany_en',
100 | backgroundColor: null,
101 | color: this.getColor('teal'),
102 | hoverColor: this.getColor('green'),
103 | onRegionClick: function onRegionClick(element, code, region) {
104 | var message = 'You clicked ' + region + ' which has the code: ' + code.toUpperCase();
105 | toastr.remove();
106 | toastr.info(message);
107 | }
108 | });
109 | }
110 | };
111 |
112 | jqvMapDemo.init();
113 |
--------------------------------------------------------------------------------