update image loader
This commit is contained in:
parent
f29a2b4bfd
commit
3d1e5130fe
9 changed files with 140 additions and 152 deletions
|
@ -16,12 +16,12 @@
|
|||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.0.27",
|
||||
"_release": "1.0.27",
|
||||
"version": "1.0.30",
|
||||
"_release": "1.0.30",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.0.27",
|
||||
"commit": "c8758fe411230a36326a0bd72e8d4d5971f506f7"
|
||||
"tag": "1.0.30",
|
||||
"commit": "9f144d506da6c01cd99f2421953a9f2c5c96e295"
|
||||
},
|
||||
"_source": "git://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
|
||||
"_target": "~1.0.3",
|
||||
|
|
|
@ -488,6 +488,10 @@
|
|||
});
|
||||
}
|
||||
|
||||
function getConnectUrl(handler) {
|
||||
return 'https://connect.emby.media/service/' + handler;
|
||||
}
|
||||
|
||||
function getConnectUser(userId, accessToken) {
|
||||
|
||||
if (!userId) {
|
||||
|
@ -1529,6 +1533,76 @@
|
|||
}
|
||||
}
|
||||
|
||||
function addAppInfoToConnectRequest(request) {
|
||||
request.headers = request.headers || {};
|
||||
request.headers['X-Application'] = appName + '/' + appVersion;
|
||||
}
|
||||
|
||||
self.createPin = function () {
|
||||
|
||||
var request = {
|
||||
type: 'POST',
|
||||
url: getConnectUrl('pin'),
|
||||
data: {
|
||||
deviceId: deviceId
|
||||
},
|
||||
dataType: 'json'
|
||||
};
|
||||
|
||||
addAppInfoToConnectRequest(request);
|
||||
|
||||
return ajax(request);
|
||||
};
|
||||
|
||||
self.getPinStatus = function (pinInfo) {
|
||||
|
||||
var queryString = {
|
||||
deviceId: pinInfo.DeviceId,
|
||||
pin: pinInfo.Pin
|
||||
};
|
||||
|
||||
var request = {
|
||||
type: 'GET',
|
||||
url: getConnectUrl('pin') + '?' + paramsToString(queryString),
|
||||
dataType: 'json'
|
||||
};
|
||||
|
||||
addAppInfoToConnectRequest(request);
|
||||
|
||||
return ajax(request);
|
||||
|
||||
};
|
||||
|
||||
function exchangePin(pinInfo) {
|
||||
|
||||
var request = {
|
||||
type: 'POST',
|
||||
url: getConnectUrl('pin/authenticate'),
|
||||
data: {
|
||||
deviceId: pinInfo.DeviceId,
|
||||
pin: pinInfo.Pin
|
||||
},
|
||||
dataType: 'json'
|
||||
};
|
||||
|
||||
addAppInfoToConnectRequest(request);
|
||||
|
||||
return ajax(request);
|
||||
}
|
||||
|
||||
self.exchangePin = function (pinInfo) {
|
||||
|
||||
return exchangePin(pinInfo).then(function (result) {
|
||||
|
||||
var credentials = credentialProvider.credentials();
|
||||
credentials.ConnectAccessToken = result.AccessToken;
|
||||
credentials.ConnectUserId = result.UserId;
|
||||
credentialProvider.credentials(credentials);
|
||||
|
||||
return ensureConnectUser(credentials);
|
||||
});
|
||||
};
|
||||
|
||||
return self;
|
||||
};
|
||||
|
||||
|
|
|
@ -15,12 +15,12 @@
|
|||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.0.21",
|
||||
"_release": "1.0.21",
|
||||
"version": "1.0.23",
|
||||
"_release": "1.0.23",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.0.21",
|
||||
"commit": "dd73237b9d554d45a664e820042804c6d129d280"
|
||||
"tag": "1.0.23",
|
||||
"commit": "1e7c56cf54a657d72d35d36f37937231942a2685"
|
||||
},
|
||||
"_source": "git://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_target": "~1.0.0",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
define(['visibleinviewport', 'imageloader'], function (visibleinviewport, imageLoader) {
|
||||
define(['visibleinviewport', 'imageFetcher'], function (visibleinviewport, imageFetcher) {
|
||||
|
||||
var thresholdX = screen.availWidth;
|
||||
var thresholdY = screen.availHeight;
|
||||
|
@ -9,14 +9,33 @@ define(['visibleinviewport', 'imageloader'], function (visibleinviewport, imageL
|
|||
return visibleinviewport(elem, true, thresholdX, thresholdY);
|
||||
}
|
||||
|
||||
var self = {};
|
||||
|
||||
function fillImage(elem) {
|
||||
var source = elem.getAttribute('data-src');
|
||||
if (source) {
|
||||
imageLoader.loadImage(elem, source);
|
||||
if (self.enableFade) {
|
||||
imageFetcher.loadImage(elem, source).then(fadeIn);
|
||||
} else {
|
||||
imageFetcher.loadImage(elem, source);
|
||||
}
|
||||
elem.setAttribute("data-src", '');
|
||||
}
|
||||
}
|
||||
|
||||
function fadeIn(elem) {
|
||||
|
||||
if (elem.classList.contains('noFade')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var keyframes = [
|
||||
{ opacity: '0', offset: 0 },
|
||||
{ opacity: '1', offset: 1 }];
|
||||
var timing = { duration: 300, iterations: 1 };
|
||||
elem.animate(keyframes, timing);
|
||||
}
|
||||
|
||||
function cancelAll(tokens) {
|
||||
for (var i = 0, length = tokens.length; i < length; i++) {
|
||||
|
||||
|
@ -167,9 +186,24 @@ define(['visibleinviewport', 'imageloader'], function (visibleinviewport, imageL
|
|||
return result;
|
||||
}
|
||||
|
||||
return {
|
||||
lazyChildren: lazyChildren,
|
||||
getPrimaryImageAspectRatio: getPrimaryImageAspectRatio
|
||||
};
|
||||
function fillImages(elems) {
|
||||
|
||||
for (var i = 0, length = elems.length; i < length; i++) {
|
||||
var elem = elems[0];
|
||||
fillImage(elem);
|
||||
}
|
||||
}
|
||||
|
||||
function lazyImage(elem, url) {
|
||||
|
||||
elem.setAttribute('data-src', url);
|
||||
fillImage(elem);
|
||||
}
|
||||
|
||||
self.fillImages = fillImages;
|
||||
self.lazyImage = lazyImage;
|
||||
self.lazyChildren = lazyChildren;
|
||||
self.getPrimaryImageAspectRatio = getPrimaryImageAspectRatio;
|
||||
|
||||
return self;
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue