Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
var $activeEpisodes = $(".episodecell");
var episodesReversedElements = $activeEpisodes.toArray().reverse();
var lastPodcastName;
episodesReversedElements.forEach(function (elem) {
var $activeEpisode = $(elem);
var podcastName = $activeEpisode.find(".titlestack div:first-child").text();
var podcastImgSrc = $activeEpisode.find(".art").attr("src");
if (podcastName !== lastPodcastName) {
makeActivePodcastCell(podcastName, podcastImgSrc);
}
lastPodcastName = podcastName;
});
function makeActivePodcastCell (podcastName, imgSrc) {
var $episodeCell = $activeEpisodes.first();
var $cell = $episodeCell.clone();
$cell.find(".art").attr("src", imgSrc);
$cell.find(".caption2.singleline").text("");
$cell.find(".title.singleline").text(podcastName);
$cell.insertAfter(".ocseparatorbar:first");
$cell.on("click", function (event) {
event.preventDefault();
replaceWithEpisodes($cell, podcastName);
});
}
function replaceWithEpisodes ($elem, podcastName) {
var episodesWithPodcastName = episodesReversedElements.filter(function (elem) {
return $(elem).find(".titlestack div:first-child").text() === podcastName;
});
$elem.replaceWith($(episodesWithPodcastName).show());
}
$activeEpisodes.hide();
// update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.