| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | 
							- /* BoxRefresh()
 
-  * =========
 
-  * Adds AJAX content control to a box.
 
-  *
 
-  * @Usage: $('#my-box').boxRefresh(options)
 
-  *         or add [data-widget="box-refresh"] to the box element
 
-  *         Pass any option as data-option="value"
 
-  */
 
- +function ($) {
 
-   'use strict';
 
-   var DataKey = 'lte.boxrefresh';
 
-   var Default = {
 
-     source         : '',
 
-     params         : {},
 
-     trigger        : '.refresh-btn',
 
-     content        : '.box-body',
 
-     loadInContent  : true,
 
-     responseType   : '',
 
-     overlayTemplate: '<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>',
 
-     onLoadStart    : function () {
 
-     },
 
-     onLoadDone     : function (response) {
 
-       return response;
 
-     }
 
-   };
 
-   var Selector = {
 
-     data: '[data-widget="box-refresh"]'
 
-   };
 
-   // BoxRefresh Class Definition
 
-   // =========================
 
-   var BoxRefresh = function (element, options) {
 
-     this.element  = element;
 
-     this.options  = options;
 
-     this.$overlay = $(options.overlayTemplate);
 
-     if (options.source === '') {
 
-       throw new Error('Source url was not defined. Please specify a url in your BoxRefresh source option.');
 
-     }
 
-     this._setUpListeners();
 
-     this.load();
 
-   };
 
-   BoxRefresh.prototype.load = function () {
 
-     this._addOverlay();
 
-     this.options.onLoadStart.call($(this));
 
-     $.get(this.options.source, this.options.params, function (response) {
 
-       if (this.options.loadInContent) {
 
-         $(this.element).find(this.options.content).html(response);
 
-       }
 
-       this.options.onLoadDone.call($(this), response);
 
-       this._removeOverlay();
 
-     }.bind(this), this.options.responseType !== '' && this.options.responseType);
 
-   };
 
-   // Private
 
-   BoxRefresh.prototype._setUpListeners = function () {
 
-     $(this.element).on('click', this.options.trigger, function (event) {
 
-       if (event) event.preventDefault();
 
-       this.load();
 
-     }.bind(this));
 
-   };
 
-   BoxRefresh.prototype._addOverlay = function () {
 
-     $(this.element).append(this.$overlay);
 
-   };
 
-   BoxRefresh.prototype._removeOverlay = function () {
 
-     $(this.$overlay).remove();
 
-   };
 
-   // Plugin Definition
 
-   // =================
 
-   function Plugin(option) {
 
-     return this.each(function () {
 
-       var $this = $(this);
 
-       var data  = $this.data(DataKey);
 
-       if (!data) {
 
-         var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option);
 
-         $this.data(DataKey, (data = new BoxRefresh($this, options)));
 
-       }
 
-       if (typeof data == 'string') {
 
-         if (typeof data[option] == 'undefined') {
 
-           throw new Error('No method named ' + option);
 
-         }
 
-         data[option]();
 
-       }
 
-     });
 
-   }
 
-   var old = $.fn.boxRefresh;
 
-   $.fn.boxRefresh             = Plugin;
 
-   $.fn.boxRefresh.Constructor = BoxRefresh;
 
-   // No Conflict Mode
 
-   // ================
 
-   $.fn.boxRefresh.noConflict = function () {
 
-     $.fn.boxRefresh = old;
 
-     return this;
 
-   };
 
-   // BoxRefresh Data API
 
-   // =================
 
-   $(window).on('load', function () {
 
-     $(Selector.data).each(function () {
 
-       Plugin.call($(this));
 
-     });
 
-   });
 
- }(jQuery);
 
 
  |