mirror of
https://github.com/fHDHR/fHDHR_NextPVR.git
synced 2025-12-06 06:56:57 -05:00
Compare commits
2 Commits
e3d8f64c5c
...
ccd99a7008
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ccd99a7008 | ||
|
|
56d7a74ee4 |
@ -114,7 +114,7 @@ class Channels():
|
||||
self.fhdhr.device.channels.set_channel_status("id", channel_id, updatedict)
|
||||
|
||||
elif method == "modify":
|
||||
channels_list = eval(request.form.get('channels', []))
|
||||
channels_list = json.loads(request.form.get('channels', []))
|
||||
for channel in channels_list:
|
||||
updatedict = {}
|
||||
for key in list(channel.keys()):
|
||||
|
||||
@ -1,18 +1,85 @@
|
||||
from browser import document, bind # alert, window
|
||||
import json
|
||||
|
||||
|
||||
@bind("#enable_button", "click")
|
||||
def enable_all(event):
|
||||
for element in document.get(selector='input[type="checkbox"]'):
|
||||
if element.name.endswith("enabled"):
|
||||
if document["enable_button"].value == "0":
|
||||
element.checked = False
|
||||
element.value = False
|
||||
def chan_edit_data(items, channel_id):
|
||||
|
||||
chanlist = []
|
||||
chandict = {}
|
||||
|
||||
for element in items:
|
||||
if element.name == "id":
|
||||
if len(chandict.keys()) >= 2 and "id" in list(chandict.keys()):
|
||||
chanlist.append(chandict)
|
||||
chandict = {"id": element.value}
|
||||
if element.type == "checkbox":
|
||||
if element.name in ["enabled"]:
|
||||
save_val = element.checked
|
||||
else:
|
||||
element.checked = True
|
||||
element.value = True
|
||||
save_val = int(element.checked)
|
||||
else:
|
||||
save_val = element.value
|
||||
if element.name != "id":
|
||||
cur_value = element.placeholder
|
||||
if element.type == "checkbox":
|
||||
if element.name in ["enabled"]:
|
||||
cur_value = element.placeholder
|
||||
else:
|
||||
cur_value = int(element.placeholder)
|
||||
if str(save_val) != str(cur_value):
|
||||
chandict[element.name] = save_val
|
||||
|
||||
if document["enable_button"].value == "0":
|
||||
if channel_id != "all":
|
||||
chanlist == [x for x in chanlist if x["id"] == channel_id]
|
||||
|
||||
return chanlist
|
||||
|
||||
|
||||
def chan_edit_postform(chanlist):
|
||||
postForm = document.createElement('form')
|
||||
postForm.method = "POST"
|
||||
postForm.action = "/api/channels?method=modify&redirect=/channels_editor"
|
||||
postForm.setRequestHeader = "('Content-Type', 'application/json')"
|
||||
|
||||
postData = document.createElement('input')
|
||||
postData.type = 'hidden'
|
||||
postData.name = "channels"
|
||||
postData.value = json.dumps(chanlist)
|
||||
|
||||
postForm.appendChild(postData)
|
||||
document.body.appendChild(postForm)
|
||||
return postForm
|
||||
|
||||
|
||||
@bind("#Chan_Edit_Reset", "submit")
|
||||
def chan_edit_reset(evt):
|
||||
chanlist = chan_edit_data(
|
||||
document.select(".reset"),
|
||||
str(evt.currentTarget.children[0].id).replace("reset_", ""))
|
||||
postForm = chan_edit_postform(chanlist)
|
||||
postForm.submit()
|
||||
evt.preventDefault()
|
||||
|
||||
|
||||
@bind("#Chan_Edit_Modify", "submit")
|
||||
def chan_edit_modify(evt):
|
||||
chanlist = chan_edit_data(
|
||||
document.select(".channels"),
|
||||
str(evt.currentTarget.children[0].id).replace("update_", ""))
|
||||
postForm = chan_edit_postform(chanlist)
|
||||
postForm.submit()
|
||||
evt.preventDefault()
|
||||
|
||||
|
||||
@bind("#Chan_Edit_Enable_Toggle", "click")
|
||||
def chan_edit_enable(event):
|
||||
enable_bool = bool(int(document["enable_button"].value))
|
||||
for element in document.get(selector='input[type="checkbox"]'):
|
||||
if element.name == "enabled":
|
||||
element.checked = enable_bool
|
||||
element.value = enable_bool
|
||||
|
||||
if not enable_bool:
|
||||
document["enable_button"].value = "1"
|
||||
document["enable_button"].text = "Enable All"
|
||||
else:
|
||||
@ -20,41 +87,17 @@ def enable_all(event):
|
||||
document["enable_button"].text = "Disable All"
|
||||
|
||||
|
||||
@bind("#chanSubmit", "submit")
|
||||
def submit_fixup(evt):
|
||||
@bind("#Chan_Edit_Favorite_Toggle", "click")
|
||||
def chan_edit_favorite(event):
|
||||
enable_bool = bool(int(document["favorite_button"].value))
|
||||
for element in document.get(selector='input[type="checkbox"]'):
|
||||
if element.name.endswith("enabled"):
|
||||
if element.checked is False:
|
||||
element.checked = True
|
||||
element.value = False
|
||||
if element.name.endswith("favorite"):
|
||||
if element.checked is False:
|
||||
element.checked = True
|
||||
element.value = 0
|
||||
if element.name == "favorite":
|
||||
element.checked = enable_bool
|
||||
element.value = int(enable_bool)
|
||||
|
||||
items = document.select(".channels")
|
||||
chanlist = []
|
||||
chandict = {}
|
||||
|
||||
for element in items:
|
||||
if element.name == "id":
|
||||
if len(chandict.keys()):
|
||||
chanlist.append(chandict)
|
||||
chandict = {}
|
||||
chandict[element.name] = element.value
|
||||
element.clear()
|
||||
|
||||
postForm = document.createElement('form')
|
||||
postData = document.createElement('input')
|
||||
postForm.method = "POST"
|
||||
postForm.action = "/api/channels?method=modify&redirect=/channels_editor"
|
||||
postForm.setRequestHeader = "('Content-Type', 'application/json')"
|
||||
postData.name = "channels"
|
||||
postData.value = chanlist
|
||||
postForm.appendChild(postData)
|
||||
|
||||
document.body.appendChild(postForm)
|
||||
|
||||
postForm.submit()
|
||||
|
||||
evt.preventDefault()
|
||||
if not enable_bool:
|
||||
document["favorite_button"].value = "1"
|
||||
document["favorite_button"].text = "Favorite All"
|
||||
else:
|
||||
document["favorite_button"].value = "0"
|
||||
document["favorite_button"].text = "Unfavorite All"
|
||||
|
||||
@ -4,13 +4,33 @@
|
||||
|
||||
<h4 style="text-align: center;">{{ fhdhr.config.dict["fhdhr"]["friendlyname"] }} Channels Editor</h4>
|
||||
|
||||
<div style="text-align: center;">
|
||||
<form id="chanSubmit" method="post">
|
||||
<button type="Submit" id="modify_button" value="0">Modify All</button>
|
||||
<button type="button" id="enable_button" value="0">Disable All</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="container">
|
||||
<table class="table-medium center">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<form id="Chan_Edit_Enable_Toggle" method="post">
|
||||
<button type="button" id="enable_button" value="0">Disable All</button>
|
||||
</form>
|
||||
</td>
|
||||
<td>
|
||||
<form id="Chan_Edit_Favorite_Toggle" method="post">
|
||||
<button type="button" id="favorite_button" value="0">Unfavorite All</button>
|
||||
</form>
|
||||
</td>
|
||||
<td>
|
||||
<form id="Chan_Edit_Modify" method="post">
|
||||
<button type="Submit" id="modify_all">Modify All</button>
|
||||
</form>
|
||||
|
||||
<form id="Chan_Edit_Reset" method="post">
|
||||
<button type="Submit" id="reset_all">Reset All</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<table class="table-scroll center text-edit-cols">
|
||||
@ -27,35 +47,48 @@
|
||||
</thead>
|
||||
|
||||
<tbody class="body-half-screen">
|
||||
|
||||
{% for chan_dict in channelslist %}
|
||||
<tr>
|
||||
<td><input type="hidden" name="id" class="channels" value={{ chan_dict["id"] }}>
|
||||
<input type="text" class="channels" name="name" value="{{ chan_dict["name"] }}">
|
||||
</td>
|
||||
<td><input type="text" class="channels" name="callsign" value="{{ chan_dict["callsign"] }}"></td>
|
||||
<td><input type="text" class="channels" name="number" value="{{ chan_dict["number"] }}"></td>
|
||||
<td><input type="text" class="channels" name="thumbnail" value="{{ chan_dict["thumbnail"] }}"></td>
|
||||
<input type="hidden" name="id" class="channels" value="{{ chan_dict["id"] }}">
|
||||
<input type="hidden" class="reset" name="id" value="{{ chan_dict["id"] }}">
|
||||
|
||||
<td><input type="text" class="channels" name="name" value="{{ chan_dict["name"] }}" placeholder="{{ chan_dict["name"] }}"></td>
|
||||
<input type="hidden" class="reset" name="name" value="{{ chan_dict["origin_name"] }}" placeholder="{{ chan_dict["name"] }}">
|
||||
|
||||
<td><input type="text" class="channels" name="callsign" value="{{ chan_dict["callsign"] }}" placeholder="{{ chan_dict["callsign"] }}"></td>
|
||||
<input type="hidden" class="reset" name="callsign" value="{{ chan_dict["origin_callsign"] }}" placeholder="{{ chan_dict["callsign"] }}">
|
||||
|
||||
<td><input type="text" class="channels" name="number" value="{{ chan_dict["number"] }}" placeholder="{{ chan_dict["number"] }}"></td>
|
||||
<input type="hidden" class="reset" name="number" value="{{ chan_dict["origin_number"] }}" placeholder="{{ chan_dict["number"] }}">
|
||||
|
||||
<td><input type="text" class="channels" name="thumbnail" value="{{ chan_dict["thumbnail"] }}" placeholder="{{ chan_dict["thumbnail"] }}"></td>
|
||||
<input type="hidden" class="reset" name="thumbnail" value="{{ chan_dict["origin_thumbnail"] }}" placeholder="{{ chan_dict["thumbnail"] }}">
|
||||
|
||||
{% if chan_dict["enabled"] %}
|
||||
<td><input type="checkbox" class="channels" name="enabled" value=True checked></td>
|
||||
<td><input type="checkbox" class="channels" name="enabled" value=True checked placeholder="{{ chan_dict["enabled"] }}"></td>
|
||||
{% else %}
|
||||
<td><input type="checkbox" class="channels" name="enabled" value=True ></td>
|
||||
<td><input type="checkbox" class="channels" name="enabled" value=True placeholder="{{ chan_dict["enabled"] }}"></td>
|
||||
{% endif %}
|
||||
<input type="hidden" class="reset" name="enabled" value=True placeholder="{{ chan_dict["enabled"] }}">
|
||||
|
||||
{% if chan_dict["favorite"] %}
|
||||
<td><input type="checkbox" class="channels" name="favorite" value=1 checked></td>
|
||||
<td><input type="checkbox" class="channels" name="favorite" value=1 checked placeholder="{{ chan_dict["favorite"] }}"></td>
|
||||
{% else %}
|
||||
<td><input type="checkbox" class="channels" name="favorite" value=1 ></td>
|
||||
<td><input type="checkbox" class="channels" name="favorite" value=1 placeholder="{{ chan_dict["favorite"] }}"></td>
|
||||
{% endif %}
|
||||
<input type="hidden" class="reset" name="favorite" value="0" placeholder="{{ chan_dict["favorite"] }}">
|
||||
|
||||
<td>
|
||||
<form method="post" action="/api/channels?method=update&redirect=/channels_editor">
|
||||
<input type="hidden" class="reset" name="id" value="{{ chan_dict["id"] }}">
|
||||
<input type="hidden" class="reset" name="name" value="{{ chan_dict["origin_name"] }}">
|
||||
<input type="hidden" class="reset" name="callsign" value="{{ chan_dict["origin_callsign"] }}">
|
||||
<input type="hidden" class="reset" name="number" value="{{ chan_dict["origin_number"] }}">
|
||||
<input type="hidden" class="reset" name="thumbnail" value="{{ chan_dict["origin_thumbnail"] }}">
|
||||
<input type="hidden" class="reset" name="enabled" value=True>
|
||||
<input type="submit" value="Reset">
|
||||
<form id="Chan_Edit_Modify" method="post">
|
||||
<button type="Submit" id="modify_{{ chan_dict["id"] }}">Modify</button>
|
||||
</form>
|
||||
|
||||
<form id="Chan_Edit_Reset" method="post">
|
||||
<button type="Submit" id="reset_{{ chan_dict["id"] }}">Reset</button>
|
||||
</form>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user