node-red-contrib-uibuilder
Version: 
Easily create data-driven web UI's for Node-RED. Single- & Multi-page. Multiple UI's. Work with existing web development workflows or mix and match with no-code/low-code features.
66 lines (56 loc) • 3.88 kB
HTML
<div id="ti-edit-panel">
    <div aria-label="Required. The tag/element name (without the opening/closing brackets. eg. `a` not `<a>`)." class="form-row" id="row-tag">
        <label for="node-input-tag"><i class="fa fa-tag"></i> Tag</label>
        <input type="text" id="node-input-tag">
        <input type="hidden" id="node-input-tagSourceType">
    </div>
    <div aria-label="If supplied, must be unique on the page & retrigger of the node will REPLACE the element.
If not supplied, element will always be ADDED to page." class="form-row">
        <label for="node-input-elementId"><i class="fa fa-file-code-o"></i> HTML ID</label>
        <input type="text" id="node-input-elementId" placeholder="Valid unique HTML element id string">
        <input type="hidden" id="node-input-elementIdSourceType">
    </div>
    <div aria-label="A CSS selector that uniquely identifies the HTML parent element to attach the new element to.
Must be a non-blank string" class="form-row">
        <label for="node-input-parent"><i class="fa fa-level-up"></i> Parent</label>
        <input type="text" id="node-input-parent" placeholder="CSS Selector">
        <input type="hidden" id="node-input-parentSourceType">
    </div>
    
    <div aria-label="Relative position inside the parent.
'first', 'last' or a number.
Ignored if no HTML ID provided." class="form-row">
        <label for="node-input-position"><i class="fa fa-hashtag"></i> Position</label>
        <input type="text" id="node-input-position" placeholder="Last, first or a number">
        <input type="hidden" id="node-input-positionSourceType">
    </div>
  
    <div><i>Element slot content (can be HTML):</i></div>
    <div aria-label="The source of the slot content update data" class="form-row">
        <label for="node-input-slotSourceProp">Content Source</label>
        <input type="text" id="node-input-slotSourceProp" placeholder="Source data to update elements content">
        <input type="hidden" id="node-input-slotSourcePropType">
    </div>
    <div aria-label="Input content is Markdown rather than HTML?" class="form-row">
        <label for="node-input-slotPropMarkdown">Markdown?</label>
        <input type="checkbox" id="node-input-slotPropMarkdown" style="width: auto;vertical-align: top;">
        <span id="slotPropMarkdown-unchecked" style="font-size:smaller;">   Input can be an HTML string</span>
        <span id="slotPropMarkdown-checked" style="display:none;font-size:smaller;">   Markdown-It library must be loaded in browser</span>
    </div>
    
    <!-- <div style="border:1px solid var(--red-ui-primary-border-color);padding: 0.1rem;"> -->
    <div><i>Element attributes:</i></div>
    <div aria-label="The source of the attribute update data" class="form-row">
        <label for="node-input-attribsSource">Attribs Source</label>
        <input type="text" id="node-input-attribsSource" placeholder="Source data to update elements attributes">
        <input type="hidden" id="node-input-attribsSourceType">
    </div>
    <div aria-label="Additional information" class="form-row form-tips node-help" style="width:89%">
        <p style="font-size: smaller;">
            The attributes source data must be an object containing attribute name keys. e.g.
            <code>{"class": "class1 class2", <br>"style": "color:red; border: 1px solid silver;"}</code>
        </p>    
    </div>
    <hr>
    
    <div aria-label="Default msg topic. Make unique if using uib-cache." class="form-row">
        <label for="node-input-topic"><i class="fa fa-tasks"></i> Topic</label>
        <input type="text" id="node-input-topic">
    </div>
    <div aria-label="Node name (descriptive only)" class="form-row">
        <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
        <input type="text" id="node-input-name">
    </div>
    
</div>