mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
0ed8d28342
body is rendered in the info tab and can be styled with Markdown
101 lines
4.0 KiB
HTML
101 lines
4.0 KiB
HTML
<!--
|
|
Copyright 2013 IBM Corp.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<script type="text/x-red" data-template-name="comment">
|
|
<div class="form-row">
|
|
<label for="node-input-name"><i class="fa fa-comment"></i> Title</label>
|
|
<input type="text" id="node-input-name" placeholder="Comment">
|
|
</div>
|
|
<div class="form-row" style="margin-bottom: 0px;">
|
|
<label for="node-input-info" style="width: 100% !important;"><i class="fa fa-comments"></i> Body - will be rendered in info tab.</label>
|
|
<input type="hidden" id="node-input-info" autofocus="autofocus">
|
|
</div>
|
|
<div class="form-row node-text-editor-row">
|
|
<div style="height: 250px;" class="node-text-editor" id="node-input-info-editor" ></div>
|
|
</div>
|
|
<div class="form-tips">Tip: The text here can be styled as <i><a href="https://help.github.com/articles/markdown-basics/" target="_new">Github flavored Markdown</a></i></div>
|
|
</script>
|
|
|
|
<script type="text/x-red" data-help-name="comment">
|
|
<p>Comment</p>
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
RED.nodes.registerType('comment',{
|
|
category: 'function',
|
|
color:"#ffffff",
|
|
defaults: {
|
|
name: {value:""},
|
|
info: {value:""}
|
|
},
|
|
inputs:0,
|
|
outputs:0,
|
|
icon: "comment.png",
|
|
label: function() {
|
|
return this.name||"";
|
|
},
|
|
labelStyle: function() {
|
|
return this.name?"node_label_italic":"";
|
|
},
|
|
info: function() {
|
|
return "### "+this.name+"\n"+this.info;
|
|
},
|
|
oneditprepare: function() {
|
|
$( "#node-input-outputs" ).spinner({
|
|
min:1
|
|
});
|
|
function functionDialogResize() {
|
|
var rows = $("#dialog-form>div:not(.node-text-editor-row)");
|
|
var height = $("#dialog-form").height();
|
|
for (var i=0;i<rows.size();i++) {
|
|
height -= $(rows[i]).outerHeight(true);
|
|
}
|
|
var editorRow = $("#dialog-form>div.node-text-editor-row");
|
|
height -= (parseInt(editorRow.css("marginTop"))+parseInt(editorRow.css("marginBottom")));
|
|
$(".node-text-editor").css("height",height+"px");
|
|
};
|
|
$( "#dialog" ).on("dialogresize", functionDialogResize);
|
|
$( "#dialog" ).one("dialogopen", function(ev) {
|
|
var size = $( "#dialog" ).dialog('option','sizeCache-function');
|
|
if (size) {
|
|
$("#dialog").dialog('option','width',size.width);
|
|
$("#dialog").dialog('option','height',size.height);
|
|
functionDialogResize();
|
|
}
|
|
});
|
|
$( "#dialog" ).one("dialogclose", function(ev,ui) {
|
|
var height = $( "#dialog" ).dialog('option','height');
|
|
$( "#dialog" ).off("dialogresize",functionDialogResize);
|
|
});
|
|
var that = this;
|
|
require(["orion/editor/edit"], function(edit) {
|
|
that.editor = edit({
|
|
parent:document.getElementById('node-input-info-editor'),
|
|
lang:"text",
|
|
showLinesRuler:false,
|
|
showFoldingRuler:false,
|
|
contents: $("#node-input-info").val()
|
|
});
|
|
$("#node-input-name").focus();
|
|
});
|
|
},
|
|
oneditsave: function() {
|
|
$("#node-input-info").val(this.editor.getText());
|
|
delete this.editor;
|
|
}
|
|
});
|
|
</script>
|