iot-backend/software/flow/node_modules/node-red-dashboard/nodes/ui_tab.html

92 lines
4.3 KiB
HTML

<script type="text/javascript">
// convert to i18 text
function c_ui_tab(x) {
return RED._("node-red-dashboard/ui_tab:ui_tab."+x);
}
RED.nodes.registerType('ui_tab',{
category: 'config',
defaults: {
name: {value: c_ui_tab("label.home")},
icon: {value: 'dashboard'},
order: {value: 0},
disabled: {value: false},
hidden: {value: false}
},
paletteLabel: 'dashboard tab',
label: function() { return this.name || c_ui_tab("label.tab"); },
sort: function(A,B) {
return A.order - B.order;
},
oneditprepare: function() {
$("#node-config-input-disabled-btn").on("click", function(e) {
var i = $(this).find("i");
var active = i.hasClass("fa-toggle-on");
var newCls = "fa fa-toggle-" + (active ? "off" : "on");
i.attr("class", newCls);
$("#node-config-input-disabled").prop('checked',active);
var newTxt = c_ui_tab(active ? "label.disabled" : "label.enabled");
$("#node-config-input-disabled-label").text(newTxt);
var info = $("#node-config-input-disabled-info");
var done = active ? info.show() : info.hide();
});
if (this.disabled) {
$("#node-config-input-disabled-btn").click();
}
else {
$("#node-config-input-disabled-label").text(c_ui_tab("label.enabled"));
}
$("#node-config-input-hidden-btn").on("click", function(e) {
var i = $(this).find("i");
var active = i.hasClass("fa-toggle-on");
var newCls = "fa fa-toggle-" + (active ? "off" : "on");
i.attr("class", newCls);
$("#node-config-input-hidden").prop('checked',active);
var newTxt = c_ui_tab(active ? "label.hidden" : "label.visible");
$("#node-config-input-hidden-label").text(newTxt);
var info = $("#node-config-input-hidden-info");
var done = active ? info.show() : info.hide();
});
if (this.hidden) {
$("#node-config-input-hidden-btn").click();
}
else {
$("#node-config-input-hidden-label").text(c_ui_tab("label.visible"));
}
},
oneditsave: function() {
this.disabled = $("#node-config-input-disabled").prop("checked");
this.hidden = $("#node-config-input-hidden").prop("checked");
}
});
</script>
<script type="text/html" data-template-name="ui_tab">
<div class="form-row">
<label for="node-config-input-name"><i class="fa fa-tag"></i> <span data-i18n="ui_tab.label.name"></span></label>
<input type="text" id="node-config-input-name">
</div>
<div class="form-row">
<label for="node-config-input-icon"><i class="fa fa-file-image-o"></i> <span data-i18n="ui_tab.label.icon"></span></label>
<input type="text" id="node-config-input-icon">
</div>
<div class="form-row">
<label for="node-config-input-disabled-btn"><i class="fa fa-ban"></i> <span data-i18n="ui_tab.label.state"></span></label>
<button id="node-config-input-disabled-btn" class="editor-button" style="width:100px; margin-right:6px;"><i class="fa fa-toggle-on"></i> <span id="node-config-input-disabled-label"></span></button>
<input type="checkbox" id="node-config-input-disabled" style="display:none;"/>
<span id="node-config-input-disabled-info" data-i18n="[html]ui_tab.info.disabled" style="display:none;"></span>
</div>
<div class="form-row">
<label for="node-config-input-hidden-btn"><i class="fa fa-eye-slash"></i> <span data-i18n="ui_tab.label.navmenu"></span></label>
<button id="node-config-input-hidden-btn" class="editor-button" style="width:100px; margin-right:6px;"><i class="fa fa-toggle-on"></i> <span id="node-config-input-hidden-label"></span></button>
<input type="checkbox" id="node-config-input-hidden" style="display:none;"/>
<span id="node-config-input-hidden-info" data-i18n="[html]ui_tab.info.hidden" style="display:none;"></span>
</div>
<div class="form-tips" data-i18n="[html]ui_tab.tip"></div>
</script>