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" | ||||
|     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']}}/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 %} | ||||
|     <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 %} | ||||
| 
 | ||||
|     {% 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><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) | ||||
|     { | ||||
|         card = video_cards[index]; | ||||
|  | @ -339,21 +340,22 @@ function action_button_passthrough(event, action_function, action_argument) | |||
| 
 | ||||
| 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_download = video_card_div.getElementsByClassName("video_action_download")[0]; | ||||
|     var button_ignore = video_card_div.getElementsByClassName("video_action_ignore")[0]; | ||||
|     if (video_card_div.classList.contains("video_card_pending")) | ||||
|     { | ||||
|         button_download.classList.remove("hidden"); | ||||
|         button_ignore.classList.remove("hidden"); | ||||
|         button_pending.classList.add("hidden"); | ||||
|     } | ||||
|     if (is_pending) | ||||
|         { button_pending.classList.add("hidden"); } | ||||
|     else | ||||
|     { | ||||
|         button_download.classList.add("hidden"); | ||||
|         button_ignore.classList.add("hidden"); | ||||
|         button_pending.classList.remove("hidden"); | ||||
|     } | ||||
|         { button_pending.classList.remove("hidden"); } | ||||
| } | ||||
| 
 | ||||
| function receive_action_response(response) | ||||
|  | @ -364,21 +366,10 @@ function receive_action_response(response) | |||
|         var video_id = video_ids[index]; | ||||
|         var state = response['state']; | ||||
|         var card = document.getElementById("video_card_" + video_id); | ||||
|         if (state == 'pending') | ||||
|         { | ||||
|             card.classList = ["video_card", "video_card_pending"].join(" "); | ||||
|             card.style.backgroundColor = "#ffffaa"; | ||||
|         } | ||||
|         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"; | ||||
|         } | ||||
|         {% for statename in all_states %} | ||||
|         card.classList.remove("video_card_{{statename}}"); | ||||
|         {% endfor %} | ||||
|         card.classList.add("video_card_" + state); | ||||
|         give_action_buttons(card); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -180,8 +180,12 @@ def get_channel(channel_id=None, download_filter=None): | |||
|         published = datetime.datetime.utcfromtimestamp(published) | ||||
|         published = published.strftime('%Y %m %d') | ||||
|         video['_published_str'] = published | ||||
| 
 | ||||
|     all_states = ycdldb.get_all_states() | ||||
| 
 | ||||
|     return flask.render_template( | ||||
|         'channel.html', | ||||
|         all_states=all_states, | ||||
|         channel=channel, | ||||
|         download_filter=download_filter, | ||||
|         query_string='?' + request.query_string.decode('utf-8'), | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue