├── .gitignore ├── assets ├── stylesheets │ └── custom.css ├── favicon.ico ├── images │ ├── brand.png │ ├── dummy │ │ ├── img-1.jpg │ │ ├── img-2.jpg │ │ ├── img-3.jpg │ │ ├── img-4.jpg │ │ ├── img-5.jpg │ │ ├── img-6.jpg │ │ ├── img-7.jpg │ │ └── img-8.jpg │ ├── avatars │ │ ├── profile.jpg │ │ ├── team1.jpg │ │ ├── team2.png │ │ ├── team3.png │ │ ├── team4.jpg │ │ ├── uifaces10.jpg │ │ ├── uifaces11.jpg │ │ ├── uifaces12.jpg │ │ ├── uifaces13.jpg │ │ ├── uifaces14.jpg │ │ ├── uifaces15.jpg │ │ ├── uifaces16.jpg │ │ ├── uifaces17.jpg │ │ ├── uifaces18.jpg │ │ ├── uifaces19.jpg │ │ ├── uifaces2.jpg │ │ ├── uifaces20.jpg │ │ ├── uifaces21.jpg │ │ ├── uifaces3.jpg │ │ ├── uifaces4.jpg │ │ ├── uifaces5.jpg │ │ ├── uifaces6.jpg │ │ ├── uifaces7.jpg │ │ ├── uifaces8.jpg │ │ ├── uifaces9.jpg │ │ └── uifaces10 (1).jpg │ ├── brand-inverse.png │ └── illustration │ │ ├── img-1.png │ │ ├── img-2.png │ │ ├── img-5.png │ │ └── img-7.png ├── apple-touch-icon.png ├── vendor │ ├── katex │ │ └── fonts │ │ │ ├── KaTeX_Math-Italic.ttf │ │ │ ├── KaTeX_Math-Italic.woff │ │ │ ├── KaTeX_Main-Regular.woff2 │ │ │ └── KaTeX_Math-Italic.woff2 │ ├── open-iconic │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── font-awesome │ │ └── webfonts │ │ │ ├── fa-brands-400.eot │ │ │ ├── fa-brands-400.ttf │ │ │ ├── fa-solid-900.eot │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff │ │ │ ├── fa-brands-400.woff │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.eot │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff │ │ │ ├── fa-solid-900.woff2 │ │ │ └── fa-regular-400.woff2 │ ├── jqvmap │ │ └── jqvmap.min.css │ ├── tribute │ │ └── tribute.css │ ├── At.js │ │ └── css │ │ │ └── jquery.atwho.min.css │ ├── datatables │ │ └── extensions │ │ │ └── buttons │ │ │ ├── buttons.bootstrap4.min.js │ │ │ ├── buttons.print.min.js │ │ │ └── buttons.bootstrap4.min.css │ ├── pace │ │ └── pace.min.css │ ├── highlight-js │ │ └── styles │ │ │ └── mono-blue.css │ ├── blueimp-canvas-to-blob │ │ └── canvas-to-blob.min.js │ ├── ace │ │ └── min │ │ │ ├── ext-statusbar.js │ │ │ └── theme-chrome.js │ ├── flot │ │ ├── jquery.flot.categories.min.js │ │ ├── jquery.flot.resize.min.js │ │ └── jquery.flot.time.min.js │ ├── nouislider │ │ └── nouislider.min.css │ ├── cookieconsent │ │ └── cookieconsent.min.css │ ├── jquery.easy-pie-chart │ │ └── jquery.easypiechart.min.js │ ├── bootstrap-session-timeout │ │ └── bootstrap-session-timeout.min.js │ ├── blueimp-file-upload │ │ └── js │ │ │ ├── jquery.fileupload-audio.js │ │ │ ├── jquery.fileupload-video.js │ │ │ └── jquery.fileupload-validate.js │ ├── photoswipe │ │ └── photoswipe.css │ ├── toastr │ │ ├── toastr.min.js │ │ └── toastr.min.css │ └── Caret │ │ └── jquery.caret.min.js ├── javascript │ ├── pages │ │ ├── simplemde-demo.js │ │ ├── ace-demo.js │ │ ├── session-timeout-demo.js │ │ ├── conversations-demo.js │ │ ├── quill-demo.js │ │ ├── plyr-demo.js │ │ ├── cookieconsent-demo.js │ │ ├── tasks-demo.js │ │ ├── sortable-nestable-demo.js │ │ ├── table-demo.js │ │ ├── treeview-demo.js │ │ ├── easypiechart-demo.js │ │ ├── toastr-demo.js │ │ ├── user-settings-demo.js │ │ ├── flatpickr-demo.js │ │ ├── atwho-demo.js │ │ ├── knob-demo.js │ │ ├── profile-demo.js │ │ ├── colorpicker-demo.js │ │ ├── dashboard-demo.js │ │ ├── tribute-demo.js │ │ ├── chartjs-radar-demo.js │ │ ├── datatables-demo.js │ │ ├── select2-demo.js │ │ ├── dataTables.bootstrap.js │ │ └── jqvmap-demo.js │ ├── particles.json │ └── particles-comingsoon.json └── data │ ├── nba.json │ ├── nhl.json │ ├── nfl.json │ └── countries.json ├── auth-error-v2.html ├── auth-error-v3.html ├── auth-maintenance.html ├── auth-recovery-password.html ├── auth-lockscreen.html ├── user-lockscreen.html ├── auth-signin-v1.html ├── auth-signup.html └── auth-signin-v2.html /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/* -------------------------------------------------------------------------------- /assets/stylesheets/custom.css: -------------------------------------------------------------------------------- 1 | /* put your own styles to customize and override the theme */ -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/favicon.ico -------------------------------------------------------------------------------- /assets/images/brand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/brand.png -------------------------------------------------------------------------------- /assets/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/images/dummy/img-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-1.jpg -------------------------------------------------------------------------------- /assets/images/dummy/img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-2.jpg -------------------------------------------------------------------------------- /assets/images/dummy/img-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-3.jpg -------------------------------------------------------------------------------- /assets/images/dummy/img-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-4.jpg -------------------------------------------------------------------------------- /assets/images/dummy/img-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-5.jpg -------------------------------------------------------------------------------- /assets/images/dummy/img-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-6.jpg -------------------------------------------------------------------------------- /assets/images/dummy/img-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-7.jpg -------------------------------------------------------------------------------- /assets/images/dummy/img-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/dummy/img-8.jpg -------------------------------------------------------------------------------- /assets/images/avatars/profile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/profile.jpg -------------------------------------------------------------------------------- /assets/images/avatars/team1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/team1.jpg -------------------------------------------------------------------------------- /assets/images/avatars/team2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/team2.png -------------------------------------------------------------------------------- /assets/images/avatars/team3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/team3.png -------------------------------------------------------------------------------- /assets/images/avatars/team4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/team4.jpg -------------------------------------------------------------------------------- /assets/images/brand-inverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/brand-inverse.png -------------------------------------------------------------------------------- /assets/images/avatars/uifaces10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces10.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces11.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces12.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces13.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces14.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces15.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces16.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces17.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces18.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces19.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces2.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces20.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces21.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces3.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces4.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces5.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces6.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces7.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces8.jpg -------------------------------------------------------------------------------- /assets/images/avatars/uifaces9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces9.jpg -------------------------------------------------------------------------------- /assets/images/illustration/img-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/illustration/img-1.png -------------------------------------------------------------------------------- /assets/images/illustration/img-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/illustration/img-2.png -------------------------------------------------------------------------------- /assets/images/illustration/img-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/illustration/img-5.png -------------------------------------------------------------------------------- /assets/images/illustration/img-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/illustration/img-7.png -------------------------------------------------------------------------------- /assets/images/avatars/uifaces10 (1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/images/avatars/uifaces10 (1).jpg -------------------------------------------------------------------------------- /assets/vendor/katex/fonts/KaTeX_Math-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/katex/fonts/KaTeX_Math-Italic.ttf -------------------------------------------------------------------------------- /assets/vendor/katex/fonts/KaTeX_Math-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/katex/fonts/KaTeX_Math-Italic.woff -------------------------------------------------------------------------------- /assets/vendor/open-iconic/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/open-iconic/fonts/open-iconic.eot -------------------------------------------------------------------------------- /assets/vendor/open-iconic/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/open-iconic/fonts/open-iconic.otf -------------------------------------------------------------------------------- /assets/vendor/open-iconic/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/open-iconic/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /assets/vendor/open-iconic/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/open-iconic/fonts/open-iconic.woff -------------------------------------------------------------------------------- /assets/vendor/katex/fonts/KaTeX_Main-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/katex/fonts/KaTeX_Main-Regular.woff2 -------------------------------------------------------------------------------- /assets/vendor/katex/fonts/KaTeX_Math-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/katex/fonts/KaTeX_Math-Italic.woff2 -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /assets/vendor/font-awesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rldiezn/uselooper-dashboard-template/HEAD/assets/vendor/font-awesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /assets/vendor/jqvmap/jqvmap.min.css: -------------------------------------------------------------------------------- 1 | .jqvmap-label,.jqvmap-pin{pointer-events:none}.jqvmap-label{position:absolute;display:none;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#292929;color:#fff;font-family:sans-serif,Verdana;font-size:smaller;padding:3px}.jqvmap-zoomin,.jqvmap-zoomout{position:absolute;left:10px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#000;padding:3px;color:#fff;width:10px;height:10px;cursor:pointer;line-height:10px;text-align:center}.jqvmap-zoomin{top:10px}.jqvmap-zoomout{top:30px}.jqvmap-region{cursor:pointer}.jqvmap-ajax_response{width:100%;height:500px} 2 | -------------------------------------------------------------------------------- /assets/javascript/pages/simplemde-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Simplemde Demo 4 | // ============================================================= 5 | 6 | var simpleMDEDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleSimpleMDE(); 15 | }, 16 | handleSimpleMDE: function handleSimpleMDE() { 17 | new SimpleMDE({ 18 | element: $('#simplemde')[0], 19 | spellChecker: false, 20 | autosave: { 21 | enabled: true, 22 | unique_id: 'SimpleMDEDemo' 23 | } 24 | }); 25 | } 26 | }; 27 | 28 | simpleMDEDemo.init(); 29 | -------------------------------------------------------------------------------- /assets/vendor/tribute/tribute.css: -------------------------------------------------------------------------------- 1 | .tribute-container { 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | height: auto; 6 | max-height: 300px; 7 | max-width: 500px; 8 | overflow: auto; 9 | display: block; 10 | z-index: 999999; } 11 | .tribute-container ul { 12 | margin: 0; 13 | margin-top: 2px; 14 | padding: 0; 15 | list-style: none; 16 | background: #efefef; } 17 | .tribute-container li { 18 | padding: 5px 5px; 19 | cursor: pointer; } 20 | .tribute-container li.highlight, .tribute-container li:hover { 21 | background: #ddd; } 22 | .tribute-container li span { 23 | font-weight: bold; } 24 | .tribute-container li.no-match { 25 | cursor: default; } 26 | .tribute-container .menu-highlighted { 27 | font-weight: bold; } 28 | -------------------------------------------------------------------------------- /assets/javascript/pages/ace-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Ace Demo 4 | // ============================================================= 5 | 6 | var aceDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleAceEditor(); 15 | }, 16 | handleAceEditor: function handleAceEditor() { 17 | var editor = ace.edit('aceEditor'); 18 | var StatusBar = ace.require('ace/ext/statusbar').StatusBar; 19 | // create a simple selection status indicator 20 | var statusBar = new StatusBar(editor, document.getElementById('statusBar')); 21 | 22 | editor.setTheme('ace/theme/chrome'); 23 | editor.session.setMode('ace/mode/javascript'); 24 | editor.setAutoScrollEditorIntoView(true); 25 | editor.setFontSize('14px'); 26 | } 27 | }; 28 | 29 | aceDemo.init(); 30 | -------------------------------------------------------------------------------- /assets/javascript/pages/session-timeout-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Session Timeout Demo 4 | // ============================================================= 5 | 6 | var sessionTimeoutDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleSessionTimeout(); 15 | }, 16 | handleSessionTimeout: function handleSessionTimeout() { 17 | $.sessionTimeout({ 18 | message: 'Your session will be locked in one minute.', 19 | countdownMessage: 'Redirecting in {timer} seconds.', 20 | logoutUrl: 'user-signin-v1.html', 21 | redirUrl: 'user-lockscreen.html', 22 | warnAfter: 10000, 23 | redirAfter: 30000, 24 | keepAlive: false, 25 | countdownSmart: true 26 | }); 27 | } 28 | }; 29 | 30 | sessionTimeoutDemo.init(); 31 | -------------------------------------------------------------------------------- /assets/vendor/At.js/css/jquery.atwho.min.css: -------------------------------------------------------------------------------- 1 | .atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:#fff;color:#000;border:1px solid #DDD;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,.1);min-width:120px;z-index:11110!important}.atwho-view .atwho-header{padding:5px;margin:5px;cursor:pointer;border-bottom:solid 1px #eaeff1;color:#6f8092;font-size:11px;font-weight:700}.atwho-view .atwho-header .small{color:#6f8092;float:right;padding-top:2px;margin-right:-5px;font-size:12px;font-weight:400}.atwho-view .atwho-header:hover{cursor:default}.atwho-view .cur{background:#36F;color:#fff}.atwho-view .cur small{color:#fff}.atwho-view strong{color:#36F}.atwho-view .cur strong{color:#fff;font:700}.atwho-view ul{list-style:none;padding:0;margin:auto;max-height:200px;overflow-y:auto}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid #DDD;cursor:pointer}.atwho-view small{font-size:smaller;color:#777;font-weight:400} 2 | -------------------------------------------------------------------------------- /assets/vendor/datatables/extensions/buttons/buttons.bootstrap4.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Bootstrap integration for DataTables' Buttons 3 | ©2016 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-buttons"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs4")(a,b).$;b.fn.dataTable.Buttons||require("datatables.net-buttons")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable;c.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group"}, 6 | button:{className:"btn btn-secondary"},collection:{tag:"div",className:"dt-button-collection dropdown-menu",button:{tag:"a",className:"dt-button dropdown-item",active:"active",disabled:"disabled"}}}});a.ext.buttons.collection.className+=" dropdown-toggle";return a.Buttons}); 7 | -------------------------------------------------------------------------------- /assets/javascript/pages/conversations-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Conversation Demo 4 | // ============================================================= 5 | 6 | var conversationDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleScroll(); 15 | this.handleTypingIndicator(); 16 | }, 17 | handleScroll: function handleScroll() { 18 | // scroll to last conversation 19 | var msgBody = document.querySelector('.message-body'); 20 | msgBody.scrollTop = msgBody.scrollHeight; 21 | }, 22 | handleTypingIndicator: function handleTypingIndicator() { 23 | // remove typing indicator demo after 10s 24 | setTimeout(function () { 25 | $('.conversation-list > li').last().fadeOut('slow', function () { 26 | $(this).remove(); 27 | }); 28 | }, 10000); 29 | } 30 | }; 31 | 32 | conversationDemo.init(); 33 | -------------------------------------------------------------------------------- /assets/vendor/pace/pace.min.css: -------------------------------------------------------------------------------- 1 | .pace{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pace .pace-progress{background:#00a28a;position:fixed;z-index:1030;top:3.5rem;right:100%;width:100%;height:4px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:6px;height:100%;-webkit-box-shadow:0 0 10px #00a28a,0 0 5px #00a28a;box-shadow:0 0 10px #00a28a,0 0 5px #00a28a;opacity:1}.pace .pace-activity{display:block;position:fixed;z-index:1030;top:4.5rem;right:1rem;width:1.25rem;height:1.25rem;border:3px solid transparent;border-top-color:#00a28a;border-left-color:#00a28a;border-radius:1rem;-webkit-animation:pace-spinner .4s linear infinite;animation:pace-spinner .4s linear infinite}.pace-inactive{display:none}@-webkit-keyframes pace-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes pace-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} 2 | -------------------------------------------------------------------------------- /assets/vendor/highlight-js/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | } 10 | 11 | .hljs { 12 | color: #00193a; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-selector-tag, 17 | .hljs-title, 18 | .hljs-section, 19 | .hljs-doctag, 20 | .hljs-name, 21 | .hljs-strong { 22 | font-weight: bold; 23 | } 24 | 25 | .hljs-comment { 26 | color: #738191; 27 | } 28 | 29 | .hljs-string, 30 | .hljs-title, 31 | .hljs-section, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-addition, 36 | .hljs-tag, 37 | .hljs-quote, 38 | .hljs-name, 39 | .hljs-selector-id, 40 | .hljs-selector-class { 41 | color: #0048ab; 42 | } 43 | 44 | .hljs-meta, 45 | .hljs-subst, 46 | .hljs-symbol, 47 | .hljs-regexp, 48 | .hljs-attribute, 49 | .hljs-deletion, 50 | .hljs-variable, 51 | .hljs-template-variable, 52 | .hljs-link, 53 | .hljs-bullet { 54 | color: #4c81c9; 55 | } 56 | 57 | .hljs-emphasis { 58 | font-style: italic; 59 | } 60 | -------------------------------------------------------------------------------- /assets/javascript/pages/quill-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Quill Demo 4 | // ============================================================= 5 | 6 | var quillDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleQuill(); 15 | }, 16 | handleQuill: function handleQuill() { 17 | new Quill('#quillEditor', { 18 | bounds: '#quillEditor', 19 | placeholder: 'Compose an epic...', 20 | modules: { 21 | 'formula': true, 22 | 'syntax': true, 23 | 'toolbar': [[{ 'font': [] }, { 'size': [] }], ['bold', 'italic', 'underline', 'strike'], [{ 'color': [] }, { 'background': [] }], [{ 'script': 'super' }, { 'script': 'sub' }], [{ 'header': [false, 1, 2, 3, 4, 5, 6] }, 'blockquote', 'code-block'], [{ 'list': 'ordered' }, { 'list': 'bullet' }, { 'indent': '-1' }, { 'indent': '+1' }], ['direction', { 'align': [] }], ['link', 'image', 'video', 'formula'], ['clean']] 24 | }, 25 | theme: 'snow' 26 | }); 27 | } 28 | }; 29 | 30 | quillDemo.init(); 31 | -------------------------------------------------------------------------------- /assets/javascript/pages/plyr-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Plyr Demo 4 | // ============================================================= 5 | 6 | var plyrDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handlePlyr(); 15 | }, 16 | handlePlyr: function handlePlyr() { 17 | // Audio 18 | var audio = new Plyr('#audio'); 19 | // Video 20 | var video = new Plyr('#video'); 21 | // Youtube 22 | var youtube = new Plyr('#youtube'); 23 | // Vimeo 24 | var vimeo = new Plyr('#vimeo'); 25 | 26 | // handle plyr controls 27 | $(document).on('click', '.controls-video > .btn', function () { 28 | var fn = $(this).data('plyr'); 29 | video[0][fn](); 30 | }) 31 | // controls youtube 32 | .on('click', '.controls-youtube > .btn', function () { 33 | var fn = $(this).data('plyr'); 34 | youtube[0][fn](); 35 | }) 36 | // controls vimeo 37 | .on('click', '.controls-vimeo > .btn', function () { 38 | var fn = $(this).data('plyr'); 39 | vimeo[0][fn](); 40 | }); 41 | } 42 | }; 43 | 44 | plyrDemo.init(); 45 | -------------------------------------------------------------------------------- /assets/javascript/pages/cookieconsent-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Cookieconsent Demo 4 | // ============================================================= 5 | 6 | var cookieconsentDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleCookieconsent(); 15 | }, 16 | handleCookieconsent: function handleCookieconsent() { 17 | window.cookieconsent.initialise({ 18 | container: document.querySelector('#cookieDemo'), 19 | palette: { 20 | popup: { background: '#131D28' }, 21 | button: { background: '#F7C46C' } 22 | }, 23 | revokable: false, 24 | onStatusChange: function onStatusChange(status) { 25 | console.log(this.hasConsented() ? 'enable cookies' : 'disable cookies'); 26 | }, 27 | law: { 28 | regionalLaw: false 29 | }, 30 | location: false, // disable automatically adapt to the user's location for demo purpose 31 | content: { 32 | 'message': 'This website uses cookies to ensure you get the best experience on our website.', 33 | 'dismiss': 'Got it' 34 | } 35 | }); 36 | } 37 | }; 38 | 39 | cookieconsentDemo.init(); 40 | -------------------------------------------------------------------------------- /assets/vendor/blueimp-canvas-to-blob/canvas-to-blob.min.js: -------------------------------------------------------------------------------- 1 | !function(t){"use strict";var e=t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype,o=t.Blob&&function(){try{return Boolean(new Blob)}catch(t){return!1}}(),n=o&&t.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(t){return!1}}(),r=t.BlobBuilder||t.WebKitBlobBuilder||t.MozBlobBuilder||t.MSBlobBuilder,a=/^data:((.*?)(;charset=.*?)?)(;base64)?,/,i=(o||r)&&t.atob&&t.ArrayBuffer&&t.Uint8Array&&function(t){var e,i,l,u,c,f,b,d,B;if(!(e=t.match(a)))throw new Error("invalid data URI");for(i=e[2]?e[1]:"text/plain"+(e[3]||";charset=US-ASCII"),l=!!e[4],u=t.slice(e[0].length),c=l?atob(u):decodeURIComponent(u),f=new ArrayBuffer(c.length),b=new Uint8Array(f),d=0;d=r.min&&i<=r.max&&o.push([i,e])}return o.sort(function(r,o){return r[0]-o[0]}),o}function i(r,o,e){if("categories"==r[o].options.mode){if(!r[o].categories){var i={},s=r[o].options.categories||{};if(t.isArray(s))for(var n=0;no&&(o=r[e]);return o+1}(e),u=0;u').addClass('selected-row-info text-muted pl-1').text($selectedRow + ' selected'); 45 | // remove existing info 46 | $('.selected-row-info').remove(); 47 | // add current info 48 | if ($selectedRow) { 49 | $info.prepend($badge); 50 | } 51 | }, 52 | clearSelectedRows: function clearSelectedRows() { 53 | $('#check-handle').prop('indeterminate', false).prop('checked', false).trigger('change'); 54 | } 55 | }; 56 | 57 | tableDemo.init(); 58 | -------------------------------------------------------------------------------- /assets/vendor/datatables/extensions/buttons/buttons.print.min.js: -------------------------------------------------------------------------------- 1 | (function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(e){return d(e,window,document)}):"object"===typeof exports?module.exports=function(e,c){e||(e=window);if(!c||!c.fn.dataTable)c=require("datatables.net")(e,c).$;c.fn.dataTable.Buttons||require("datatables.net-buttons")(e,c);return d(c,e,e.document)}:d(jQuery,window,document)})(function(d,e,c){var i=d.fn.dataTable,f=c.createElement("a"),l=function(a){f.href=a;a=f.host;-1===a.indexOf("/")&& 2 | 0!==f.pathname.indexOf("/")&&(a+="/");return f.protocol+"//"+a+f.pathname+f.search};i.ext.buttons.print={className:"buttons-print",text:function(a){return a.i18n("buttons.print","Print")},action:function(a,b,c,h){var a=b.buttons.exportData(d.extend({decodeEntities:!1},h.exportOptions)),c=b.buttons.exportInfo(h),f=function(b,c){for(var a="",d=0,e=b.length;d"+b[d]+"";return a+""},b='';h.header&&(b+=""+f(a.header, 3 | "th")+"");for(var b=b+"",k=0,i=a.body.length;k";h.footer&&a.footer&&(b+=""+f(a.footer,"th")+"");var b=b+"
",g=e.open("","");g.document.close();var j=""+c.title+"";d("style, link").each(function(){var b=j,a=d(this).clone()[0];"link"===a.nodeName.toLowerCase()&&(a.href=l(a.href));j=b+a.outerHTML});try{g.document.head.innerHTML=j}catch(m){d(g.document.head).html(j)}g.document.body.innerHTML="

"+c.title+"

"+ 4 | (c.messageTop||"")+"
"+b+"
"+(c.messageBottom||"")+"
";d(g.document.body).addClass("dt-print-view");d("img",g.document.body).each(function(a,b){b.setAttribute("src",l(b.getAttribute("src")))});h.customize&&h.customize(g);setTimeout(function(){h.autoPrint&&(g.print(),g.close())},1E3)},title:"*",messageTop:"*",messageBottom:"*",exportOptions:{},header:!0,footer:!1,autoPrint:!0,customize:null};return i.Buttons}); 5 | -------------------------------------------------------------------------------- /assets/javascript/pages/treeview-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Treeview Demo 4 | // ============================================================= 5 | 6 | var treeviewDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleTreeview(); 15 | }, 16 | handleTreeview: function handleTreeview() { 17 | // sample data 18 | var sampleData = [{ 19 | text: 'Parent 1', 20 | href: '#parent1', 21 | nodes: [{ 22 | text: 'Child 1', 23 | href: '#child1', 24 | tags: ['2'], 25 | nodes: [{ 26 | text: 'Grandchild 1', 27 | href: '#grandchild1' 28 | }, { 29 | text: 'Grandchild 2', 30 | href: '#grandchild2' 31 | }] 32 | }, { 33 | text: 'Child 2', 34 | href: '#child2' 35 | }] 36 | }, { 37 | text: 'Parent 2', 38 | href: '#parent2' 39 | }, { 40 | text: 'Parent 3', 41 | href: '#parent3', 42 | tags: ['6'] 43 | }, { 44 | text: 'Parent 4', 45 | href: '#parent4' 46 | }, { 47 | text: 'Parent 5', 48 | href: '#parent5', 49 | tags: ['New'] 50 | }]; 51 | 52 | // init treeview 53 | $('#treeview01').treeview({ 54 | data: sampleData, 55 | showBorder: false, 56 | showTags: true, 57 | showIcon: false, 58 | emptyIcon: 'fa', 59 | collapseIcon: 'fa fa-caret-down text-muted', 60 | expandIcon: 'fa fa-caret-right text-muted', 61 | selectedColor: 'inherit', 62 | selectedBackColor: '#f5f5f5', 63 | onhoverColor: '#f5f5f5' 64 | }); 65 | 66 | $('#treeview02').treeview({ 67 | data: sampleData, 68 | showBorder: false, 69 | showTags: true, 70 | showIcon: false, 71 | showCheckbox: true, 72 | emptyIcon: 'fa', 73 | collapseIcon: 'fa fa-caret-down text-muted mr-1', 74 | expandIcon: 'fa fa-caret-right text-muted mr-1', 75 | uncheckedIcon: 'far fa-square fa-lg text-muted mr-3', 76 | checkedIcon: 'fa fa-check-square fa-lg text-primary mr-3', 77 | selectable: false, 78 | selectedColor: 'inherit', 79 | selectedBackColor: '#f5f5f5', 80 | onhoverColor: '#f5f5f5' 81 | }); 82 | } 83 | }; 84 | 85 | treeviewDemo.init(); 86 | -------------------------------------------------------------------------------- /assets/javascript/pages/easypiechart-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // jQuery EasyPieChart Demo 4 | // ============================================================= 5 | 6 | var easypiechartDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleEasyPieChart(); 15 | }, 16 | colors: function colors() { 17 | return { 18 | red: '#B76BA3', 19 | orange: '#EC935E', 20 | yellow: '#F7C46C', 21 | green: '#A7C796', 22 | teal: '#00A28A', 23 | blue: '#346CB0', 24 | purple: '#5F4B8B', 25 | gray: '#BEC1C4', 26 | grayLight: '#D4D5D7', 27 | grayLighter: '#F5F5F5' 28 | }; 29 | }, 30 | getColor: function getColor(color) { 31 | return this.colors()[color]; 32 | }, 33 | handleEasyPieChart: function handleEasyPieChart() { 34 | var self = this; 35 | 36 | $('.easyPieChart').each(function () { 37 | var $this = $(this); 38 | var barColor = $this.attr('data-barColor'); 39 | var trackColor = $this.attr('data-trackColor'); 40 | var scaleColor = $this.attr('data-scaleColor'); 41 | var lineWidth = $this.attr('data-lineWidth'); 42 | var size = $this.attr('data-size'); 43 | var rotate = $this.attr('data-rotate'); 44 | 45 | // default for undefined 46 | barColor = barColor || self.getColor('teal'); 47 | trackColor = trackColor || self.getColor('grayLighter'); 48 | scaleColor = scaleColor || self.getColor('grayLight'); 49 | lineWidth = lineWidth ? parseInt(lineWidth) : 8; 50 | size = size ? parseInt(size) : 120; 51 | rotate = rotate ? parseInt(rotate) : 0; 52 | 53 | trackColor = trackColor == 'false' || trackColor == '' ? false : trackColor; 54 | scaleColor = scaleColor == 'false' || scaleColor == '' ? false : scaleColor; 55 | 56 | // initilize easy pie chart 57 | $this.easyPieChart({ 58 | barColor: barColor, 59 | trackColor: trackColor, 60 | scaleColor: scaleColor, 61 | lineWidth: lineWidth, 62 | size: size, 63 | rotate: rotate, 64 | onStep: function onStep(from, to, currentValue) { 65 | $(this.el).find('span').text(currentValue.toFixed(0) + '%'); 66 | } 67 | }); 68 | }); 69 | } 70 | }; 71 | 72 | easypiechartDemo.init(); 73 | -------------------------------------------------------------------------------- /assets/javascript/particles.json: -------------------------------------------------------------------------------- 1 | { 2 | particles: { 3 | number: { 4 | value: 80, 5 | density: { 6 | enable: true, 7 | value_area: 800 8 | } 9 | }, 10 | color: { 11 | value: "#ffffff" 12 | }, 13 | shape: { 14 | type: "circle", 15 | stroke: { 16 | width: 0, 17 | color: "#000000" 18 | }, 19 | polygon: { 20 | nb_sides: 5 21 | }, 22 | image: { 23 | src: "img/github.svg", 24 | width: 100, 25 | height: 100 26 | } 27 | }, 28 | opacity: { 29 | value: 0.5, 30 | random: false, 31 | anim: { 32 | enable: false, 33 | speed: 1, 34 | opacity_min: 0.1, 35 | sync: false 36 | } 37 | }, 38 | size: { 39 | value: 3, 40 | random: true, 41 | anim: { 42 | enable: false, 43 | speed: 40, 44 | size_min: 0.1, 45 | sync: false 46 | } 47 | }, 48 | line_linked: { 49 | enable: true, 50 | distance: 150, 51 | color: "#ffffff", 52 | opacity: 0.4, 53 | width: 1 54 | }, 55 | move: { 56 | enable: true, 57 | speed: 4, 58 | direction: "none", 59 | random: false, 60 | straight: false, 61 | out_mode: "out", 62 | bounce: false, 63 | attract: { 64 | enable: false, 65 | rotateX: 600, 66 | rotateY: 1200 67 | } 68 | } 69 | }, 70 | interactivity: { 71 | detect_on: "canvas", 72 | events: { 73 | onhover: { 74 | enable: false, 75 | mode: "repulse" 76 | }, 77 | onclick: { 78 | enable: true, 79 | mode: "push" 80 | }, 81 | resize: true 82 | }, 83 | modes: { 84 | grab: { 85 | distance: 400, 86 | line_linked: { 87 | opacity: 1 88 | } 89 | }, 90 | bubble: { 91 | distance: 400, 92 | size: 40, 93 | duration: 2, 94 | opacity: 8, 95 | speed: 3 96 | }, 97 | repulse: { 98 | distance: 200, 99 | duration: 0.4 100 | }, 101 | push: { 102 | particles_nb: 4 103 | }, 104 | remove: { 105 | particles_nb: 2 106 | } 107 | } 108 | }, 109 | retina_detect: true 110 | } -------------------------------------------------------------------------------- /assets/javascript/particles-comingsoon.json: -------------------------------------------------------------------------------- 1 | { 2 | particles: { 3 | number: { 4 | value: 400, 5 | density: { 6 | enable: true, 7 | value_area: 800 8 | } 9 | }, 10 | color: { 11 | value: "#fff" 12 | }, 13 | shape: { 14 | type: "star", 15 | stroke: { 16 | width: 0, 17 | color: "#000000" 18 | }, 19 | polygon: { 20 | nb_sides: 5 21 | }, 22 | image: { 23 | src: "img/github.svg", 24 | width: 100, 25 | height: 100 26 | } 27 | }, 28 | opacity: { 29 | value: 0.5, 30 | random: true, 31 | anim: { 32 | enable: false, 33 | speed: 1, 34 | opacity_min: 0.1, 35 | sync: false 36 | } 37 | }, 38 | size: { 39 | value: 3, 40 | random: true, 41 | anim: { 42 | enable: false, 43 | speed: 40, 44 | size_min: 0.1, 45 | sync: false 46 | } 47 | }, 48 | line_linked: { 49 | enable: false, 50 | distance: 500, 51 | color: "#ffffff", 52 | opacity: 0.4, 53 | width: 2 54 | }, 55 | move: { 56 | enable: true, 57 | speed: 1, 58 | direction: "bottom-right", 59 | random: false, 60 | straight: false, 61 | out_mode: "out", 62 | bounce: false, 63 | attract: { 64 | enable: false, 65 | rotateX: 600, 66 | rotateY: 1200 67 | } 68 | } 69 | }, 70 | interactivity: { 71 | detect_on: "canvas", 72 | events: { 73 | onhover: { 74 | enable: false, 75 | mode: "bubble" 76 | }, 77 | onclick: { 78 | enable: true, 79 | mode: "bubble" 80 | }, 81 | resize: true 82 | }, 83 | modes: { 84 | grab: { 85 | distance: 400, 86 | line_linked: { 87 | opacity: 0.5 88 | } 89 | }, 90 | bubble: { 91 | distance: 400, 92 | size: 4, 93 | duration: 0.3, 94 | opacity: 1, 95 | speed: 3 96 | }, 97 | repulse: { 98 | distance: 200, 99 | duration: 0.4 100 | }, 101 | push: { 102 | particles_nb: 4 103 | }, 104 | remove: { 105 | particles_nb: 2 106 | } 107 | } 108 | }, 109 | retina_detect: true 110 | } -------------------------------------------------------------------------------- /assets/javascript/pages/toastr-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Toastr Demo 4 | // ============================================================= 5 | 6 | var toastrDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | toastr.options.positionClass = 'toast-top-full-width'; 13 | toastr.options.closeButton = true; 14 | toastr.options.progressBar = true; 15 | toastr.options.extendedTimeOut = 0; //1000 16 | toastr.options.timeOut = 3000; 17 | toastr.options.fadeOut = 250; 18 | toastr.options.fadeIn = 250; 19 | 20 | this.i = 0; 21 | 22 | // event handlers 23 | this.handleToastr(); 24 | }, 25 | handleToastr: function handleToastr() { 26 | var self = this; 27 | $('#toastr-demo').click(function () { 28 | $('#toastr-demo').prop('disabled', true); 29 | self.delayToasts(); 30 | }); 31 | }, 32 | toasts: function toasts() { 33 | var generateToast = function generateToast(type, css, msg) { 34 | this.type = type; 35 | this.css = css; 36 | this.msg = 'This is positioned in the ' + msg + '.'; 37 | }; 38 | 39 | return [new generateToast('info', 'toast-bottom-full-width', 'bottom full width'), new generateToast('error', 'toast-top-full-width', 'top full width'), new generateToast('warning', 'toast-top-left', 'top left'), new generateToast('success', 'toast-top-right', 'top right'), new generateToast('info', 'toast-top-center', 'top center'), new generateToast('info', 'toast-bottom-right', 'bottom right'), new generateToast('info', 'toast-bottom-left', 'bottom left'), new generateToast('info', 'toast-bottom-center', 'bottom center')]; 40 | }, 41 | delayToasts: function delayToasts() { 42 | var self = this; 43 | var toasts = self.toasts(); 44 | var i = self.i; 45 | 46 | if (i === toasts.length) return; 47 | 48 | var delay = i === 0 ? 0 : 4100; 49 | 50 | setTimeout(function () { 51 | self.showToast(); 52 | }, delay); 53 | 54 | // re-enable the button 55 | if (i === toasts.length - 1) { 56 | setTimeout(function () { 57 | $('#toastr-demo').prop('disabled', false); 58 | self.i = 0; 59 | }, delay + 1000); 60 | } 61 | }, 62 | showToast: function showToast() { 63 | var t = this.toasts()[this.i]; 64 | 65 | toastr.options.positionClass = t.css; 66 | toastr[t.type](t.msg); 67 | 68 | this.i++; 69 | this.delayToasts(); 70 | } 71 | }; 72 | 73 | toastrDemo.init(); 74 | -------------------------------------------------------------------------------- /assets/javascript/pages/user-settings-demo.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // Profile Settings Demo 4 | // ============================================================= 5 | 6 | var profileSettingsDemo = { 7 | init: function init() { 8 | 9 | this.bindUIActions(); 10 | }, 11 | bindUIActions: function bindUIActions() { 12 | 13 | // event handlers 14 | this.handleFileUploadAvatar(); 15 | }, 16 | handleFileUploadAvatar: function handleFileUploadAvatar() { 17 | // Change this to the location of your server-side upload handler: 18 | var url = '//jquery-file-upload.appspot.com/'; 19 | // const url = (window.location.hostname === 'blueimp.github.io') ? '//jquery-file-upload.appspot.com/' : 'server/php/' 20 | var $container = $('#fileupload-avatar').parents('.card-body'); 21 | var $avatarWarningContainer = $('
').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: '
Member List↑ â†“ 
', 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: '
    \n
    \n
    \n
    \n
    \n
    ' 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 |
    55 | 56 | 57 | 58 |
    59 |
    60 |

    61 | 4 62 | 63 | 4 64 |

    65 |

    Page not found!

    66 |

    Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.

    67 |
    68 | 69 | Go Home 70 |
    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('"),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 |
    55 | 56 | 57 | 58 |
    59 |
    60 |

    61 | 4 62 | 63 | 4 64 |

    65 |

    Page not found!

    66 |

    Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.

    67 |
    68 | 69 | Go Home 70 |
    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 |
    58 |
    59 |

    We're working on some updates

    60 |

    We apologize for any inconvenience, but we'll be back up in no time. Check back soon!

    61 |
    62 |
    63 | 64 |
    65 | 66 |
    67 | 70 |
    71 |
    72 |
    73 |
    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 |
    53 |
    54 |
    55 |
    56 |

    Reset Your Password

    57 |
    58 |

    Tempora iusto officia magnam fugiat sequi aliquam cum consectetur aperiam beatae, rerum obcaecati ea.

    59 | 60 |
    61 | 62 | 63 |

    64 | We'll send password reset link to your email. 65 |

    66 |
    67 | 68 | 69 |
    70 | 71 |
    72 |
    73 | Return to signin 74 |
    75 |
    76 | 77 |
    © 2018 All Rights Reserved. Loper is Responsive Admin Theme build on top of latest Bootstrap 4. 78 | Privacy and 79 | Terms 80 |
    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 |
    52 |

    53 | 54 | Locked Screen 55 |

    56 |
    57 |

    Your session is expired, please enter your password or 58 | Sign out 59 |

    60 |
    61 |
    62 | 63 |
    64 |
    65 | 66 |
    67 | User Avatar
    68 | 69 |

    Beni Arisandi

    70 |
    bent10@looper.com
    71 |
    72 | 73 |
    74 |
    75 | 76 |
    77 | 80 |
    81 |
    82 |
    83 | 84 |
    85 | 86 | 87 |
    © 2018 All Rights Reserved. 88 | Privacy and 89 | Terms 90 |
    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 |
    52 |

    53 | 54 | Locked Screen 55 |

    56 |
    57 |

    Your session is expired, please enter your password or 58 | Sign out 59 |

    60 |
    61 |
    62 | 63 |
    64 |
    65 | 66 |
    67 | User Avatar
    68 | 69 |

    Beni Arisandi

    70 |
    bent10@looper.com
    71 |
    72 | 73 |
    74 |
    75 | 76 |
    77 | 80 |
    81 |
    82 |
    83 | 84 |
    85 | 86 | 87 |
    © 2018 All Rights Reserved. 88 | Privacy and 89 | Terms 90 |
    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 |
    52 |

    53 | 54 | Sign In 55 |

    56 |

    Don't have a account? 57 | Create One 58 |

    59 |
    60 | 61 |
    62 | 63 |
    64 |
    65 | 66 | 67 |
    68 |
    69 | 70 | 71 |
    72 |
    73 | 74 | 75 |
    76 |
    77 | 78 | 79 |
    80 | 81 |
    82 | 83 | 84 |
    85 |
    86 | 87 | 88 |
    89 |
    90 | 91 | 92 |
    93 | Forgot Username? 94 | · 95 | Forgot Password? 96 |
    97 | 98 |
    99 | 100 | 101 |
    © 2018 All Rights Reserved. 102 | Privacy and 103 | Terms 104 |
    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 Card image cap\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 |
    52 |

    53 | 54 | Sign Up 55 |

    56 |

    Already have an account? please 57 | Sign In 58 |

    59 |
    60 | 61 |
    62 | 63 |
    64 |
    65 | 66 | 67 |
    68 |
    69 | 70 | 71 |
    72 |
    73 | 74 | 75 |
    76 |
    77 | 78 | 79 |
    80 |
    81 | 82 | 83 |
    84 |
    85 | 86 | 87 |
    88 | 89 |
    90 | 91 | 92 |
    93 |
    94 | 95 | 96 |
    97 |
    98 | 99 | 100 |

    By creating an account you agree to the 101 | Terms of Use and 102 | Privacy Policy.

    103 | 104 |
    105 | 106 | 107 |
    © 2018 All Rights Reserved.
    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 |
    53 |
    54 |
    55 |
    56 |

    Sign In

    57 |
    58 |

    Don't have a account? 59 | Create One 60 |

    61 | 62 |
    63 | 64 |
    65 | 66 | 67 |
    68 | 69 |
    70 | 71 | 72 |
    73 | 74 |
    75 | 76 | 77 |
    78 |
    79 | 80 | 81 |
    82 |
    83 | 84 | 85 |

    86 | Forgot Username? 87 | · 88 | Forgot Password? 89 |

    90 | 91 | 92 |

    © 2018 All Rights Reserved. Loper is Responsive Admin Theme build on top of latest Bootstrap 4. 93 | Privacy and 94 | Terms 95 |

    96 |
    97 | 98 | 99 |
    100 |
    101 |

    How to Prepare for an Automated Future

    102 | 103 | Check Out Now 104 |
    105 |
    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 = '
    ' + '
    ' + '
    ' + '
    ' + repo.full_name + '
    '; 53 | 54 | if (repo.description) { 55 | markup += '
    ' + repo.description + '
    '; 56 | } 57 | 58 | markup += '
      ' + '
    • ' + repo.forks_count + ' Forks
    • ' + '
    • ' + repo.stargazers_count + ' Stars
    • ' + '
    • ' + repo.watchers_count + ' Watchers
    • ' + '
    ' + '
    '; 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 | --------------------------------------------------------------------------------