|
@@ -17,14 +17,14 @@
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<label for="wifi.psk">Network password (PSK):</label>
|
|
<label for="wifi.psk">Network password (PSK):</label>
|
|
- <input class="mono" type="password" id="wifi.psk" name="wifi.psk" size="50" />
|
|
|
|
|
|
+ <input class="mono" type="password" id="wifi.psk" name="wifi.psk" />
|
|
<button type="button" class="show" onclick="showpwd('wifi.psk',this)"><span class="show">show</span><span class="hide">hide</span></button>
|
|
<button type="button" class="show" onclick="showpwd('wifi.psk',this)"><span class="show">show</span><span class="hide">hide</span></button>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
<fieldset class="datetime">
|
|
<fieldset class="datetime">
|
|
<legend>Date and Time</legend>
|
|
<legend>Date and Time</legend>
|
|
<div>
|
|
<div>
|
|
- <label for="tz">Timezone configuration:</label>
|
|
|
|
|
|
+ <label for="tz">Time zone:</label>
|
|
<select id="tzname" name="tzname" onchange="tzn(event,'tz')">
|
|
<select id="tzname" name="tzname" onchange="tzn(event,'tz')">
|
|
</select>
|
|
</select>
|
|
<input type="text" id="tz" name="TZ" oninput="tzt(event,'tzname')" />
|
|
<input type="text" id="tz" name="TZ" oninput="tzt(event,'tzname')" />
|
|
@@ -45,40 +45,41 @@
|
|
<button class="submit" type="submit" disabled>Update configuration</button>
|
|
<button class="submit" type="submit" disabled>Update configuration</button>
|
|
</form>
|
|
</form>
|
|
<script>
|
|
<script>
|
|
- fetchconfig('tz.txt').then(map => {
|
|
|
|
- var elem = getelem('tzname');
|
|
|
|
- var grp = elem;
|
|
|
|
- map.set('',''); map.set('UTC','UTC0');
|
|
|
|
- var zones = Array.from(map.keys());
|
|
|
|
- zones = zones.filter(v => v && v != 'UTC').sort();
|
|
|
|
- zones.unshift('','UTC');
|
|
|
|
- for (const z of zones) {
|
|
|
|
- const zz = z.match(/^(?:(\S+?)\/)?(\S*)$/,z);
|
|
|
|
- if (!zz) { continue; }
|
|
|
|
- if (zz[1] && zz[1] != grp.label) {
|
|
|
|
- grp = document.createElement('OPTGROUP');
|
|
|
|
- grp.label = zz[1];
|
|
|
|
- grp.classList.add('tz.'+zz[1]);
|
|
|
|
- elem.append(grp);
|
|
|
|
- } else if (!zz[1]) {
|
|
|
|
- grp = elem;
|
|
|
|
- }
|
|
|
|
- var opt = document.createElement('OPTION');
|
|
|
|
- opt.value = z;
|
|
|
|
- opt.classList.add('tz.'+z.replaceAll('/','.'));
|
|
|
|
- opt.classList.add('tz.'+zz[2].replaceAll('/','.'));
|
|
|
|
- opt.label = zz[2].replaceAll('_',' ').replaceAll('/',': ');
|
|
|
|
- opt.dataset.tz = map.get(z);
|
|
|
|
- grp.append(opt);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
function tzn(e,p) {
|
|
function tzn(e,p) {
|
|
var tz = e.target.selectedOptions[0].dataset.tz;
|
|
var tz = e.target.selectedOptions[0].dataset.tz;
|
|
if (tz) { getelem(p).value = tz; }
|
|
if (tz) { getelem(p).value = tz; }
|
|
}
|
|
}
|
|
function tzt(e,p) { getelem(p).value = ''; }
|
|
function tzt(e,p) { getelem(p).value = ''; }
|
|
|
|
+ fetchconfig('tz.txt')
|
|
|
|
+ .then(map => {
|
|
|
|
+ function cln(z) { return ('tz/'+z).replaceAll('/','_ ')
|
|
|
|
+ .replaceAll(/[^\w ]+/g,'-'); }
|
|
|
|
+ var elem = getelem('tzname');
|
|
|
|
+ var grp = elem;
|
|
|
|
+ map.set('',''); map.set('UTC','UTC0');
|
|
|
|
+ var zones = Array.from(map.keys());
|
|
|
|
+ zones = zones.filter(v => v && v != 'UTC').sort();
|
|
|
|
+ zones.unshift('','UTC');
|
|
|
|
+ for (const z of zones) {
|
|
|
|
+ const zz = z.match(/^(?:(\S+?)\/)?(\S*)$/,z);
|
|
|
|
+ if (!zz) { continue; }
|
|
|
|
+ if (zz[1] && zz[1] != grp.label) {
|
|
|
|
+ grp = document.createElement('OPTGROUP');
|
|
|
|
+ grp.label = zz[1];
|
|
|
|
+ grp.className = cln(zz[1]);
|
|
|
|
+ elem.append(grp);
|
|
|
|
+ } else if (!zz[1]) {
|
|
|
|
+ grp = elem;
|
|
|
|
+ }
|
|
|
|
+ const pz = zz[2].replaceAll('_',' ').replaceAll('/',': ');
|
|
|
|
+ var opt = new Option(pz, z);
|
|
|
|
+ opt.className = cln(z);
|
|
|
|
+ opt.dataset.tz = map.get(z);
|
|
|
|
+ grp.append(opt);
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .finally(() => {loadform('setconfig','sys/getconfig')});
|
|
</script>
|
|
</script>
|
|
- <script>loadform('setconfig','sys/getconfig')</script>
|
|
|
|
<script>translate()</script>
|
|
<script>translate()</script>
|
|
</body>
|
|
</body>
|
|
</html>
|
|
</html>
|