UNPKG

@openhab-ui/setup-and-maintenance

Version:

Configuration and maintenance interface for openHAB

33 lines 7.24 kB
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,user-scalable=yes"><link rel="icon" href="img/favicon.ico"><link rel="manifest" href="/manifest.json"><link rel="preload" href="fonts/fa-regular-400.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="fonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="fonts/roboto-v18-latin-ext_greek_cyrillic_cyrillic-ext_greek-ext_latin_vietnamese-regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="fonts/roboto-v18-latin-ext_greek_cyrillic_cyrillic-ext_greek-ext_latin_vietnamese-500.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="fonts/roboto-v18-latin-ext_greek_cyrillic_cyrillic-ext_greek-ext_latin_vietnamese-700.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="img/pattern_opacity.png" as="image"><link rel="preload" href="img/openhab-logo.svg" as="image"><link rel="stylesheet" href="css/main.css" type="text/css"><link rel="stylesheet" href="css/main_deferred.css" type="text/css"><script type="module" src="js/app.js" async></script><script type="module" src="js/vue.js" async></script><script type="module" src="js/ohcomponents.js" async></script><script type="module" src="js/uicomponents.js" async></script><script type="module">async function applyTheme() { if (localStorage.getItem("darktheme") === "true") { let darkthemecss = document.getElementById("darkthemecss"); if (!darkthemecss) { let head = document.getElementsByTagName('head')[0]; let link = document.createElement('style'); link.id = "darkthemecss"; link.innerHTML = await fetch('css/dark.css').then(d => d.text()); head.appendChild(link); document.dispatchEvent(new Event("themechanged")); } } else { let darkthemecss = document.getElementById("darkthemecss"); if (darkthemecss) darkthemecss.remove(); } if (localStorage.getItem("widetheme") === "true") { document.querySelector("body").classList.add("wide"); } else { document.querySelector("body").classList.remove("wide"); } window.requestAnimationFrame(() => { window.dispatchEvent(new Event("resize")); }); } window.toggleWideTheme = function (event) { event.preventDefault(); let isEnabled = localStorage.getItem("widetheme") === "true"; localStorage.setItem("widetheme", !isEnabled); applyTheme(); } applyTheme(); window.addEventListener('storage', e => { if (e.key == "darktheme") applyTheme(); }); document.addEventListener('themechange', e => applyTheme());</script><title>openHAB - Empowering the smart home</title></head><body><link rel="stylesheet" href="css/scheduler.css" type="text/css"><link rel="stylesheet" href="css/listgridview.css" type="text/css"><nav class="sidebar leftright" id="calendercontrol"></nav><header class="navbarui"><a class="sidebar-button" href="#" onclick="toggleSidebar(event)"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon" style="max-width: 20px;"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg> </a><a class="home" id="home" href="index.html"><div alt="openHAB" class="logo"></div></a><nav><oh-nav-auto-link></oh-nav-auto-link><div><a id="navmaintenance" href="maintenance.html">Maintenance</a></div><div><a id="navbindings" href="bindings.html">Add-ons</a></div><div><a id="navinbox" href="inbox.html" style="display: inline-flex;align-items: center;">Inbox<oh-form-bind adapter="modeladapter_forms/inboxcounter" objectid=""></oh-form-bind><oh-vue-form></oh-vue-form><template><span class="ml-2 badge badge-pill badge-orange">{{inboxcounter}}</span></template></a></div><div><a id="navthings" href="things.html">Things</a></div><div><a id="navitems" href="items.html">Items</a></div><div><a id="navscheduler" href="schedules.html">Scheduler</a></div><div><a id="navscenes" href="scenes.html">Scenes</a></div><div><a id="navrules" href="rules.html">Automation</a></div></nav></header><nav-ajax-page-load></nav-ajax-page-load><div id="alert-area" class="alert-area"></div><template id="alert-template"><div class="alert-box"><div class="alert-content"><slot></slot></div><a class="alert-close no-loader" data-close href="#"></a></div></template><section class="header"><div><oh-prop-bind attribute="label" queryparameter="title"></oh-prop-bind><nav-breadcrumb label="Setup recurring and one-shot tasks"></nav-breadcrumb></div><span class="link roundbtn" onclick="toggleWideTheme(event)"><i class="fas fa-arrows-alt-h"></i></span><oh-doc-link toggle class="link helpbtn roundbtn" title="Open/Close context help"><i class="fas fa-times"></i><i class="fas fa-question"></i></oh-doc-link></section><main><oh-form-bind adapter="modeladapter_forms/schedule" objectid="" fixedfilter="tags:alarm"></oh-form-bind><oh-vue-form class="mt-4"></oh-vue-form><template><div><portal name="testname" target-el="#calendercontrol" breakshadow slim><h4>Actions</h4><div>Zoom</div><vue-slide-bar :paddingless="true" class="p-2" v-model="timestep" :data="timeSteps" :range="timeStepRange"></vue-slide-bar><button class="btn btn-primary-hover btn-sm m-3" @click="selectedDate=new Date()">Jump to today</button></portal><vue-cal :selected-date="selectedDate" :time-from="0" :time-to="24 * 60" :time-step="timestep" :time-cell-height="18" :events="events" :disable-views="['years']" :draggable-events="true" default-view="week" @view-change="loadEvents($event)" @event-delete="logEvents('event-delete', $event)" :on-event-click="onEventclick" ref="cal"><div :class="{ line: true, hours: !minutes }" slot="time-cell" slot-scope="{ hours, minutes }"><strong v-if="!minutes" style="font-size: 15px">{{ hours }}</strong> <span v-else style="font-size: 11px">{{ minutes }}</span></div><div slot="event-renderer" slot-scope="{ event, view }"><div class="vuecal__event-title" v-html="event.title"></div><small class="vuecal__event-time"><strong>Event start:</strong> <span>{{ event.startTime }}</span></small></div></vue-cal></div></template></main><footer></footer><aside class="contexthelp"><div class="fixedwrapper"><ui-context-help url="contexthelp/scheduler.md"></ui-context-help><div class="btnbar mt-4 mr-2"><oh-doc-link class="btn btn-danger helpbtn2 mr-2" toggle><i class="fas fa-times"></i> Close</oh-doc-link></div></div></aside></body></html>