1(function ($, scope, undefined) { 2 function NextendSmartSliderWidgetArrowImage(id, desktopRatio, tabletRatio, mobileRatio) { 3 this.slider = window[id]; 4 5 this.slider.started($.proxy(this.start, this, id, desktopRatio, tabletRatio, mobileRatio)); 6 }; 7 8 NextendSmartSliderWidgetArrowImage.prototype.start = function (id, desktopRatio, tabletRatio, mobileRatio) { 9 if (this.slider.sliderElement.data('arrow')) { 10 return false; 11 } 12 this.slider.sliderElement.data('arrow', this); 13 14 this.deferred = $.Deferred(); 15 16 this.slider.sliderElement 17 .on('SliderDevice', $.proxy(this.onDevice, this)) 18 .trigger('addWidget', this.deferred); 19 20 this.previous = $('#' + id + '-arrow-previous').on('click', $.proxy(function () { 21 this.slider.previous(); 22 }, this)); 23 24 this.previousResize = this.previous.find('.n2-resize'); 25 if (this.previousResize.length == 0) { 26 this.previousResize = this.previous; 27 } 28 29 30 this.next = $('#' + id + '-arrow-next').on('click', $.proxy(function () { 31 this.slider.next(); 32 }, this)); 33 34 this.nextResize = this.next.find('.n2-resize'); 35 if (this.nextResize.length == 0) { 36 this.nextResize = this.next; 37 } 38 39 this.desktopRatio = desktopRatio; 40 this.tabletRatio = tabletRatio; 41 this.mobileRatio = mobileRatio; 42 43 $.when(this.previous.imagesLoaded(), this.next.imagesLoaded()).always($.proxy(this.loaded, this)); 44 }; 45 46 NextendSmartSliderWidgetArrowImage.prototype.loaded = function () { 47 this.previousWidth = this.previousResize.width(); 48 this.previousHeight = this.previousResize.height(); 49 50 this.nextWidth = this.nextResize.width(); 51 this.nextHeight = this.nextResize.height(); 52 this.onDevice(null, {device: this.slider.responsive.getDeviceMode()}); 53 54 this.deferred.resolve(); 55 }; 56 57 NextendSmartSliderWidgetArrowImage.prototype.onDevice = function (e, device) { 58 var ratio = 1; 59 switch (device.device) { 60 case 'tablet': 61 ratio = this.tabletRatio; 62 break; 63 case 'mobile': 64 ratio = this.mobileRatio; 65 break; 66 default: 67 ratio = this.desktopRatio; 68 } 69 this.previousResize.width(this.previousWidth * ratio); 70 this.previousResize.height(this.previousHeight * ratio); 71 this.nextResize.width(this.nextWidth * ratio); 72 this.nextResize.height(this.nextHeight * ratio); 73 }; 74 75 76 scope.NextendSmartSliderWidgetArrowImage = NextendSmartSliderWidgetArrowImage; 77})(n2, window);
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.