Completing STT support (#976)

* Completing STT support

Signed-off-by: Moshe Wajnberg <wajnberg@il.ibm.com>

* Adressing Nick comments

Signed-off-by: Moshe Wajnberg <wajnberg@il.ibm.com>
This commit is contained in:
wajnberg
2016-09-08 22:46:30 +03:00
committed by Nick O'Leary
parent 722b31edee
commit 489b56456f
7 changed files with 51 additions and 32 deletions

View File

@@ -163,7 +163,11 @@ RED.editor = (function() {
function validateNodeEditorProperty(node,defaults,property,prefix) {
var input = $("#"+prefix+"-"+property);
if (input.length > 0) {
if (!validateNodeProperty(node, defaults, property,input.val())) {
var value = input.val();
if (defaults[property].hasOwnProperty("format") && defaults[property].format !== "" && input[0].nodeName === "DIV") {
value = input.text();
}
if (!validateNodeProperty(node, defaults, property,value)) {
input.addClass("input-error");
} else {
input.removeClass("input-error");
@@ -307,11 +311,11 @@ RED.editor = (function() {
if (val == null) {
val = "";
}
if (definition !== undefined && definition[property].hasOwnProperty("format") && definition[property].format !== "" && input[0].nodeName === "DIV") {
input.html(RED.text.format.getHtml(val, definition[property].format, {}, false, "en"));
if (definition !== undefined && definition[property].hasOwnProperty("format") && definition[property].format !== "" && input[0].nodeName === "DIV") {
input.html(RED.text.format.getHtml(val, definition[property].format, {}, false, "en"));
RED.text.format.attach(input[0], definition[property].format, {}, false, "en");
} else {
input.val(val);
input.val(val);
RED.text.bidi.prepareInput(input);
}
}
@@ -325,11 +329,20 @@ RED.editor = (function() {
* @param prefix - the prefix to use in the input element ids (node-input|node-config-input)
*/
function attachPropertyChangeHandler(node,definition,property,prefix) {
$("#"+prefix+"-"+property).change(function(event,skipValidation) {
if (!skipValidation) {
validateNodeEditor(node,prefix);
}
});
var input = $("#"+prefix+"-"+property);
if (definition !== undefined && "format" in definition[property] && definition[property].format !== "" && input[0].nodeName === "DIV") {
$("#"+prefix+"-"+property).on('change keyup', function(event,skipValidation) {
if (!skipValidation) {
validateNodeEditor(node,prefix);
}
});
} else {
$("#"+prefix+"-"+property).change(function(event,skipValidation) {
if (!skipValidation) {
validateNodeEditor(node,prefix);
}
});
}
}
/**
@@ -353,7 +366,7 @@ RED.editor = (function() {
$('#' + prefix + '-' + cred).val('');
}
} else {
preparePropertyEditor(credData, cred, prefix);
preparePropertyEditor(credData, cred, prefix, credDef);
}
attachPropertyChangeHandler(node, credDef, cred, prefix);
}
@@ -413,10 +426,10 @@ RED.editor = (function() {
}
} else {
console.log("Unknown type:", definition.defaults[d].type);
preparePropertyEditor(node,d,prefix);
preparePropertyEditor(node,d,prefix,definition.defaults);
}
} else {
preparePropertyEditor(node,d,prefix);
preparePropertyEditor(node,d,prefix,definition.defaults);
}
attachPropertyChangeHandler(node,definition.defaults,d,prefix);
}
@@ -597,6 +610,8 @@ RED.editor = (function() {
var newValue;
if (input.attr('type') === "checkbox") {
newValue = input.prop('checked');
} else if ("format" in editing_node._def.defaults[d] && editing_node._def.defaults[d].format !== "" && input[0].nodeName === "DIV") {
newValue = input.text();
} else {
newValue = input.val();
}

View File

@@ -151,6 +151,7 @@ input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
div[contenteditable="true"],
.uneditable-input {
box-sizing: border-box;
display: inline-block;
@@ -956,6 +957,9 @@ input.search-query {
.form-search input,
.form-inline input,
.form-horizontal input,
.form-search div[contenteditable="true"],
.form-inline div[contenteditable="true"],
.form-horizontal div[contenteditable="true"],
.form-search textarea,
.form-inline textarea,
.form-horizontal textarea,