diff --git a/src/components/groupedcards.js b/src/components/groupedcards.js index a6b1946526..ad638ecdd9 100644 --- a/src/components/groupedcards.js +++ b/src/components/groupedcards.js @@ -1,32 +1,45 @@ -define(["dom", "appRouter", "connectionManager"], function(dom, appRouter, connectionManager) { +define(["dom", "appRouter", "connectionManager"], function (dom, appRouter, connectionManager) { "use strict"; function onGroupedCardClick(e, card) { - var itemId = card.getAttribute("data-id"), - serverId = card.getAttribute("data-serverid"), - apiClient = connectionManager.getApiClient(serverId), - userId = apiClient.getCurrentUserId(), - playedIndicator = card.querySelector(".playedIndicator"), - playedIndicatorHtml = playedIndicator ? playedIndicator.innerHTML : null, - options = { - Limit: parseInt(playedIndicatorHtml || "10"), - Fields: "PrimaryImageAspectRatio,DateCreated", - ParentId: itemId, - GroupItems: !1 - }, - actionableParent = dom.parentWithTag(e.target, ["A", "BUTTON", "INPUT"]); - if (!actionableParent || actionableParent.classList.contains("cardContent")) return apiClient.getJSON(apiClient.getUrl("Users/" + userId + "/Items/Latest", options)).then(function(items) { - if (1 === items.length) return void appRouter.showItem(items[0]); - var url = "itemdetails.html?id=" + itemId + "&serverId=" + serverId; - Dashboard.navigate(url) - }), e.stopPropagation(), e.preventDefault(), !1 + var itemId = card.getAttribute("data-id"); + var serverId = card.getAttribute("data-serverid"); + var apiClient = connectionManager.getApiClient(serverId); + var userId = apiClient.getCurrentUserId(); + var playedIndicator = card.querySelector(".playedIndicator"); + var playedIndicatorHtml = playedIndicator ? playedIndicator.innerHTML : null; + var options = { + Limit: parseInt(playedIndicatorHtml || "10"), + Fields: "PrimaryImageAspectRatio,DateCreated", + ParentId: itemId, + GroupItems: false + }; + var actionableParent = dom.parentWithTag(e.target, ["A", "BUTTON", "INPUT"]); + + if (!actionableParent || actionableParent.classList.contains("cardContent")) { + apiClient.getJSON(apiClient.getUrl("Users/" + userId + "/Items/Latest", options)).then(function (items) { + if (1 === items.length) { + return void appRouter.showItem(items[0]); + } + + var url = "itemdetails.html?id=" + itemId + "&serverId=" + serverId; + Dashboard.navigate(url); + }); + e.stopPropagation(); + e.preventDefault(); + return false; + } } function onItemsContainerClick(e) { var groupedCard = dom.parentWithClass(e.target, "groupedCard"); - groupedCard && onGroupedCardClick(e, groupedCard) + + if (groupedCard) { + onGroupedCardClick(e, groupedCard); + } } + return { onItemsContainerClick: onItemsContainerClick - } -}); \ No newline at end of file + }; +});