vendor: 4,907 bytes, lines 1-119
1/** 2 * IAS Spinner Extension 3 * An IAS extension to show a spinner when loading 4 * https://infiniteajaxscroll.com 5 * 6 * This file is part of the Infinite AJAX Scroll package 7 * 8 * Copyright 2014-2018 Webcreate (Jeroen Fiege) 9 */ 10 11var IASSpinnerExtension = function(options) { 12 options = jQuery.extend({}, this.defaults, options); 13 14 this.ias = null; 15 this.uid = new Date().getTime(); 16 this.src = options.src; 17 this.html = (options.html).replace('{src}', this.src); 18 19 /** 20 * Shows spinner 21 */ 22 this.showSpinner = function() { 23 var $spinner = this.getSpinner() || this.createSpinner(), 24 $lastItem = this.ias.getLastItem(); 25 26 $lastItem.after($spinner); 27 $spinner.fadeIn(); 28 }; 29 30 /** 31 * Shows spinner 32 */ 33 this.showSpinnerBefore = function() { 34 var $spinner = this.getSpinner() || this.createSpinner(), 35 $firstItem = this.ias.getFirstItem(); 36 37 $firstItem.before($spinner); 38 $spinner.fadeIn(); 39 }; 40 41 /** 42 * Removes spinner 43 */ 44 this.removeSpinner = function() { 45 if (this.hasSpinner()) { 46 this.getSpinner().remove(); 47 } 48 }; 49 50 /** 51 * @returns {jQuery|boolean} 52 */ 53 this.getSpinner = function() { 54 var $spinner = jQuery('#ias_spinner_' + this.uid); 55 56 if ($spinner.length > 0) { 57 return $spinner; 58 } 59 60 return false; 61 }; 62 63 /** 64 * @returns {boolean} 65 */ 66 this.hasSpinner = function() { 67 var $spinner = jQuery('#ias_spinner_' + this.uid); 68 69 return ($spinner.length > 0); 70 }; 71 72 /** 73 * @returns {jQuery} 74 */ 75 this.createSpinner = function() { 76 var $spinner = jQuery(this.html).attr('id', 'ias_spinner_' + this.uid); 77 78 $spinner.hide(); 79 80 return $spinner; 81 }; 82 83 return this; 84}; 85 86/** 87 * @public 88 */ 89IASSpinnerExtension.prototype.bind = function(ias) { 90 this.ias = ias; 91 92 ias.on('next', jQuery.proxy(this.showSpinner, this)); 93 ias.on('render', jQuery.proxy(this.removeSpinner, this)); 94 95 try { 96 ias.on('prev', jQuery.proxy(this.showSpinnerBefore, this)); 97 } catch (exception) {} 98}; 99 100/** 101 * @public 102 * @param {object} ias 103 */ 104IASSpinnerExtension.prototype.unbind = function(ias) { 105 ias.off('next', this.showSpinner); 106 ias.off('render', this.removeSpinner); 107 108 try { 109 ias.off('prev', this.showSpinnerBefore); 110 } catch (exception) {} 111}; 112 113/** 114 * @public 115 */ 116IASSpinnerExtension.prototype.defaults = { 117 src: 'data:image/gif;base64,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', 118 html: '<div class="ias-spinner" style="text-align: center;"><img src="{src}"/></div>' 119};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.