Pass list of all states to page for autogeneration of elements.
This commit is contained in:
		
							parent
							
								
									b48c2fc37c
								
							
						
					
					
						commit
						26328865e1
					
				
					 2 changed files with 30 additions and 35 deletions
				
			
		|  | @ -80,15 +80,17 @@ | ||||||
|     <span><button class="refresh_button" |     <span><button class="refresh_button" | ||||||
|     onclick="refresh_channel('{{channel['id']}}', true, function(){location.reload()})">Refresh everything</button></span> |     onclick="refresh_channel('{{channel['id']}}', true, function(){location.reload()})">Refresh everything</button></span> | ||||||
|     <span><a href="/channel/{{channel['id']}}">All</a> <a href="/channel/{{channel['id']}}{{query_string}}">(?q)</a></span> |     <span><a href="/channel/{{channel['id']}}">All</a> <a href="/channel/{{channel['id']}}{{query_string}}">(?q)</a></span> | ||||||
|     <span><a href="/channel/{{channel['id']}}/pending">Pending</a> <a href="/channel/{{channel['id']}}/pending{{query_string}}">(?q)</a></span> |  | ||||||
|     <span><a href="/channel/{{channel['id']}}/ignored">Ignored</a> <a href="/channel/{{channel['id']}}/ignored{{query_string}}">(?q)</a></span> |  | ||||||
|     <span><a href="/channel/{{channel['id']}}/downloaded">Downloaded</a> <a href="/channel/{{channel['id']}}/downloaded{{query_string}}">(?q)</a></span> |  | ||||||
|     {% else %} |     {% else %} | ||||||
|     <span><a href="/videos">All</a> <a href="/videos{{query_string}}">(?q)</a></span> |     <span><a href="/videos">All</a> <a href="/videos{{query_string}}">(?q)</a></span> | ||||||
|     <span><a href="/videos/pending">Pending</a> <a href="/videos/pending{{query_string}}">(?q)</a></span> |  | ||||||
|     <span><a href="/videos/ignored">Ignored</a> <a href="/videos/ignored{{query_string}}">(?q)</a></span> |  | ||||||
|     <span><a href="/videos/downloaded">Downloaded</a> <a href="/videos/downloaded{{query_string}}">(?q)</a></span> |  | ||||||
|     {% endif %} |     {% endif %} | ||||||
|  | 
 | ||||||
|  |     {% for statename in all_states %} | ||||||
|  |     {% if channel is not none %} | ||||||
|  |     <span><a href="/channel/{{channel['id']}}/{{statename}}">{{statename}}</a> <a href="/channel/{{channel['id']}}/{{statename}}{{query_string}}">(?q)</a></span> | ||||||
|  |     {% else %} | ||||||
|  |     <span><a href="/videos/{{statename}}">{{statename}}</a> <a href="/videos/{{statename}}{{query_string}}">(?q)</a></span> | ||||||
|  |     {% endif %} | ||||||
|  |     {% endfor %} | ||||||
|      |      | ||||||
|     <center><input type="text" id="search_filter"/></center> |     <center><input type="text" id="search_filter"/></center> | ||||||
|     <center><span id="search_filter_count">{{videos|length}}</span> items</center> |     <center><span id="search_filter_count">{{videos|length}}</span> items</center> | ||||||
|  | @ -288,7 +290,6 @@ function onclick_select(event) | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|     for (var index = 0; index < video_cards.length; index += 1) |     for (var index = 0; index < video_cards.length; index += 1) | ||||||
|     { |     { | ||||||
|         card = video_cards[index]; |         card = video_cards[index]; | ||||||
|  | @ -339,21 +340,22 @@ function action_button_passthrough(event, action_function, action_argument) | ||||||
| 
 | 
 | ||||||
| function give_action_buttons(video_card_div) | function give_action_buttons(video_card_div) | ||||||
| { | { | ||||||
|  |     var toolbox = video_card_div.getElementsByClassName("action_toolbox")[0] | ||||||
|  |     var buttons = Array.from(toolbox.getElementsByTagName("button")); | ||||||
|  |     var is_pending = video_card_div.classList.contains("video_card_pending"); | ||||||
|  |     buttons.forEach(function(button) | ||||||
|  |     { | ||||||
|  |         if (is_pending) | ||||||
|  |             { button.classList.remove("hidden"); } | ||||||
|  |         else | ||||||
|  |             { button.classList.add("hidden"); } | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|     var button_pending = video_card_div.getElementsByClassName("video_action_pending")[0]; |     var button_pending = video_card_div.getElementsByClassName("video_action_pending")[0]; | ||||||
|     var button_download = video_card_div.getElementsByClassName("video_action_download")[0]; |     if (is_pending) | ||||||
|     var button_ignore = video_card_div.getElementsByClassName("video_action_ignore")[0]; |         { button_pending.classList.add("hidden"); } | ||||||
|     if (video_card_div.classList.contains("video_card_pending")) |  | ||||||
|     { |  | ||||||
|         button_download.classList.remove("hidden"); |  | ||||||
|         button_ignore.classList.remove("hidden"); |  | ||||||
|         button_pending.classList.add("hidden"); |  | ||||||
|     } |  | ||||||
|     else |     else | ||||||
|     { |         { button_pending.classList.remove("hidden"); } | ||||||
|         button_download.classList.add("hidden"); |  | ||||||
|         button_ignore.classList.add("hidden"); |  | ||||||
|         button_pending.classList.remove("hidden"); |  | ||||||
|     } |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function receive_action_response(response) | function receive_action_response(response) | ||||||
|  | @ -364,21 +366,10 @@ function receive_action_response(response) | ||||||
|         var video_id = video_ids[index]; |         var video_id = video_ids[index]; | ||||||
|         var state = response['state']; |         var state = response['state']; | ||||||
|         var card = document.getElementById("video_card_" + video_id); |         var card = document.getElementById("video_card_" + video_id); | ||||||
|         if (state == 'pending') |         {% for statename in all_states %} | ||||||
|         { |         card.classList.remove("video_card_{{statename}}"); | ||||||
|             card.classList = ["video_card", "video_card_pending"].join(" "); |         {% endfor %} | ||||||
|             card.style.backgroundColor = "#ffffaa"; |         card.classList.add("video_card_" + state); | ||||||
|         } |  | ||||||
|         else if (state == 'ignored') |  | ||||||
|         { |  | ||||||
|             card.classList = ["video_card", "video_card_ignored"].join(" "); |  | ||||||
|             card.style.backgroundColor = "#ffc886"; |  | ||||||
|         } |  | ||||||
|         else if (state == 'downloaded') |  | ||||||
|         { |  | ||||||
|             card.classList = ["video_card", "video_card_downloaded"].join(" "); |  | ||||||
|             card.style.backgroundColor = "#aaffaa"; |  | ||||||
|         } |  | ||||||
|         give_action_buttons(card); |         give_action_buttons(card); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -180,8 +180,12 @@ def get_channel(channel_id=None, download_filter=None): | ||||||
|         published = datetime.datetime.utcfromtimestamp(published) |         published = datetime.datetime.utcfromtimestamp(published) | ||||||
|         published = published.strftime('%Y %m %d') |         published = published.strftime('%Y %m %d') | ||||||
|         video['_published_str'] = published |         video['_published_str'] = published | ||||||
|  | 
 | ||||||
|  |     all_states = ycdldb.get_all_states() | ||||||
|  | 
 | ||||||
|     return flask.render_template( |     return flask.render_template( | ||||||
|         'channel.html', |         'channel.html', | ||||||
|  |         all_states=all_states, | ||||||
|         channel=channel, |         channel=channel, | ||||||
|         download_filter=download_filter, |         download_filter=download_filter, | ||||||
|         query_string='?' + request.query_string.decode('utf-8'), |         query_string='?' + request.query_string.decode('utf-8'), | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue