/pack-rat/003_pack_rat/pack-rat/node_modules/bootstrap-table/src/extensions/auto-refresh/bootstrap-table-auto-refresh.js |
@@ -0,0 +1,84 @@ |
/** |
* @author: Alec Fenichel |
* @webSite: https://fenichelar.com |
* @version: v1.0.0 |
*/ |
|
(function ($) { |
|
'use strict'; |
|
$.extend($.fn.bootstrapTable.defaults, { |
autoRefresh: false, |
autoRefreshInterval: 60, |
autoRefreshSilent: true, |
autoRefreshStatus: true, |
autoRefreshFunction: null |
}); |
|
$.extend($.fn.bootstrapTable.defaults.icons, { |
autoRefresh: 'glyphicon-time icon-time' |
}); |
|
$.extend($.fn.bootstrapTable.locales, { |
formatAutoRefresh: function() { |
return 'Auto Refresh'; |
} |
}); |
|
$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales); |
|
var BootstrapTable = $.fn.bootstrapTable.Constructor; |
var _init = BootstrapTable.prototype.init; |
var _initToolbar = BootstrapTable.prototype.initToolbar; |
var sprintf = $.fn.bootstrapTable.utils.sprintf; |
|
BootstrapTable.prototype.init = function () { |
_init.apply(this, Array.prototype.slice.apply(arguments)); |
|
if (this.options.autoRefresh && this.options.autoRefreshStatus) { |
var that = this; |
this.options.autoRefreshFunction = setInterval(function () { |
that.refresh({silent: that.options.autoRefreshSilent}); |
}, this.options.autoRefreshInterval*1000); |
} |
}; |
|
BootstrapTable.prototype.initToolbar = function() { |
_initToolbar.apply(this, Array.prototype.slice.apply(arguments)); |
|
if (this.options.autoRefresh) { |
var $btnGroup = this.$toolbar.find('>.btn-group'); |
var $btnAutoRefresh = $btnGroup.find('.auto-refresh'); |
|
if (!$btnAutoRefresh.length) { |
$btnAutoRefresh = $([ |
sprintf('<button class="btn btn-default auto-refresh %s" ', this.options.autoRefreshStatus ? 'enabled' : ''), |
'type="button" ', |
sprintf('title="%s">', this.options.formatAutoRefresh()), |
sprintf('<i class="%s %s"></i>', this.options.iconsPrefix, this.options.icons.autoRefresh), |
'</button>' |
].join('')).appendTo($btnGroup); |
|
$btnAutoRefresh.on('click', $.proxy(this.toggleAutoRefresh, this)); |
} |
} |
}; |
|
BootstrapTable.prototype.toggleAutoRefresh = function() { |
if (this.options.autoRefresh) { |
if (this.options.autoRefreshStatus) { |
clearInterval(this.options.autoRefreshFunction); |
this.$toolbar.find('>.btn-group').find('.auto-refresh').removeClass('enabled'); |
} else { |
var that = this; |
this.options.autoRefreshFunction = setInterval(function () { |
that.refresh({silent: that.options.autoRefreshSilent}); |
}, this.options.autoRefreshInterval*1000); |
this.$toolbar.find('>.btn-group').find('.auto-refresh').addClass('enabled'); |
} |
this.options.autoRefreshStatus = !this.options.autoRefreshStatus; |
} |
}; |
|
})(jQuery); |