Commit 19cb817e authored by echel0n's avatar echel0n
Browse files

Refactored table class spacing/padding and column widths

parent 5a27b146
# Changelog
- * 5faf901 - 2018-07-27: Pre-Release v9.3.56.dev6
- * 4128407 - 2018-07-27: Refactored table class spacing/padding and column widths
- * 5a27b14 - 2018-07-27: Pre-Release v9.3.56.dev6
- * 76afe3b - 2018-07-27: Refactored content column size for large devices, small to medium devices are now full-width
- * 9f09e96 - 2018-07-27: Refactored preview rename view CSS
- * e39068a - 2018-07-27: Pre-Release v9.3.56.dev5
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -163,7 +163,7 @@
${parameter}
% endif
</td>
<td class="text-center">
<td class="table-fit">
% if required:
<span class="fas fa-check text-success" title="${_('Yes')}"></span>
% else:
......
......@@ -462,7 +462,7 @@
</div>
<div id="naming_key" class="nocheck" style="display: none;">
<table class="table table-bordered table-dark Key">
<table class="table">
<thead class="table-secondary text-black-50">
<tr>
<th class="align-right">${_('Meaning')}</th>
......@@ -735,7 +735,7 @@
</div>
<div id="naming_abd_key" class="nocheck" style="display: none;">
<table class="table table-bordered table-dark Key">
<table class="table">
<thead class="table-secondary text-black-50">
<tr>
<th class="align-right">${_('Meaning')}</th>
......@@ -949,7 +949,7 @@
</div>
<div id="naming_sports_key" class="nocheck" style="display: none;">
<table class="table table-bordered table-dark Key">
<table class="table">
<thead class="table-secondary text-black-50">
<tr>
<th class="align-right">${_('Meaning')}</th>
......@@ -1169,7 +1169,7 @@
</div>
<div id="naming_anime_key" class="nocheck" style="display: none;">
<table class="table table-bordered table-dark Key">
<table class="table">
<thead class="table-secondary text-black-50">
<tr>
<th class="align-right">${_('Meaning')}</th>
......
This diff is collapsed.
......@@ -29,7 +29,7 @@
% endif
<div class="col">
<div class="input-group w-50 mx-auto text-center">
<div class="input-group mx-auto" style="width: 30%">
<div class="input-group-prepend">
<button id="prevShow" class="btn fas fa-arrow-left"></button>
</div>
......@@ -232,11 +232,11 @@
<td>
<ul class="list-group d-inline">
% if not show.imdbid and show.genre:
% for genre in show.genre[1:-1].split(','):
% for genre in show.genre.split(','):
<a href="${anon_url('http://trakt.tv/shows/popular/?genres=', genre.lower())}"
target="_blank"
title="View other popular ${genre} shows on trakt.tv.">
<li class="list-group-item badge badge-primary">${genre}</li>
<li class="badge badge-primary">${genre}</li>
</a>
% endfor
% endif
......@@ -245,7 +245,7 @@
<a href="${anon_url('http://trakt.tv/shows/popular/?genres=', imdbgenre.lower())}"
target="_blank"
title="View other popular ${imdbgenre} shows on trakt.tv.">
<li class="list-inline-item badge badge-primary">${imdbgenre}</li>
<li class="badge badge-primary">${imdbgenre}</li>
</a>
% endfor
% endif
......@@ -387,7 +387,7 @@
<div class="row mt-1">
<div class="col text-left">
<div class="input-group">
<div class="input-group w-50">
<select id="statusSelect" title="Change selected episode statuses" class="form-control">
<% availableStatus = [WANTED, SKIPPED, IGNORED, FAILED] %>
% if sickrage.app.developer:
......@@ -446,9 +446,6 @@
<button class="btn mt-1 mb-1 clearAll">
${_('Clear All')}
</button>
<button class="btn mt-1 mb-1" id="popover" type="button">
${_('Select Columns')} <b class="caret"></b>
</button>
</div>
</div>
</div>
......@@ -532,27 +529,25 @@
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
<table id="${("showTable", "animeTable")[bool(show.is_anime)]}"
class="table display_show"
style="opacity: .80" cellspacing="0" border="0" cellpadding="0">
<table id="${("showTable", "animeTable")[bool(show.is_anime)]}" class="table display_show" style="opacity: .80">
<thead>
<tr class="seasoncols">
<th data-sorter="false" data-priority="critical" class="table-fit col-checkbox">
<th data-sorter="false" data-priority="critical" class="col-checkbox">
<input type="checkbox" class="seasonCheck" id="${epResult["season"]}"/>
</th>
<th data-sorter="false" class="table-fit col-metadata">${_('NFO')}</th>
<th data-sorter="false" class="table-fit col-metadata">${_('TBN')}</th>
<th data-sorter="false" class="table-fit col-ep episode">${_('Episode')}</th>
<th data-sorter="false" ${("class=\"table-fit col-ep columnSelector-false\"", "class=\"table-fit col-ep\"")[bool(show.is_anime)]}>${_('Absolute')}</th>
<th data-sorter="false" ${("class=\"table-fit col-ep columnSelector-false\"", "class=\"table-fit col-ep\"")[bool(scene)]}>${_('Scene')}</th>
<th data-sorter="false" ${("class=\"table-fit col-ep columnSelector-false\"", "class=\"table-fit col-ep\"")[bool(scene_anime)]}>${_('Scene Absolute')}</th>
<th data-sorter="false" class="col-metadata">${_('NFO')}</th>
<th data-sorter="false" class="col-metadata">${_('TBN')}</th>
<th data-sorter="false" class="col-ep episode">${_('Episode')}</th>
<th data-sorter="false" ${("class=\"col-ep columnSelector-false\"", "class=\"col-ep\"")[bool(show.is_anime)]}>${_('Absolute')}</th>
<th data-sorter="false" ${("class=\"col-ep columnSelector-false\"", "class=\"col-ep\"")[bool(scene)]}>${_('Scene')}</th>
<th data-sorter="false" ${("class=\"col-ep columnSelector-false\"", "class=\"col-ep\"")[bool(scene_anime)]}>${_('Scene Absolute')}</th>
<th data-sorter="false" class="col-name">${_('Name')}</th>
<th data-sorter="false" class="table-fit col-ep columnSelector-false size">${_('Size')}</th>
<th data-sorter="false" class="table-fit col-airdate">${_('Airdate')}</th>
<th data-sorter="false" ${("class=\"table-fit col-ep columnSelector-false\"", "class=\"table-fit col-ep\"")[bool(sickrage.app.config.download_url)]}>${_('Download')}</th>
<th data-sorter="false" ${("class=\"table-fit col-ep columnSelector-false\"", "class=\"table-fit col-ep\"")[bool(sickrage.app.config.use_subtitles)]}>${_('Subtitles')}</th>
<th data-sorter="false" class="table-fit col-status">${_('Status')}</th>
<th data-sorter="false" class="table-fit col-search">${_('Search')}</th>
<th data-sorter="false" class="col-ep columnSelector-false size">${_('Size')}</th>
<th data-sorter="false" class="col-airdate">${_('Airdate')}</th>
<th data-sorter="false" ${("class=\"col-ep columnSelector-false\"", "class=\"col-ep\"")[bool(sickrage.app.config.download_url)]}>${_('Download')}</th>
<th data-sorter="false" ${("class=\"col-ep columnSelector-false\"", "class=\"col-ep\"")[bool(sickrage.app.config.use_subtitles)]}>${_('Subtitles')}</th>
<th data-sorter="false" class="col-status">${_('Status')}</th>
<th data-sorter="false" class="col-search">${_('Search')}</th>
</tr>
</thead>
......@@ -566,7 +561,7 @@
<tr class="${Overview.overviewStrings[epCats[epStr]]} season-${curSeason} seasonstyle font-weight-bold text-dark"
id="S${str(epResult["season"])}E${str(epResult["episode"])}">
<td class="col-checkbox">
<td class="table-fit col-checkbox">
% if int(epResult["status"]) != UNAIRED:
<input type="checkbox" class="epCheck"
id="${str(epResult["season"])}x${str(epResult["episode"])}"
......@@ -574,15 +569,15 @@
% endif
</td>
<td align="center">
<td class="table-fit">
<i class="fas ${("fa-times", "fa-check")[epResult["hasnfo"]]}"></i>
</td>
<td align="center">
<td class="table-fit">
<i class="fas ${("fa-times", "fa-check")[epResult["hastbn"]]}"></i>
</td>
<td align="center">
<td class="table-fit">
<%
text = str(epResult['episode'])
if epLoc != '' and epLoc is not None:
......@@ -591,9 +586,9 @@
${text}
</td>
<td align="center">${epResult["absolute_number"]}</td>
<td class="table-fit">${epResult["absolute_number"]}</td>
<td align="center">
<td class="table-fit">
<input placeholder="${str(dfltSeas)}x${str(dfltEpis)}" size="6"
maxlength="8"
class="sceneSeasonXEpisode form-control input-scene"
......@@ -609,9 +604,9 @@
style="padding: 0; text-align: center; max-width: 60px;"/>
</td>
<td align="center">
<td class="table-fit">
<input placeholder="${str(dfltAbsolute)}" size="6" maxlength="8"
class="sceneAbsolute form-control input-scene"
class="sceneAbsolute form-control d-inline input-scene"
data-for-absolute="${epResult["absolute_number"]}"
id="sceneAbsolute_${show.indexerid}_${str(epResult["absolute_number"])}"
title="Change the value here if scene absolute numbering differs from the indexer absolute numbering"
......@@ -629,14 +624,14 @@
${epResult["name"]}
</td>
<td class="text-nowrap col-ep">
<td class="table-fit text-nowrap col-ep">
% if epResult["file_size"]:
<% file_size = pretty_filesize(epResult["file_size"]) %>
<% file_size = pretty_filesize(epResult["file_size"]) %>
${file_size}
% endif
</td>
<td class="col-airdate">
<td class="table-fit col-airdate">
% if int(epResult['airdate']) != 1:
<% airDate = datetime.datetime.fromordinal(epResult['airdate']) %>
......@@ -650,7 +645,7 @@
% endif
</td>
<td>
<td class="table-fit">
% if sickrage.app.config.download_url and epResult['location']:
<%
filename = epResult['location']
......@@ -663,7 +658,7 @@
% endif
</td>
<td class="col-subtitles" align="center">
<td class="table-fit col-subtitles">
% for flag in (epResult["subtitles"] or '').split(','):
% if sickrage.subtitles.name_from_code(flag).lower() != 'undetermined':
% if flag.strip() != 'und':
......@@ -681,12 +676,12 @@
<% curStatus, curQuality = Quality.splitCompositeStatus(int(epResult["status"])) %>
% if curQuality != Quality.NONE:
<td class="text-nowrap col-status">${statusStrings[curStatus]} ${renderQualityPill(curQuality)}</td>
<td class="table-fit text-nowrap col-status">${statusStrings[curStatus]} ${renderQualityPill(curQuality)}</td>
% else:
<td class="text-nowrap col-status">${statusStrings[curStatus]}</td>
<td class="table-fit text-nowrap col-status">${statusStrings[curStatus]}</td>
% endif
<td class="text-center col-search">
<td class="table-fit col-search">
% if int(epResult["season"]) != 0:
% if ( int(epResult["status"]) in Quality.SNATCHED + Quality.DOWNLOADED ):
<a class="epRetry"
......
......@@ -56,7 +56,7 @@
</div>
</div>
<div class="col text-right">
<div class="form-inline m-1 d-inline-flex">
<div class="form-inline d-inline-flex">
% if sickrage.app.config.home_layout == 'poster':
<div style="width: 100px" id="posterSizeSlider"></div>
% endif
......@@ -274,21 +274,21 @@
<table id="showListTable${curListType}" class="table">
<thead>
<tr>
<th class="table-fit text-nowrap">${_('Next Ep')}</th>
<th class="table-fit text-nowrap">${_('Prev Ep')}</th>
<th class="${('', 'table-fit')[sickrage.app.config.home_layout in ['small', 'banner']]}">${_('Show')}</th>
<th class="table-fit text-nowrap">${_('Network')}</th>
<th class="table-fit">${_('Quality')}</th>
<th>${_('Next Ep')}</th>
<th>${_('Prev Ep')}</th>
<th>${_('Show')}</th>
<th>${_('Network')}</th>
<th>${_('Quality')}</th>
<th>${_('Downloads')}</th>
<th class="table-fit text-nowrap">${_('Size')}</th>
<th class="table-fit">${_('Active')}</th>
<th class="table-fit">${_('Status')}</th>
<th>${_('Size')}</th>
<th>${_('Active')}</th>
<th>${_('Status')}</th>
</tr>
</thead>
<tfoot>
<tr>
<th rowspan="1" colspan="1" align="center" class="text-nowrap">
<th>
<a href="${srWebRoot}/home/addShows/">
${_('Add')} ${(_('Show'), _('Anime'))[curListType == 'Anime']}
</a>
......@@ -309,7 +309,7 @@
% for curLoadingShow in sickrage.app.show_queue.loadingShowList:
% if not curLoadingShow.show or curLoadingShow.show not in sickrage.app.showlist:
<tr>
<td align="center">(${_('loading')})</td>
<td class="table-fit">(${_('loading')})</td>
<td></td>
<td>
% if curLoadingShow.show is None:
......@@ -390,34 +390,34 @@
% if cur_airs_next:
<% airDate = srdatetime.srDateTime(tz_updater.parse_date_time(cur_airs_next, curShow.airs, curShow.network), convert=True).dt %>
% try:
<td class="align-middle text-center text-nowrap">
<td class="table-fit">
<time datetime="${airDate.isoformat()}"
class="date">${srdatetime.srDateTime(airDate).srfdate()}</time>
</td>
% except ValueError:
<td class="align-middle text-center text-nowrap"></td>
<td class="table-fit"></td>
% endtry
% else:
<td class="align-middle text-center text-nowrap"></td>
<td class="table-fit"></td>
% endif
% if cur_airs_prev:
<% airDate = srdatetime.srDateTime(tz_updater.parse_date_time(cur_airs_prev, curShow.airs, curShow.network), convert=True).dt %>
% try:
<td class="align-middle text-center text-nowrap">
<td class="table-fit">
<time datetime="${airDate.isoformat()}" class="date">
${srdatetime.srDateTime(airDate).srfdate()}
</time>
</td>
% except ValueError:
<td class="align-middle text-center text-nowrap"></td>
<td class="table-fit"></td>
% endtry
% else:
<td class="align-middle text-center text-nowrap"></td>
<td class="table-fit"></td>
% endif
% if sickrage.app.config.home_layout == 'small':
<td class="tvShow" align="center">
<td class="table-fit tvShow">
<a href="${srWebRoot}/home/displayShow?show=${curShow.indexerid}"
title="${curShow.name}">
<img src="${srWebRoot}${showImage(curShow.indexerid, 'poster_thumb').url}"
......@@ -426,7 +426,7 @@
</a>
</td>
% elif sickrage.app.config.home_layout == 'banner':
<td class="align-middle text-center">
<td class="table-fit">
<span style="display: none;">${curShow.name}</span>
<a href="${srWebRoot}/home/displayShow?show=${curShow.indexerid}">
<img src="${srWebRoot}${showImage(curShow.indexerid, 'banner').url}"
......@@ -443,7 +443,7 @@
% endif
% if sickrage.app.config.home_layout != 'simple':
<td class="align-middle text-center">
<td class="table-fit">
% if curShow.network:
<span>
<i class="sickrage-network sickrage-network-${network_class_name}"
......@@ -459,14 +459,14 @@
% endif
</td>
% else:
<td class="text-nowrap">
<td class="table-fit">
<span title="${curShow.network}">${curShow.network}</span>
</td>
% endif
<td class="align-middle text-center">${renderQualityPill(curShow.quality, showTitle=True)}</td>
<td class="table-fit">${renderQualityPill(curShow.quality, showTitle=True)}</td>
<td class="align-middle text-center">
<td>
<span style="display: none;">${download_stat}</span>
<div class="bg-dark rounded shadow">
<div class="progress-bar rounded " style="width: ${progressbar_percent}%"
......@@ -477,16 +477,16 @@
</div>
</td>
<td class="align-middle text-center text-nowrap" data-show-size="${show_size}">
<td class="table-fit" data-show-size="${show_size}">
${pretty_filesize(show_size)}
</td>
<td class="align-middle text-center ">
<td class="table-fit">
<% paused = int(curShow.paused) == 0 and curShow.status == 'Continuing' %>
<i class="fa ${("fa-times text-danger", "fa-check text-success")[bool(paused)]}"></i>
</td>
<td class="align-middle text-center">
<td class="table-fit">
% if curShow.status and re.search(r'(?i)(?:new|returning)\s*series', curShow.status):
${_('Continuing')}
% elif curShow.status and re.search('(?i)(?:nded)', curShow.status):
......
......@@ -7,10 +7,10 @@
<table id="addRootDirTable" class="table">
<thead>
<tr>
<th class="table-fit col-checkbox"><input type="checkbox" id="checkAll" checked=checked></th>
<th class="col-checkbox"><input type="checkbox" id="checkAll" checked=checked></th>
<th>${_('Directory')}</th>
<th class="table-fit">${_('Show Name (tvshow.nfo)')}</th>
<th class="table-fit">${_('Indexer')}</th>
<th>${_('Show Name (tvshow.nfo)')}</th>
<th>${_('Indexer')}</th>
</tr>
</thead>
<tbody>
......@@ -31,17 +31,17 @@
%>
<tr>
<td class="col-checkbox"><input type="checkbox" id="${show_id}" class="dirCheck" checked=checked>
<td class="table-fit col-checkbox"><input type="checkbox" id="${show_id}" class="dirCheck" checked=checked>
</td>
<td><label for="${show_id}">${curDir['display_dir']}</label></td>
% if curDir['existing_info'][1] and indexer > 0:
<td class="text-center">
<td class="table-fit">
<a href="${anon_url(IndexerApi(indexer).config['show_url'], curDir['existing_info'][0])}">${curDir['existing_info'][1]}</a>
</td>
% else:
<td>?</td>
% endif
<td class="text-center">
<td class="table-fit">
<select class="rounded" name="indexer">
% for curIndexer in IndexerApi().indexers.items():
<option value="${curIndexer[0]}" ${('', 'selected')[curIndexer[0] == indexer]}>${curIndexer[1]}</option>
......
......@@ -50,17 +50,19 @@
<h3>${_('All Seasons')}</h3>
</div>
<div class="card-body">
<table id="SelectAllTable" class="table" cellspacing="1" border="0" cellpadding="0">
<thead>
<tr class="seasoncols" id="selectall">
<th class="col-checkbox">
<input type="checkbox" class="seriesCheck" id="SelectAll"/>
</th>
<th align="left" valign="top" class="text-nowrap">${_('Select All')}</th>
<th width="100%" class="col-name d-none"></th>
</tr>
</thead>
</table>
<div class="table-responsive">
<table id="SelectAllTable" class="table">
<thead>
<tr class="seasoncols" id="selectall">
<th class="col-checkbox">
<input type="checkbox" class="seriesCheck" id="SelectAll"/>
</th>
<th align="left" valign="top" class="text-nowrap">${_('Select All')}</th>
<th width="100%" class="col-name d-none"></th>
</tr>
</thead>
</table>
</div>
</div>
<div class="card-footer">
<input type="submit" value="${_('Rename Selected')}" class="btn btn-success"/>
......@@ -75,55 +77,57 @@
<div class="col mx-auto">
<div class="card mb-3">
<div class="card-body">
<table id="testRenameTable" class="table">
% for cur_ep_obj in ep_obj_list:
<%
curLoc = cur_ep_obj.location[len(cur_ep_obj.show.location)+1:]
curExt = curLoc.split('.')[-1]
newLoc = cur_ep_obj.proper_path() + '.' + curExt
%>
% if int(cur_ep_obj.season) != curSeason:
<thead>
<tr id="season-${cur_ep_obj.season}">
<td colspan="4">
<h2>${('Season '+str(cur_ep_obj.season), 'Specials')[int(cur_ep_obj.season) == 0]}</h2>
</td>
</tr>
<tr class="seasoncols" id="season-${cur_ep_obj.season}-cols">
<th class="col-checkbox">
<input type="checkbox" class="seasonCheck"
id="${cur_ep_obj.season}"/>
</th>
<th class="table-fit">${_('Episode')}</th>
<th class="text-nowrap">${_('Old Location')}</th>
<th class="text-nowrap">${_('New Location')}</th>
</tr>
</thead>
<% curSeason = int(cur_ep_obj.season) %>
% endif
<tbody>
<%
odd = not odd
epStr = str(cur_ep_obj.season) + "x" + str(cur_ep_obj.episode)
epList = sorted([cur_ep_obj.episode] + [x.episode for x in cur_ep_obj.relatedEps])
if len(epList) > 1:
epList = [min(epList), max(epList)]
%>
<tr class="season-${curSeason} ${('wanted', 'good')[curLoc == newLoc]} text-dark">
<td class="table-fit">
% if curLoc != newLoc:
<input type="checkbox" class="epCheck"
id="${"{}x{}".format(cur_ep_obj.season, cur_ep_obj.episode)}"
name="${"{}x{}".format(cur_ep_obj.season, cur_ep_obj.episode)}"/>
% endif
</td>
<td class="text-center">${"-".join(map(str, epList))}</td>
<td>${curLoc}</td>
<td>${newLoc}</td>
</tr>
</tbody>
% endfor
</table>
<div class="table-responsive">
<table id="testRenameTable" class="table">
% for cur_ep_obj in ep_obj_list:
<%
curLoc = cur_ep_obj.location[len(cur_ep_obj.show.location)+1:]
curExt = curLoc.split('.')[-1]
newLoc = cur_ep_obj.proper_path() + '.' + curExt
%>
% if int(cur_ep_obj.season) != curSeason:
<thead>
<tr id="season-${cur_ep_obj.season}">
<td colspan="4">
<h2>${('Season '+str(cur_ep_obj.season), 'Specials')[int(cur_ep_obj.season) == 0]}</h2>
</td>
</tr>
<tr class="seasoncols" id="season-${cur_ep_obj.season}-cols">
<th class="col-checkbox">
<input type="checkbox" class="seasonCheck"
id="${cur_ep_obj.season}"/>
</th>
<th>${_('Episode')}</th>
<th>${_('Old Location')}</th>
<th>${_('New Location')}</th>
</tr>
</thead>
<% curSeason = int(cur_ep_obj.season) %>
% endif
<tbody>
<%
odd = not odd
epStr = str(cur_ep_obj.season) + "x" + str(cur_ep_obj.episode)
epList = sorted([cur_ep_obj.episode] + [x.episode for x in cur_ep_obj.relatedEps])
if len(epList) > 1:
epList = [min(epList), max(epList)]
%>
<tr class="season-${curSeason} ${('wanted', 'good')[curLoc == newLoc]} text-dark">
<td class="table-fit">
% if curLoc != newLoc:
<input type="checkbox" class="epCheck"
id="${"{}x{}".format(cur_ep_obj.season, cur_ep_obj.episode)}"
name="${"{}x{}".format(cur_ep_obj.season, cur_ep_obj.episode)}"/>
% endif
</td>
<td class="table-fit">${"-".join(map(str, epList))}</td>
<td>${curLoc}</td>
<td>${newLoc}</td>
</tr>
</tbody>
% endfor
</table>
</div>
</div>
<div class="card-footer">
<input type="submit" value="${_('Rename Selected')}" class="btn btn-success"/>
......
......@@ -272,8 +272,8 @@
${_('Tools')}
</span>
<span class="d-sm-none d-md-block">
<img class="rounded-circle shadow" style="width: 40px;height: 40px;"
src="https://gravatar.com/avatar/${md5(current_user['email']).hexdigest()}?&d=404">
<object class="d-block fas fa-2x fa-user-circle rounded-circle shadow" data="https://gravatar.com/avatar/${md5(current_user['email']).hexdigest()}?&d=404" style="width: 40px;height: auto;" type="image/jpg">
</object>
${toolsBadge}
</span>
</a>
......@@ -360,7 +360,7 @@
% endfor
% else:
<a href="${srWebRoot}${menuItem['path']}"
class="btn ${('', ' confirm ')['confirm' in menuItem]} ${menuItem.get('class', '')} m-1">
class="btn ${('', ' confirm ')['confirm' in menuItem]} ${menuItem.get('class', '')}">
<i class='${menuItem.get('icon', '')}'></i> ${menuItem['title']}
</a>
<% first = False %>
......
......@@ -98,31 +98,32 @@
<br/>
<div class="row">
<div class="col-md-12">
<table class="table">
% for cur_indexer_id in sorted_show_ids:
<tr id="${cur_indexer_id}">
<th>
<input type="checkbox" class="allCheck"
id="allCheck-${cur_indexer_id}"
title="${show_names[cur_indexer_id]}"
name="${cur_indexer_id}-all" checked/>
</th>
<th colspan="2" style="width: 100%; text-align: left;">
<a class="text-white" href="${srWebRoot}/home/displayShow?show=${cur_indexer_id}">
${show_names[cur_indexer_id]}
</a>
(<span class="text-info">${ep_counts[cur_indexer_id]}</span>)
<input type="button" class="btn btn-sm get_more_eps"
id="${cur_indexer_id}" value="${_('Expand')}"/>
</th>
</tr>
% endfor
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<div class="table-responsive">
<table class="table">
% for cur_indexer_id in sorted_show_ids:
<tr id="${cur_indexer_id}">
<td class="table-fit" style="border:none">
<input type="checkbox" class="allCheck"
id="allCheck-${cur_indexer_id}"
title="${show_names[cur_indexer_id]}"
name="${cur_indexer_id}-all" checked/>
</td>
<td class="text-left text-nowrap" style="border:none">
<a class="text-white"
href="${srWebRoot}/home/displayShow?show=${cur_indexer_id}">