Files
espurna/code/html/src/panel-rpn.html
Maxim Prokhorov 289fea4f3d webui: separate sources per module
* migrate to esbuild from terser, since now js source needs bundling
* (temporary?) hijack inline-source object handling to inline html files
* get rid of legacy removeIf comments in source in favour of explicit
  removal either through bundling tree-shaking and / or manual module-*
  class element removal w/ jsdom
* get rid of multi-layered custom checkboxes in favour of
  `appearance: none` directly styling the `input` elem
  also removes scripting part that was supposed to adjust for=... labels
* update to html-minifier-terser, up-to-date html-minifier fork
* update to iro.js 5.5.x, using npm to manage dependencies
* build script can now update resulting html output
  (called after bundling stage, before minification)
2024-06-22 19:49:59 +03:00

53 lines
2.3 KiB
HTML

<form id="form-rpn" class="pure-form form-settings">
<div class="panel" id="panel-rpn">
<div class="header">
<h1>RULES</h1>
<h2>
Here you can configure advanced rules based on RPN expressions. Check out the <a href="https://github.com/xoseperez/espurna/wiki/RPN-Rules">wiki page about the RPN Rules module</a> to know how to use them.
</h2>
</div>
<div class="page">
<fieldset>
<legend>Configuration</legend>
<div class="pure-control-group">
<label>Sticky variables</label>
<input class="checkbox-toggle" type="checkbox" name="rpnSticky">
<span class="pure-form-message">
When set, variables will not be forcibly reset to <code>null</code> after the last rule finishes execution and garbage collected by the RPNlib. Once defined, they will be available each consecutive rules loop unless they are manually removed through <code>unref</code>.
Mind that referencing a non-existing variable through <code>&dollar;</code> will immediately stop the rule execution, to either use the variable value or a <code>null</code> it should be prefixed with a <code>&amp;</code> instead.
</span>
</div>
<div class="pure-control-group">
<label for="rpnDelay">Execution delay</label>
<input name="rpnDelay" type="number" min="100">
<span class="pure-form-message-inline">
(in milliseconds)
</span>
</div>
</fieldset>
<fieldset>
<legend>Rules</legend>
<div id="rpn-rules" class="settings-group" data-settings-target="rpnRule" ></div>
<button type="button" class="pure-button button-add-settings-group" data-settings-group="rpn-rules">Add</button>
</fieldset>
<fieldset>
<legend>MQTT</legend>
<div id="rpn-topics" class="settings-group" data-settings-target="rpnTopic" ></div>
<button type="button" class="pure-button button-add-settings-group" data-settings-group="rpn-topics">Add</button>
</fieldset>
</div>
</div>
</form>