mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update file input behavior
This commit is contained in:
parent
262f60b800
commit
5e27de701a
17 changed files with 173 additions and 149 deletions
|
@ -1,112 +1,110 @@
|
|||
(function () {
|
||||
|
||||
function getLocalMediaSource(serverId, itemId) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [null]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve(null);
|
||||
});
|
||||
}
|
||||
|
||||
function saveOfflineUser(user) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolve();
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function deleteOfflineUser(id) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolve();
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function getCameraPhotos() {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [[]]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve([]);
|
||||
});
|
||||
}
|
||||
|
||||
function getOfflineActions(serverId) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [[]]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve([]);
|
||||
});
|
||||
}
|
||||
|
||||
function deleteOfflineActions(actions) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [[]]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve([]);
|
||||
});
|
||||
}
|
||||
|
||||
function getServerItemIds(serverId) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [[]]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve([]);
|
||||
});
|
||||
}
|
||||
|
||||
function removeLocalItem(itemId, serverId) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, []);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function getLocalItem(itemId, serverId) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, []);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function addOrUpdateLocalItem(localItem) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, []);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function createLocalItem(libraryItem, serverInfo, originalFileName) {
|
||||
|
||||
var item = {};
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [item]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve({});
|
||||
});
|
||||
}
|
||||
|
||||
function downloadFile(url, localPath) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, []);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function downloadSubtitles(url, localItem, subtitleStreamh) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [""]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve("");
|
||||
});
|
||||
}
|
||||
|
||||
function hasImage(serverId, itemId, imageTag) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [false]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve(false);
|
||||
});
|
||||
}
|
||||
|
||||
function downloadImage(url, serverId, itemId, imageTag) {
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [false]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve(false);
|
||||
});
|
||||
}
|
||||
|
||||
function fileExists(path) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [false]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve(false);
|
||||
});
|
||||
}
|
||||
|
||||
function translateFilePath(path) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
deferred.resolveWith(null, [path]);
|
||||
return deferred.promise();
|
||||
return new Promise(function (resolve, reject) {
|
||||
resolve(path);
|
||||
});
|
||||
}
|
||||
|
||||
window.LocalAssetManager = {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-behaviors",
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.12",
|
||||
"description": "Provides a set of behaviors for the iron elements",
|
||||
"private": true,
|
||||
"authors": [
|
||||
|
@ -29,14 +29,14 @@
|
|||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"ignore": [],
|
||||
"homepage": "https://github.com/polymerelements/iron-behaviors",
|
||||
"_release": "1.0.11",
|
||||
"homepage": "https://github.com/PolymerElements/iron-behaviors",
|
||||
"_release": "1.0.12",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.11",
|
||||
"commit": "084fbc7f60343d717bb2208f350774f4c9899777"
|
||||
"tag": "v1.0.12",
|
||||
"commit": "657f526a2382a659cdf4e13be87ecc89261588a3"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/iron-behaviors.git",
|
||||
"_source": "git://github.com/PolymerElements/iron-behaviors.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/iron-behaviors"
|
||||
"_originalSource": "PolymerElements/iron-behaviors"
|
||||
}
|
|
@ -1,9 +1,15 @@
|
|||
language: node_js
|
||||
sudo: false
|
||||
matrix:
|
||||
include:
|
||||
- node_js: stable
|
||||
script: xvfb-run wct
|
||||
before_script:
|
||||
- npm install bower
|
||||
- npm install web-component-tester
|
||||
- 'export PATH=$PWD/node_modules/.bin:$PATH'
|
||||
- bower install
|
||||
env:
|
||||
global:
|
||||
- secure: ZOqj2XVNVwfT74rHxg/ljcAsS6FnmDpRSsXbsy1Icv9DcLHrMlmyQ10gWBjE/YXYF0Uv4akQ1qqn0TJaKOtp9HZeH+P6OPAYk2vJbWD7qp52pPtIqEFomcsUyflt4IjfaXKuN4FMod7PSWVSGJ+DxSguJvZKILkrs5d/rJdFv3c=
|
||||
- secure: clkqemGQG16TXyAPkv9LBv6x3SbT3ZM0eo8LETx4uNKi3WzlwgXxZA9b5Sr5wYzxyxFFpnhDXW7CL4+UjYu1atGNeTW2TuSaYUPHtgu67OFDr8Jbw047p1XQb5enPSt9+YxrHKfjHBiJvWulJ8rCSQshU9Rhe0DC6NrFRPFgk0A=
|
||||
node_js: 4
|
||||
addons:
|
||||
firefox: latest
|
||||
apt:
|
||||
|
@ -11,18 +17,6 @@ matrix:
|
|||
- google-chrome
|
||||
packages:
|
||||
- google-chrome-stable
|
||||
- node_js: node
|
||||
script:
|
||||
- |
|
||||
if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
|
||||
wct -s 'default'
|
||||
fi
|
||||
before_script:
|
||||
- npm install bower
|
||||
- npm install web-component-tester
|
||||
- export PATH=$PWD/node_modules/.bin:$PATH
|
||||
- bower install
|
||||
env:
|
||||
global:
|
||||
- secure: ZOqj2XVNVwfT74rHxg/ljcAsS6FnmDpRSsXbsy1Icv9DcLHrMlmyQ10gWBjE/YXYF0Uv4akQ1qqn0TJaKOtp9HZeH+P6OPAYk2vJbWD7qp52pPtIqEFomcsUyflt4IjfaXKuN4FMod7PSWVSGJ+DxSguJvZKILkrs5d/rJdFv3c=
|
||||
- secure: clkqemGQG16TXyAPkv9LBv6x3SbT3ZM0eo8LETx4uNKi3WzlwgXxZA9b5Sr5wYzxyxFFpnhDXW7CL4+UjYu1atGNeTW2TuSaYUPHtgu67OFDr8Jbw047p1XQb5enPSt9+YxrHKfjHBiJvWulJ8rCSQshU9Rhe0DC6NrFRPFgk0A=
|
||||
- xvfb-run wct
|
||||
- "if [ \"${TRAVIS_PULL_REQUEST}\" = \"false\" ]; then wct -s 'default'; fi"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "iron-behaviors",
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.12",
|
||||
"description": "Provides a set of behaviors for the iron elements",
|
||||
"private": true,
|
||||
"authors": [
|
||||
|
|
|
@ -145,7 +145,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
|
||||
// Ignore the event if this is coming from a focused light child, since that
|
||||
// element will deal with it.
|
||||
if (this.isLightDescendant(target))
|
||||
if (this.isLightDescendant(/** @type {Node} */(target)))
|
||||
return;
|
||||
|
||||
keyboardEvent.preventDefault();
|
||||
|
@ -162,7 +162,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
|
||||
// Ignore the event if this is coming from a focused light child, since that
|
||||
// element will deal with it.
|
||||
if (this.isLightDescendant(target))
|
||||
if (this.isLightDescendant(/** @type {Node} */(target)))
|
||||
return;
|
||||
|
||||
if (this.pressed) {
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
<!doctype html>
|
||||
<!--
|
||||
<!DOCTYPE html><!--
|
||||
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
--><html><head>
|
||||
<meta charset="utf-8">
|
||||
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
|
||||
<script src="../../web-component-tester/browser.js"></script>
|
||||
|
@ -18,8 +15,12 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|||
WCT.loadSuites([
|
||||
'focused-state.html',
|
||||
'active-state.html',
|
||||
'disabled-state.html'
|
||||
'disabled-state.html',
|
||||
'focused-state.html?dom=shadow',
|
||||
'active-state.html?dom=shadow',
|
||||
'disabled-state.html?dom=shadow'
|
||||
]);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -31,14 +31,14 @@
|
|||
"web-component-tester": "*",
|
||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"homepage": "https://github.com/PolymerElements/iron-icon",
|
||||
"homepage": "https://github.com/polymerelements/iron-icon",
|
||||
"_release": "1.0.7",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.0.7",
|
||||
"commit": "6f4d152dc3998a6cc12a5a585a654f893dc99381"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-icon.git",
|
||||
"_source": "git://github.com/polymerelements/iron-icon.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-icon"
|
||||
"_originalSource": "polymerelements/iron-icon"
|
||||
}
|
|
@ -26,14 +26,14 @@
|
|||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||
},
|
||||
"main": "iron-meta.html",
|
||||
"homepage": "https://github.com/PolymerElements/iron-meta",
|
||||
"homepage": "https://github.com/polymerelements/iron-meta",
|
||||
"_release": "1.1.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.1.1",
|
||||
"commit": "e171ee234b482219c9514e6f9551df48ef48bd9f"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-meta.git",
|
||||
"_source": "git://github.com/polymerelements/iron-meta.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-meta"
|
||||
"_originalSource": "polymerelements/iron-meta"
|
||||
}
|
|
@ -36,7 +36,7 @@
|
|||
"tag": "v1.0.8",
|
||||
"commit": "e9a66727f3da0446f04956d4e4f1dcd51cdec2ff"
|
||||
},
|
||||
"_source": "git://github.com/PolymerElements/iron-selector.git",
|
||||
"_source": "git://github.com/polymerelements/iron-selector.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "PolymerElements/iron-selector"
|
||||
"_originalSource": "polymerelements/iron-selector"
|
||||
}
|
|
@ -45,7 +45,7 @@
|
|||
"tag": "v1.0.10",
|
||||
"commit": "4b244a542af2c6c271498dfb98b00ed284df1d6a"
|
||||
},
|
||||
"_source": "git://github.com/polymerelements/paper-behaviors.git",
|
||||
"_source": "git://github.com/PolymerElements/paper-behaviors.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymerelements/paper-behaviors"
|
||||
"_originalSource": "PolymerElements/paper-behaviors"
|
||||
}
|
|
@ -24,14 +24,14 @@
|
|||
"web-component-tester": "*"
|
||||
},
|
||||
"private": true,
|
||||
"homepage": "https://github.com/polymer/polymer",
|
||||
"homepage": "https://github.com/Polymer/polymer",
|
||||
"_release": "1.2.3",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.2.3",
|
||||
"commit": "aa535d1675342007cbf64dc9c66497cf74cbc616"
|
||||
},
|
||||
"_source": "git://github.com/polymer/polymer.git",
|
||||
"_source": "git://github.com/Polymer/polymer.git",
|
||||
"_target": "^1.0.0",
|
||||
"_originalSource": "polymer/polymer"
|
||||
"_originalSource": "Polymer/polymer"
|
||||
}
|
|
@ -27,7 +27,7 @@
|
|||
}
|
||||
|
||||
// Request Quota (only for File System API)
|
||||
var requestedBytes = 1024 * 1024 * 500; // 500MB
|
||||
var requestedBytes = 1024 * 1024 * 600; // MB
|
||||
var imageCacheDirectoryEntry;
|
||||
var imageCacheFolder = 'images';
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<div>
|
||||
<div id="fldNewImage">
|
||||
<p>${ImageUploadAspectRatioHelp}</p>
|
||||
<input type="file" accept="image/*" id="uploadUserImage" name="uploadUserImage" onchange="MyProfilePage.onFileUploadChange(this);" />
|
||||
<input type="file" accept="image/*" id="uploadUserImage" name="uploadUserImage" />
|
||||
|
||||
<div id="userImageDropZone" class="imageDropZone">
|
||||
<h3>${LabelDropImageHere}</h3>
|
||||
|
@ -100,7 +100,7 @@
|
|||
<button type="submit" data-role="none" class="clearButton">
|
||||
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
|
||||
</button>
|
||||
<paper-button id="btnResetEasyPassword" style="display:none;" raised class="cancel block" onclick="UpdatePasswordPage.resetEasyPassword();"><iron-icon icon="lock"></iron-icon><span>${ButtonResetEasyPassword}</span></paper-button>
|
||||
<paper-button id="btnResetEasyPassword" raised class="cancel block hide" onclick="UpdatePasswordPage.resetEasyPassword();"><iron-icon icon="lock"></iron-icon><span>${ButtonResetEasyPassword}</span></paper-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2123,8 +2123,6 @@
|
|||
}
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="cardOverlayTarget"></div>';
|
||||
|
||||
if (item.LocationType == "Virtual" || item.LocationType == "Offline") {
|
||||
if (options.showLocationTypeIndicator !== false) {
|
||||
html += LibraryBrowser.getOfflineIndicatorHtml(item);
|
||||
|
@ -2193,8 +2191,6 @@
|
|||
|
||||
var html = '';
|
||||
|
||||
html += '<div class="' + footerClass + '">';
|
||||
|
||||
if (options.cardLayout) {
|
||||
html += '<div class="cardButtonContainer">';
|
||||
html += '<paper-icon-button icon="' + AppInfo.moreIcon + '" class="listviewMenuButton btnCardOptions"></paper-icon-button>';
|
||||
|
@ -2307,8 +2303,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
if (html) {
|
||||
html = '<div class="' + footerClass + '">' + html;
|
||||
|
||||
//cardFooter
|
||||
html += "</div>";
|
||||
}
|
||||
|
||||
return html;
|
||||
},
|
||||
|
|
|
@ -17,25 +17,36 @@
|
|||
|
||||
elem = elem.querySelector('.cardOverlayTarget');
|
||||
|
||||
if ($(elem).is(':visible')) {
|
||||
slideDown(elem, 1);
|
||||
if (elem) {
|
||||
slideDownToHide(elem);
|
||||
}
|
||||
}
|
||||
|
||||
function slideDown(elem, iterations) {
|
||||
function slideDownToHide(elem) {
|
||||
|
||||
if (elem.classList.contains('hide')) {
|
||||
return;
|
||||
}
|
||||
|
||||
requestAnimationFrame(function () {
|
||||
var keyframes = [
|
||||
{ height: '100%', offset: 0 },
|
||||
{ height: '0', display: 'none', offset: 1 }];
|
||||
var timing = { duration: 300, iterations: iterations, fill: 'forwards', easing: 'ease-out' };
|
||||
var timing = { duration: 300, iterations: 1, fill: 'forwards', easing: 'ease-out' };
|
||||
|
||||
elem.animate(keyframes, timing).onfinish = function () {
|
||||
elem.style.display = 'none';
|
||||
elem.classList.add('hide');
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
function slideUp(elem, iterations) {
|
||||
function slideUpToShow(elem) {
|
||||
|
||||
if (!elem.classList.contains('hide')) {
|
||||
return;
|
||||
}
|
||||
|
||||
elem.classList.remove('hide');
|
||||
|
||||
requestAnimationFrame(function () {
|
||||
elem.style.display = 'block';
|
||||
|
@ -43,7 +54,7 @@
|
|||
var keyframes = [
|
||||
{ height: '0', offset: 0 },
|
||||
{ height: '100%', offset: 1 }];
|
||||
var timing = { duration: 300, iterations: iterations, fill: 'forwards', easing: 'ease-out' };
|
||||
var timing = { duration: 300, iterations: 1, fill: 'forwards', easing: 'ease-out' };
|
||||
elem.animate(keyframes, timing);
|
||||
});
|
||||
}
|
||||
|
@ -690,6 +701,13 @@
|
|||
|
||||
var innerElem = elem.querySelector('.cardOverlayTarget');
|
||||
|
||||
if (!innerElem) {
|
||||
innerElem = document.createElement('div');
|
||||
innerElem.classList.add('hide');
|
||||
innerElem.classList.add('cardOverlayTarget');
|
||||
parentWithClass(elem, 'cardContent').appendChild(innerElem);
|
||||
}
|
||||
|
||||
var dataElement = elem;
|
||||
while (dataElement && !dataElement.getAttribute('data-itemid')) {
|
||||
dataElement = dataElement.parentNode;
|
||||
|
@ -721,7 +739,7 @@
|
|||
|
||||
$(innerElem).show();
|
||||
|
||||
slideUp(innerElem, 1);
|
||||
slideUpToShow(innerElem);
|
||||
}
|
||||
|
||||
function onHoverIn(e) {
|
||||
|
@ -1273,19 +1291,27 @@
|
|||
|
||||
if (userData.Played) {
|
||||
|
||||
if (!$('.playedIndicator', card).length) {
|
||||
var playedIndicator = card.querySelector('.playedIndicator');
|
||||
|
||||
$('<div class="playedIndicator"></div>').insertAfter($('.cardOverlayTarget', card));
|
||||
if (!playedIndicator) {
|
||||
|
||||
playedIndicator = document.createElement('div');
|
||||
playedIndicator.classList.add('playedIndicator');
|
||||
card.querySelector('.cardContent').appendChild(playedIndicator);
|
||||
}
|
||||
$('.playedIndicator', card).html('<iron-icon icon="check"></iron-icon>');
|
||||
playedIndicator.innerHTML = '<iron-icon icon="check"></iron-icon>';
|
||||
}
|
||||
else if (userData.UnplayedItemCount) {
|
||||
|
||||
if (!$('.playedIndicator', card).length) {
|
||||
var playedIndicator = card.querySelector('.playedIndicator');
|
||||
|
||||
$('<div class="playedIndicator"></div>').insertAfter($('.cardOverlayTarget', card));
|
||||
if (!playedIndicator) {
|
||||
|
||||
playedIndicator = document.createElement('div');
|
||||
playedIndicator.classList.add('playedIndicator');
|
||||
card.querySelector('.cardContent').appendChild(playedIndicator);
|
||||
}
|
||||
$('.playedIndicator', card).html(userData.UnplayedItemCount);
|
||||
playedIndicator.innerHTML = userData.UnplayedItemCount;
|
||||
}
|
||||
|
||||
var progressHtml = LibraryBrowser.getItemProgressBarHtml(userData);
|
||||
|
|
|
@ -31,10 +31,10 @@
|
|||
|
||||
$('#fldImage', page).show().html('').html("<img width='140px' src='" + imageUrl + "' />");
|
||||
|
||||
var showNewImageForm = false;
|
||||
|
||||
if (user.ConnectLinkType == 'Guest') {
|
||||
|
||||
$('.newImageForm', page).hide();
|
||||
$('#btnDeleteImage', page).hide();
|
||||
$('.connectMessage', page).show();
|
||||
}
|
||||
|
@ -42,16 +42,22 @@
|
|||
|
||||
$('#btnDeleteImage', page).show();
|
||||
$('#headerUploadNewImage', page).show();
|
||||
$('.newImageForm', page).show();
|
||||
showNewImageForm = true;
|
||||
$('.connectMessage', page).hide();
|
||||
|
||||
} else {
|
||||
$('.newImageForm', page).show();
|
||||
showNewImageForm = true;
|
||||
$('#btnDeleteImage', page).hide();
|
||||
$('#headerUploadNewImage', page).show();
|
||||
$('.connectMessage', page).hide();
|
||||
}
|
||||
|
||||
if (showNewImageForm && AppInfo.supportsFileInput) {
|
||||
$('.newImageForm', page).show();
|
||||
} else {
|
||||
$('.newImageForm', page).hide();
|
||||
}
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
|
||||
|
@ -115,16 +121,14 @@
|
|||
reader.onabort = onFileReaderAbort;
|
||||
|
||||
// Closure to capture the file information.
|
||||
reader.onload = (function (theFile) {
|
||||
return function (e) {
|
||||
reader.onload = function (e) {
|
||||
|
||||
// Render thumbnail.
|
||||
var html = ['<img style="max-width:500px;max-height:200px;" src="', e.target.result, '" title="', escape(theFile.name), '"/>'].join('');
|
||||
var html = ['<img style="max-width:500px;max-height:200px;" src="', e.target.result, '" title="', escape(file.name), '"/>'].join('');
|
||||
|
||||
$('#userImageOutput', page).html(html);
|
||||
$('#fldUpload', page).show();
|
||||
};
|
||||
})(file);
|
||||
|
||||
// Read in the image file as a data URL.
|
||||
reader.readAsDataURL(file);
|
||||
|
@ -172,11 +176,6 @@
|
|||
|
||||
return false;
|
||||
};
|
||||
|
||||
self.onFileUploadChange = function (fileUpload) {
|
||||
|
||||
setFiles($.mobile.activePage, fileUpload.files);
|
||||
};
|
||||
}
|
||||
|
||||
window.MyProfilePage = new myProfilePage();
|
||||
|
@ -207,6 +206,9 @@
|
|||
|
||||
$('.newImageForm').off('submit', MyProfilePage.onImageSubmit).on('submit', MyProfilePage.onImageSubmit);
|
||||
|
||||
page.querySelector('#uploadUserImage').addEventListener('change', function(e) {
|
||||
setFiles(page, e.target.files);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
@ -240,10 +242,10 @@
|
|||
|
||||
if (user.HasConfiguredEasyPassword) {
|
||||
$('#txtEasyPassword', page).val('').attr('placeholder', '******');
|
||||
$('#btnResetEasyPassword', page).show();
|
||||
$('#btnResetEasyPassword', page).removeClass('hide');
|
||||
} else {
|
||||
$('#txtEasyPassword', page).val('').attr('placeholder', '');
|
||||
$('#btnResetEasyPassword', page).hide();
|
||||
$('#btnResetEasyPassword', page).addClass('hide');
|
||||
}
|
||||
|
||||
page.querySelector('.chkEnableLocalEasyPassword').checked = user.Configuration.EnableLocalPassword;
|
||||
|
|
|
@ -1590,6 +1590,9 @@ var AppInfo = {};
|
|||
|
||||
AppInfo.supportsDownloading = !(AppInfo.isNativeApp && isIOS);
|
||||
|
||||
// This currently isn't working on android, unfortunately
|
||||
AppInfo.supportsFileInput = !(AppInfo.isNativeApp && isAndroid);
|
||||
|
||||
AppInfo.enableUserImage = true;
|
||||
AppInfo.hasPhysicalVolumeButtons = isCordova || isMobile;
|
||||
AppInfo.enableBackButton = isIOS && (window.navigator.standalone || AppInfo.isNativeApp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue