|
|
@ -9201,7 +9201,7 @@ $.fn.popup = function(parameters) { |
|
|
|
|
|
|
|
moduleSelector = $allModules.selector || '', |
|
|
|
|
|
|
|
hasTouch = ('ontouchstart' in document.documentElement), |
|
|
|
hasTouch = (true), |
|
|
|
time = new Date().getTime(), |
|
|
|
performance = [], |
|
|
|
|
|
|
@ -9335,7 +9335,9 @@ $.fn.popup = function(parameters) { |
|
|
|
: settings.delay |
|
|
|
; |
|
|
|
clearTimeout(module.hideTimer); |
|
|
|
module.showTimer = setTimeout(module.show, delay); |
|
|
|
if(!openedWithTouch) { |
|
|
|
module.showTimer = setTimeout(module.show, delay); |
|
|
|
} |
|
|
|
}, |
|
|
|
end: function() { |
|
|
|
var |
|
|
@ -9348,7 +9350,7 @@ $.fn.popup = function(parameters) { |
|
|
|
}, |
|
|
|
touchstart: function(event) { |
|
|
|
openedWithTouch = true; |
|
|
|
module.event.start(); |
|
|
|
module.show(); |
|
|
|
}, |
|
|
|
resize: function() { |
|
|
|
if( module.is.visible() ) { |
|
|
@ -9458,7 +9460,6 @@ $.fn.popup = function(parameters) { |
|
|
|
show: function(callback) { |
|
|
|
callback = callback || function(){}; |
|
|
|
module.debug('Showing pop-up', settings.transition); |
|
|
|
|
|
|
|
if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) { |
|
|
|
if( !module.exists() ) { |
|
|
|
module.create(); |
|
|
@ -9577,8 +9578,8 @@ $.fn.popup = function(parameters) { |
|
|
|
hide: function(callback) { |
|
|
|
callback = $.isFunction(callback) ? callback : function(){}; |
|
|
|
module.debug('Hiding pop-up'); |
|
|
|
if(settings.onShow.call($popup, element) === false) { |
|
|
|
module.debug('onShow callback returned false, cancelling popup animation'); |
|
|
|
if(settings.onHide.call($popup, element) === false) { |
|
|
|
module.debug('onHide callback returned false, cancelling popup animation'); |
|
|
|
return; |
|
|
|
} |
|
|
|
if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { |
|
|
@ -10063,7 +10064,7 @@ $.fn.popup = function(parameters) { |
|
|
|
.on('touchstart' + eventNamespace, module.event.touchstart) |
|
|
|
; |
|
|
|
} |
|
|
|
else if( module.get.startEvent() ) { |
|
|
|
if( module.get.startEvent() ) { |
|
|
|
$module |
|
|
|
.on(module.get.startEvent() + eventNamespace, module.event.start) |
|
|
|
.on(module.get.endEvent() + eventNamespace, module.event.end) |
|
|
@ -18162,7 +18163,7 @@ $.api = $.fn.api = function(parameters) { |
|
|
|
} |
|
|
|
}, |
|
|
|
validResponse: function(response) { |
|
|
|
if( settings.dataType !== 'json' || !$.isFunction(settings.successTest) ) { |
|
|
|
if( (settings.dataType !== 'json' && settings.dataType !== 'jsonp') || !$.isFunction(settings.successTest) ) { |
|
|
|
module.verbose('Response is not JSON, skipping validation', settings.successTest, response); |
|
|
|
return true; |
|
|
|
} |
|
|
@ -18320,13 +18321,13 @@ $.api = $.fn.api = function(parameters) { |
|
|
|
}, |
|
|
|
xhr: { |
|
|
|
always: function() { |
|
|
|
// calculate if loading time was below minimum threshold
|
|
|
|
// nothing special
|
|
|
|
}, |
|
|
|
done: function(response, textStatus, xhr) { |
|
|
|
var |
|
|
|
context = this, |
|
|
|
elapsedTime = (new Date().getTime() - requestStartTime), |
|
|
|
timeLeft = (settings.loadingDuration - elapsedTime), |
|
|
|
context = this, |
|
|
|
elapsedTime = (new Date().getTime() - requestStartTime), |
|
|
|
timeLeft = (settings.loadingDuration - elapsedTime), |
|
|
|
translatedResponse = ( $.isFunction(settings.onResponse) ) |
|
|
|
? settings.onResponse.call(context, $.extend(true, {}, response)) |
|
|
|
: false |
|
|
@ -18344,7 +18345,7 @@ $.api = $.fn.api = function(parameters) { |
|
|
|
} |
|
|
|
setTimeout(function() { |
|
|
|
if( module.is.validResponse(response) ) { |
|
|
|
module.request.resolveWith(context, [response]); |
|
|
|
module.request.resolveWith(context, [response, xhr]); |
|
|
|
} |
|
|
|
else { |
|
|
|
module.request.rejectWith(context, [xhr, 'invalid']); |
|
|
@ -18375,10 +18376,6 @@ $.api = $.fn.api = function(parameters) { |
|
|
|
} |
|
|
|
}, |
|
|
|
request: { |
|
|
|
complete: function(response) { |
|
|
|
module.remove.loading(); |
|
|
|
settings.onComplete.call(context, response, $module); |
|
|
|
}, |
|
|
|
done: function(response) { |
|
|
|
module.debug('Successful API Response', response); |
|
|
|
if(settings.cache === 'local' && url) { |
|
|
@ -18387,17 +18384,18 @@ $.api = $.fn.api = function(parameters) { |
|
|
|
} |
|
|
|
settings.onSuccess.call(context, response, $module); |
|
|
|
}, |
|
|
|
complete: function(xhr) { |
|
|
|
var |
|
|
|
response = module.get.responseFromXHR(xhr) |
|
|
|
; |
|
|
|
module.remove.loading(); |
|
|
|
settings.onComplete.call(context, response, $module, xhr); |
|
|
|
}, |
|
|
|
fail: function(xhr, status, httpMessage) { |
|
|
|
var |
|
|
|
// pull response from xhr if available
|
|
|
|
response = $.isPlainObject(xhr) |
|
|
|
? module.decode.json(xhr.responseText) |
|
|
|
: false, |
|
|
|
errorMessage = ($.isPlainObject(response) && response.error !== undefined) |
|
|
|
? response.error // use json error message
|
|
|
|
: (settings.error[status] !== undefined) // use server error message
|
|
|
|
? settings.error[status] |
|
|
|
: httpMessage |
|
|
|
response = module.get.responseFromXHR(xhr), |
|
|
|
errorMessage = module.get.errorFromRequest(response, status, httpMessage) |
|
|
|
; |
|
|
|
if(status == 'aborted') { |
|
|
|
module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage); |
|
|
@ -18407,7 +18405,6 @@ $.api = $.fn.api = function(parameters) { |
|
|
|
module.debug('JSON did not pass success test. A server-side error has most likely occurred', response); |
|
|
|
} |
|
|
|
else if(status == 'error') { |
|
|
|
|
|
|
|
if(xhr !== undefined) { |
|
|
|
module.debug('XHR produced a server error', status, httpMessage); |
|
|
|
// make sure we have an error to display to console
|
|
|
@ -18525,6 +18522,22 @@ $.api = $.fn.api = function(parameters) { |
|
|
|
}, |
|
|
|
|
|
|
|
get: { |
|
|
|
responseFromXHR: function(xhr) { |
|
|
|
return $.isPlainObject(xhr) |
|
|
|
? (settings.dataType == 'json' || settings.dataType == 'jsonp') |
|
|
|
? module.decode.json(xhr.responseText) |
|
|
|
: xhr.responseText |
|
|
|
: false |
|
|
|
; |
|
|
|
}, |
|
|
|
errorFromRequest: function(response, status, httpMessage) { |
|
|
|
return ($.isPlainObject(response) && response.error !== undefined) |
|
|
|
? response.error // use json error message
|
|
|
|
: (settings.error[status] !== undefined) // use server error message
|
|
|
|
? settings.error[status] |
|
|
|
: httpMessage |
|
|
|
; |
|
|
|
}, |
|
|
|
request: function() { |
|
|
|
return module.request || false; |
|
|
|
}, |
|
|
|