Juice/templates/index.html

84 lines
5.0 KiB
HTML
Raw Normal View History

2019-06-05 13:32:10 -04:00
<!DOCTYPE html>
2019-06-24 09:06:41 -04:00
<html lang="en">
2019-06-18 12:49:01 -04:00
<head>
<title>Juice</title>
<link rel="stylesheet" type="text/css" href="/static/juice.css">
2019-11-15 10:35:56 -05:00
<script>
const init_state = {{ init_state|tojson|safe }};
const ws_uri = "{{ request.app.router['ws'].url_for() }}";
</script>
2019-06-18 12:49:01 -04:00
<script type="text/javascript" src="/static/juice.js"></script>
2019-06-19 10:15:08 -04:00
<script>window.onload = load;</script>
2019-07-02 08:47:34 -04:00
<meta name="viewport" content="width=device-width, initial-scale=0.8">
2019-06-24 09:06:41 -04:00
<meta name="description" content="An IOT hub.">
2019-07-02 08:47:34 -04:00
<meta name="theme-color" content="lightblue">
<link rel="manifest" href="/static/juice-manifest.webmanifest">
<link rel="icon" href="/static/orange-juice.svg">
<link rel="icon" href="/static/orange-juice-144p.png">
2019-06-18 12:49:01 -04:00
</head>
<body>
2019-06-20 07:48:11 -04:00
<header>
2019-07-02 08:47:34 -04:00
<div id="logo-line">
<object id="logo" aria-label="Juice: An IOT hub" data="/static/orange-juice.svg"></object>
<h1>Juice</h1>
<h3>An IOT hub</h3>
</div>
2019-06-20 07:48:11 -04:00
<nav>
2019-07-02 08:47:34 -04:00
<span class="font-awesome" title="Home"><a href="./">&#xe806;</a></span>
<span class="font-awesome" title="Add new device" onclick="new_device()">&#xe802;</span>
2019-06-20 07:48:11 -04:00
</nav>
</header>
2019-06-18 12:49:01 -04:00
<main>
<div id="devices">
2019-06-18 13:44:35 -04:00
{% for device in network %}
<div class="device {{ device.type }}" id="{{ device.id }}">
2019-06-20 14:51:00 -04:00
<div class="id editable"><span class="field_value">{{ device.id }}</span>{% if not device.locked %}<span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span><span class="delete font-awesome" onclick="delete_device(this.parentElement.parentElement)">&#xe804;</span><span class="lock font-awesome" onclick="lock_device(this.parentElement.parentElement)">&#xe803;</span>{% else %}<span class="unlock font-awesome" onclick="unlock_device(this.parentElement.parentElement)">&#xf13e;</span>{% endif %}</div>
2019-06-20 12:36:19 -04:00
<div class="description editable"><span class="field_value">{{ device.description }}</span>{% if not device.locked %}<span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span>{% endif %}</div>
<div class="location editable"><span class="field_value">{{ device.location }}</span>{% if not device.locked %}<span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span>{% endif %}</div>
<div class="ip_address editable"><span class="field_value">{{ device.ip_address }}</span>{% if not device.locked %}<span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span>{% endif %}</div>
2019-06-18 12:49:01 -04:00
<div class="sub_devices">
2019-07-02 13:09:31 -04:00
{% if device.type == 'RelayDevice' %}
2019-06-18 13:44:35 -04:00
{% for sub_dev in device.sub_devices %}
2019-06-24 09:06:41 -04:00
<div class="sub_device {{ sub_dev.type }} {{ sub_dev.id }}">
2019-06-18 12:49:01 -04:00
<div class="id">{{ sub_dev.id }}</div>
2019-06-24 09:06:41 -04:00
<object class="outlet_image" aria-label="Outlet Image" data="/static/outlet.svg"></object>
2019-06-20 12:36:19 -04:00
<div class="description editable"><span class="field_value">{{ sub_dev.description }}</span>{% if not device.locked %}<span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span>{% endif %}</div>
2019-06-18 12:49:01 -04:00
</div>
{% endfor %}
2019-07-02 13:09:31 -04:00
{% elif device.type == 'LightStrip' %}
2019-11-15 10:35:56 -05:00
{% for n in range(24) %}
2019-07-02 13:09:31 -04:00
<div class="sub_device led led{{n}}">
<label class="led_color">
<input class="led_color_input" type="color">
</label>
</div>
{% endfor %}
{% endif %}
2019-06-18 12:49:01 -04:00
</div>
2019-06-16 18:22:47 -04:00
</div>
2019-06-18 12:49:01 -04:00
{% endfor %}
2019-06-05 13:32:10 -04:00
</div>
2019-06-18 12:49:01 -04:00
</main>
2019-06-20 08:38:56 -04:00
<template id="RelayDevice_template">
2019-06-19 10:15:08 -04:00
<div class="device RelayDevice" id="">
2019-06-20 14:51:00 -04:00
<div class="id editable"><span class="field_value"></span><span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span><span class="delete font-awesome" onclick="delete_device(this.parentElement.parentElement)">&#xe804;</span><span class="lock font-awesome" onclick="lock_device(this.parentElement.parentElement)">&#xe803;</span></div>
<div class="description editable"><span class="field_value"></span><span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span></div>
<div class="location editable"><span class="field_value"></span><span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span></div>
<div class="ip_address editable"><span class="field_value"></span><span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span></div>
2019-06-19 10:15:08 -04:00
<div class="sub_devices">
2019-06-24 09:06:41 -04:00
<div class="sub_device RelayOutlet OUT0">
<div class="id">OUT0</div>
2019-06-24 09:06:41 -04:00
<object class="outlet_image" alt="Outlet Image" data="/static/outlet.svg"></object>
2019-06-20 14:51:00 -04:00
<div class="description editable"><span class="field_value"></span><span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span></div>
2019-06-19 10:15:08 -04:00
</div>
2019-06-24 09:06:41 -04:00
<div class="sub_device RelayOutlet OUT2">
<div class="id">OUT2</div>
2019-06-24 09:06:41 -04:00
<object class="outlet_image" alt="Outlet Image" data="/static/outlet.svg"></object>
2019-06-20 14:51:00 -04:00
<div class="description editable"><span class="field_value"></span><span class="edit font-awesome" onclick="edit_field(this.parentElement)">&#xe800;</span></div>
2019-06-19 10:15:08 -04:00
</div>
</div>
</div>
</template>
2019-06-18 12:49:01 -04:00
</body>
2019-06-05 13:32:10 -04:00
</html>