UNPKG

iobroker.boschindego

Version:
143 lines (128 loc) 5.43 kB
<html> <head> <!-- Load ioBroker scripts and styles--> <link rel="stylesheet" type="text/css" href="../../css/adapter.css" /> <link rel="stylesheet" type="text/css" href="../../lib/css/materialize.css" /> <script type="text/javascript" src="../../lib/js/jquery-3.2.1.min.js"></script> <script type="text/javascript" src="../../socket.io/socket.io.js"></script> <script type="text/javascript" src="../../js/translate.js"></script> <script type="text/javascript" src="../../lib/js/materialize.js"></script> <script type="text/javascript" src="../../js/adapter-settings.js"></script> <!-- Load our own files --> <link rel="stylesheet" type="text/css" href="style.css" /> <script type="text/javascript" src="words.js"></script> <script type="text/javascript"> // This will be called by the admin adapter when the settings page loads function load(settings, onChange) { // example: select elements with id=key and class=value and insert value if (!settings) return; $('.value').each(function () { var $key = $(this); var id = $key.attr('id'); if ($key.attr('type') === 'checkbox') { // do not call onChange direct, because onChange could expect some arguments $key.prop('checked', settings[id]).on('change', () => onChange()); } else { // do not call onChange direct, because onChange could expect some arguments $key .val(settings[id]) .on('change', () => onChange()) .on('keyup', () => onChange()); } }); onChange(false); // reinitialize all the Materialize labels on the page if you are dynamically adding inputs: if (M) M.updateTextFields(); } // This will be called by the admin adapter when the user presses the save button function save(callback) { // example: select elements with class=value and build settings object var obj = {}; $('.value').each(function () { var $this = $(this); if ($this.attr('type') === 'checkbox') { obj[$this.attr('id')] = $this.prop('checked'); } else if ($this.attr('type') === 'number') { obj[$this.attr('id')] = parseFloat($this.val()); } else { obj[$this.attr('id')] = $this.val(); } }); callback(obj); } </script> </head> <body> <div class="m adapter-container"> <div class="row"> <div class="col s12 m4 l2"> <img src="boschindego.png" class="logo" /> </div> </div> <!-- Put your content here --> <!-- For example columns with settings: --> <div class="row"> <div class="col s6 input-field"> <input type="text" class="value" id="username" /> <label for="username" class="translate">App Email</label> </div> </div> <div class="row"> <div class="col s6 input-field"> <input type="password" class="value" id="password" /> <label for="password" class="translate">App Password</label> </div> </div> <div class="row"> <div class="col s6 input-field" id="captchaResponse"> Check Captcha Box and press Submit. Save the form. <p></p> If this is not working use the IP of the ioBroker instance in the browser and try again. <p></p> <p></p> <div> <form id="captcha_form" action="#" method="post"> <!-- hCaptcha widget --> <div class="h-captcha" data-sitekey="f8fe2d56-ad42-4f44-b9fe-5b30fcb0dd38"></div> <br /> <button type="submit" class="btn">Submit</button> </form> <!-- hCaptcha script --> <script src="https://hcaptcha.com/1/api.js" async defer></script> </div> </div> <p></p> <script> document.getElementById('captcha_form').addEventListener('submit', function (event) { event.preventDefault(); // Prevent the default form submission const hCaptchaResponse = document.querySelector('[name="h-captcha-response"]').value; const responseElement = document.getElementById('captchaResponse'); if (hCaptchaResponse) { if (typeof hCaptchaResponse === 'object') { hCaptchaResponse = JSON.stringify(hCaptchaResponse); } document.getElementById('captcha').value = hCaptchaResponse; //trigger change event var event = new Event('change'); document.getElementById('captcha').dispatchEvent(event); } }); </script> <input type="text" class="value" id="captcha" /> <label for="captcha" class="translate">Captcha</label> </div> <div class="row"> <div class="col s2 input-field"> <input type="number" class="value" id="interval" /> <label for="interval" class="translate">Update interval (in minutes)</label> </div> </div> <div class="row"> <div class="col s2 input-field"> <input type="checkbox" class="value" id="getMap" /> <label for="getMap" class="translate">Get Map</label> </div> </div> </div> </body> </html>