deminify all library related pages

This commit is contained in:
dkanada 2019-05-06 17:26:18 -07:00
parent d4ea091ab5
commit 5fc92c915f
4 changed files with 600 additions and 244 deletions

View file

@ -14,11 +14,11 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
require(["medialibrarycreator"], function(medialibrarycreator) {
(new medialibrarycreator).show({
collectionTypeOptions: getCollectionTypeOptions().filter(function(f) {
return !f.hidden
return !f.hidden;
}),
refresh: shouldRefreshLibraryAfterChanges(page)
}).then(function(hasChanges) {
hasChanges && reloadLibrary(page)
hasChanges && reloadLibrary(page);
})
})
}
@ -29,18 +29,22 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
refresh: shouldRefreshLibraryAfterChanges(page),
library: virtualFolder
}).then(function(hasChanges) {
hasChanges && reloadLibrary(page)
hasChanges && reloadLibrary(page);
})
})
}
function deleteVirtualFolder(page, virtualFolder) {
var msg = globalize.translate("MessageAreYouSureYouWishToRemoveMediaFolder");
virtualFolder.Locations.length && (msg += "<br/><br/>" + globalize.translate("MessageTheFollowingLocationWillBeRemovedFromLibrary") + "<br/><br/>", msg += virtualFolder.Locations.join("<br/>")), require(["confirm"], function(confirm) {
if (virtualFolder.Locations.length) {
msg += "<br/><br/>" + globalize.translate("MessageTheFollowingLocationWillBeRemovedFromLibrary") + "<br/><br/>";
msg += virtualFolder.Locations.join("<br/>");
}
require(["confirm"], function(confirm) {
confirm(msg, globalize.translate("HeaderRemoveMediaFolder")).then(function() {
var refreshAfterChange = shouldRefreshLibraryAfterChanges(page);
ApiClient.removeVirtualFolder(virtualFolder.Name, refreshAfterChange).then(function() {
reloadLibrary(page)
reloadLibrary(page);
})
})
})
@ -52,8 +56,8 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
itemIds: [virtualFolder.ItemId],
serverId: ApiClient.serverId(),
mode: "scan"
}).show()
})
}).show();
});
}
function renameVirtualFolder(page, virtualFolder) {
@ -65,43 +69,49 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
if (newName && newName != virtualFolder.Name) {
var refreshAfterChange = shouldRefreshLibraryAfterChanges(page);
ApiClient.renameVirtualFolder(virtualFolder.Name, newName, refreshAfterChange).then(function() {
reloadLibrary(page)
})
reloadLibrary(page);
});
}
})
})
});
});
}
function showCardMenu(page, elem, virtualFolders) {
var card = dom.parentWithClass(elem, "card"),
index = parseInt(card.getAttribute("data-index")),
virtualFolder = virtualFolders[index],
menuItems = [];
var card = dom.parentWithClass(elem, "card");
var index = parseInt(card.getAttribute("data-index"));
var virtualFolder = virtualFolders[index];
var menuItems = [];
menuItems.push({
name: globalize.translate("ButtonChangeContentType"),
id: "changetype",
ironIcon: "videocam"
}), menuItems.push({
});
menuItems.push({
name: globalize.translate("ButtonEditImages"),
id: "editimages",
ironIcon: "photo"
}), menuItems.push({
});
menuItems.push({
name: globalize.translate("ManageLibrary"),
id: "edit",
ironIcon: "folder_open"
}), menuItems.push({
});
menuItems.push({
name: globalize.translate("ButtonRemove"),
id: "delete",
ironIcon: "remove"
}), menuItems.push({
});
menuItems.push({
name: globalize.translate("ButtonRename"),
id: "rename",
ironIcon: "mode_edit"
}), menuItems.push({
});
menuItems.push({
name: globalize.translate("ScanLibrary"),
id: "refresh",
ironIcon: "refresh"
}), require(["actionsheet"], function(actionsheet) {
});
require(["actionsheet"], function(actionsheet) {
actionsheet.show({
items: menuItems,
positionTo: elem,
@ -123,21 +133,22 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
deleteVirtualFolder(page, virtualFolder);
break;
case "refresh":
refreshVirtualFolder(page, virtualFolder)
refreshVirtualFolder(page, virtualFolder);
}
}
})
})
});
});
}
function reloadLibrary(page) {
loading.show(), ApiClient.getVirtualFolders().then(function(result) {
reloadVirtualFolders(page, result)
})
loading.show();
ApiClient.getVirtualFolders().then(function(result) {
reloadVirtualFolders(page, result);
});
}
function shouldRefreshLibraryAfterChanges(page) {
return "mediaLibraryPage" === page.id
return "mediaLibraryPage" === page.id;
}
function reloadVirtualFolders(page, virtualFolders) {
@ -156,16 +167,22 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
html += getVirtualFolderHtml(page, virtualFolder, i)
}
var divVirtualFolders = page.querySelector("#divVirtualFolders");
divVirtualFolders.innerHTML = html, divVirtualFolders.classList.add("itemsContainer"), divVirtualFolders.classList.add("vertical-wrap"), $(".btnCardMenu", divVirtualFolders).on("click", function() {
showCardMenu(page, this, virtualFolders)
}), divVirtualFolders.querySelector(".addLibrary").addEventListener("click", function() {
addVirtualFolder(page)
}), $(".editLibrary", divVirtualFolders).on("click", function() {
var card = $(this).parents(".card")[0],
index = parseInt(card.getAttribute("data-index")),
virtualFolder = virtualFolders[index];
virtualFolder.ItemId && editVirtualFolder(page, virtualFolder)
}), loading.hide()
divVirtualFolders.innerHTML = html;
divVirtualFolders.classList.add("itemsContainer");
divVirtualFolders.classList.add("vertical-wrap");
$(".btnCardMenu", divVirtualFolders).on("click", function() {
showCardMenu(page, this, virtualFolders);
});
divVirtualFolders.querySelector(".addLibrary").addEventListener("click", function() {
addVirtualFolder(page);
});
$(".editLibrary", divVirtualFolders).on("click", function() {
var card = $(this).parents(".card")[0];
var index = parseInt(card.getAttribute("data-index"));
var virtualFolder = virtualFolders[index];
virtualFolder.ItemId && editVirtualFolder(page, virtualFolder);
});
loading.hide();
}
function editImages(page, virtualFolder) {
@ -174,13 +191,13 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
itemId: virtualFolder.ItemId,
serverId: ApiClient.serverId()
}).then(function() {
reloadLibrary(page)
})
reloadLibrary(page);
});
})
}
function getLink(text, url) {
return globalize.translate(text, '<a is="emby-linkbutton" class="button-link" href="' + url + '" target="_blank" data-autohide="true">', "</a>")
return globalize.translate(text, '<a is="emby-linkbutton" class="button-link" href="' + url + '" target="_blank" data-autohide="true">', "</a>");
}
function getCollectionTypeOptions() {
@ -236,31 +253,81 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
case "channels":
case "playlists":
default:
return "folder"
return "folder";
}
}
function getVirtualFolderHtml(page, virtualFolder, index) {
var html = "",
style = "";
page.classList.contains("wizardPage") && (style += "min-width:33.3%;"), html += '<div class="card backdropCard scalableCard backdropCard-scalable" style="' + style + '" data-index="' + index + '" data-id="' + virtualFolder.ItemId + '">', html += '<div class="cardBox visualCardBox">', html += '<div class="cardScalable visualCardBox-cardScalable">', html += '<div class="cardPadder cardPadder-backdrop"></div>', html += '<div class="cardContent">';
var html = "";
var style = "";
page.classList.contains("wizardPage") && (style += "min-width:33.3%;");
html += '<div class="card backdropCard scalableCard backdropCard-scalable" style="' + style + '" data-index="' + index + '" data-id="' + virtualFolder.ItemId + '">';
html += '<div class="cardBox visualCardBox">';
html += '<div class="cardScalable visualCardBox-cardScalable">';
html += '<div class="cardPadder cardPadder-backdrop"></div>';
html += '<div class="cardContent">';
var imgUrl = "";
virtualFolder.PrimaryImageItemId && (imgUrl = ApiClient.getScaledImageUrl(virtualFolder.PrimaryImageItemId, {
type: "Primary"
}));
if (virtualFolder.PrimaryImageItemId) {
imgUrl = ApiClient.getScaledImageUrl(virtualFolder.PrimaryImageItemId, {
type: "Primary"
});
}
var hasCardImageContainer;
if (imgUrl ? (html += '<div class="cardImageContainer editLibrary" style="cursor:pointer;background-image:url(\'' + imgUrl + "');\">", hasCardImageContainer = !0) : virtualFolder.showNameWithIcon || (html += '<div class="cardImageContainer editLibrary" style="cursor:pointer;">', html += '<i class="cardImageIcon-small md-icon">' + (virtualFolder.icon || getIcon(virtualFolder.CollectionType)) + "</i>", hasCardImageContainer = !0), hasCardImageContainer) {
if (imgUrl) {
html += '<div class="cardImageContainer editLibrary" style="cursor:pointer;background-image:url(\'' + imgUrl + "');\">";
hasCardImageContainer = true;
} else if (!virtualFolder.showNameWithIcon) {
html += '<div class="cardImageContainer editLibrary" style="cursor:pointer;">';
html += '<i class="cardImageIcon-small md-icon">' + (virtualFolder.icon || getIcon(virtualFolder.CollectionType)) + "</i>";
hasCardImageContainer = true;
}
if (hasCardImageContainer) {
html += '<div class="cardIndicators backdropCardIndicators">';
html += '<div is="emby-itemrefreshindicator"' + (virtualFolder.RefreshProgress || virtualFolder.RefreshStatus && "Idle" !== virtualFolder.RefreshStatus ? "" : ' class="hide"') + ' data-progress="' + (virtualFolder.RefreshProgress || 0) + '" data-status="' + virtualFolder.RefreshStatus + '"></div>', html += "</div>", html += "</div>"
html += '<div is="emby-itemrefreshindicator"' + (virtualFolder.RefreshProgress || virtualFolder.RefreshStatus && "Idle" !== virtualFolder.RefreshStatus ? "" : ' class="hide"') + ' data-progress="' + (virtualFolder.RefreshProgress || 0) + '" data-status="' + virtualFolder.RefreshStatus + '"></div>';
html += "</div>";
html += "</div>";
}
if (!imgUrl && virtualFolder.showNameWithIcon && (html += '<h3 class="cardImageContainer addLibrary" style="position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer;flex-direction:column;">', html += '<i class="cardImageIcon-small md-icon">' + (virtualFolder.icon || getIcon(virtualFolder.CollectionType)) + "</i>", virtualFolder.showNameWithIcon && (html += '<div style="margin:1em 0;position:width:100%;">', html += virtualFolder.Name, html += "</div>"), html += "</h3>"), html += "</div>", html += "</div>", html += '<div class="cardFooter visualCardBox-cardFooter">', !1 !== virtualFolder.showMenu) {
html += '<div style="text-align:right; float:right;padding-top:5px;">', html += '<button type="button" is="paper-icon-button-light" class="btnCardMenu autoSize"><i class="md-icon">&#xE5D3;</i></button>', html += "</div>"
if (!imgUrl && virtualFolder.showNameWithIcon) {
html += '<h3 class="cardImageContainer addLibrary" style="position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer;flex-direction:column;">';
html += '<i class="cardImageIcon-small md-icon">' + (virtualFolder.icon || getIcon(virtualFolder.CollectionType)) + "</i>";
virtualFolder.showNameWithIcon && (html += '<div style="margin:1em 0;position:width:100%;">', html += virtualFolder.Name, html += "</div>");
html += "</h3>";
}
html += "<div class='cardText'>", virtualFolder.showNameWithIcon ? html += "&nbsp;" : html += virtualFolder.Name, html += "</div>";
html += "</div>";
html += "</div>";
html += '<div class="cardFooter visualCardBox-cardFooter">';
if (virtualFolder.showMenu === true) {
html += '<div style="text-align:right; float:right;padding-top:5px;">';
html += '<button type="button" is="paper-icon-button-light" class="btnCardMenu autoSize"><i class="md-icon">&#xE5D3;</i></button>';
html += "</div>";
}
html += "<div class='cardText'>";
virtualFolder.showNameWithIcon ? html += "&nbsp;" : html += virtualFolder.Name;
html += "</div>";
var typeName = getCollectionTypeOptions().filter(function(t) {
return t.value == virtualFolder.CollectionType
})[0];
return typeName = typeName ? typeName.name : globalize.translate("FolderTypeUnset"), html += "<div class='cardText cardText-secondary'>", !1 === virtualFolder.showType ? html += "&nbsp;" : html += typeName, html += "</div>", !1 === virtualFolder.showLocations ? (html += "<div class='cardText cardText-secondary'>", html += "&nbsp;", html += "</div>") : virtualFolder.Locations.length && 1 == virtualFolder.Locations.length ? (html += "<div class='cardText cardText-secondary'>", html += virtualFolder.Locations[0], html += "</div>") : (html += "<div class='cardText cardText-secondary'>", html += globalize.translate("NumLocationsValue", virtualFolder.Locations.length), html += "</div>"), html += "</div>", html += "</div>", html += "</div>"
typeName = typeName ? typeName.name : globalize.translate("FolderTypeUnset");
html += "<div class='cardText cardText-secondary'>";
virtualFolder.showType === false ? html += "&nbsp;" : html += typeName;
html += "</div>";
if (virtualFolder.showLocations === false) {
html += "<div class='cardText cardText-secondary'>";
html += "&nbsp;";
html += "</div>";
} else if (virtualFolder.Locations.length && virtualFolder.Locations.length === 1) {
html += "<div class='cardText cardText-secondary'>";
html += virtualFolder.Locations[0];
html += "</div>";
} else {
html += "<div class='cardText cardText-secondary'>";
html += globalize.translate("NumLocationsValue", virtualFolder.Locations.length);
html += "</div>";
}
html += "</div>";
html += "</div>";
html += "</div>";
return html;
}
function getTabs() {
@ -285,9 +352,11 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
next: function() {
Dashboard.navigate("wizardsettings.html")
}
}, pageClassOn("pageshow", "mediaLibraryPage", function() {
reloadLibrary(this)
}), pageIdOn("pageshow", "mediaLibraryPage", function() {
};
pageClassOn("pageshow", "mediaLibraryPage", function() {
reloadLibrary(this);
});
pageIdOn("pageshow", "mediaLibraryPage", function() {
libraryMenu.setTabs("librarysetup", 0, getTabs);
var page = this;
taskButton({
@ -295,14 +364,15 @@ define(["jQuery", "apphost", "scripts/taskbutton", "loading", "libraryMenu", "gl
progressElem: page.querySelector(".refreshProgress"),
taskKey: "RefreshLibrary",
button: page.querySelector(".btnRefresh")
})
}), pageIdOn("pagebeforehide", "mediaLibraryPage", function() {
});
});
pageIdOn("pagebeforehide", "mediaLibraryPage", function() {
var page = this;
taskButton({
mode: "off",
progressElem: page.querySelector(".refreshProgress"),
taskKey: "RefreshLibrary",
button: page.querySelector(".btnRefresh")
})
})
});
});
});