12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /* ------------------------------------------------------------------------------
- *
- * # Buttons and button dropdowns
- *
- * Demo JS code for components_buttons.html page
- *
- * ---------------------------------------------------------------------------- */
- // Setup module
- // ------------------------------
- var Buttons = function() {
- //
- // Setup module components
- //
- // Progress buttons
- var _componentLadda = function() {
- if (typeof Ladda == 'undefined') {
- console.warn('Warning - ladda.min.js is not loaded.');
- return;
- }
- // Button with spinner
- Ladda.bind('.btn-ladda-spinner', {
- dataSpinnerSize: 16,
- timeout: 2000
- });
- // Button with progress
- Ladda.bind('.btn-ladda-progress', {
- callback: function(instance) {
- var progress = 0;
- var interval = setInterval(function() {
- progress = Math.min(progress + Math.random() * 0.1, 1);
- instance.setProgress(progress);
- if( progress === 1 ) {
- instance.stop();
- clearInterval(interval);
- }
- }, 200);
- }
- });
- };
- // Loading button
- var _componentLoadingButton = function() {
- $('.btn-loading').on('click', function () {
- var btn = $(this),
- initialText = btn.data('initial-text'),
- loadingText = btn.data('loading-text');
- btn.html(loadingText).addClass('disabled');
- setTimeout(function () {
- btn.html(initialText).removeClass('disabled');
- }, 3000)
- });
- };
- //
- // Return objects assigned to module
- //
- return {
- init: function() {
- _componentLadda();
- _componentLoadingButton();
- }
- }
- }();
- // Initialize module
- // ------------------------------
- document.addEventListener('DOMContentLoaded', function() {
- Buttons.init();
- });
|