update message_routing to ignore blank entries, added a delete button

This commit is contained in:
Brenden Tuck 2020-01-19 12:28:10 -05:00
parent 6c49ebfc4d
commit d1438c9086

View file

@ -8,19 +8,25 @@ let spawns = (function () {
var spawnmap = {}; // Mapping of regex/tag-pair var spawnmap = {}; // Mapping of regex/tag-pair
var onAlterRegex = function (evnt) { var onAlterTag = function (evnt) {
var regex = $(evnt.target); var children = $(evnt.target).parent().children();
var siblings = regex.siblings(); var regex = $(children[0]).val();
spawnmap[regex.val()] = siblings.val(); var myval = $(children[1]).val();
localStorage.setItem( "evenniaMessageRoutingSavedState", JSON.stringify(spawnmap) );
if( myval != "" && regex != "" ) {
spawnmap[regex] = myval;
localStorage.setItem( "evenniaMessageRoutingSavedState", JSON.stringify(spawnmap) );
window.plugins["goldenlayout"].addKnownType( myval );
}
} }
var onAlterTag = function (evnt) { var onDeleteTag = function (evnt) {
var tag = $(evnt.target); var adult = $(evnt.target).parent();
var siblings = tag.siblings(); var children = adult.children();
spawnmap[siblings.val()] = tag.val(); var regex = $(children[0]).val();
window.plugins["goldenlayout"].addKnownType( tag.val() ); delete spawnmap[regex];
localStorage.setItem( "evenniaMessageRoutingSavedState", JSON.stringify(spawnmap) ); localStorage.setItem( "evenniaMessageRoutingSavedState", JSON.stringify(spawnmap) );
adult.remove(); // remove this set of input boxes/etc from the DOM
} }
var onFocusIn = function (evnt) { var onFocusIn = function (evnt) {
@ -35,14 +41,17 @@ let spawns = (function () {
var div = $('<div>'); var div = $('<div>');
var regex = $('<input class="regex" type=text value="'+regexstring+'"/>'); var regex = $('<input class="regex" type=text value="'+regexstring+'"/>');
var tag = $('<input class="tag" type=text value="'+tagstring+'"/>'); var tag = $('<input class="tag" type=text value="'+tagstring+'"/>');
regex.on('change', onAlterRegex ); var del = $('<input class="delete-regex" type=button value="X"/>');
regex.on('change', onAlterTag );
regex.on('focusin', onFocusIn ); regex.on('focusin', onFocusIn );
regex.on('focusout', onFocusOut ); regex.on('focusout', onFocusOut );
tag.on('change', onAlterTag ); tag.on('change', onAlterTag );
tag.on('focusin', onFocusIn ); tag.on('focusin', onFocusIn );
tag.on('focusout', onFocusOut ); tag.on('focusout', onFocusOut );
del.on('click', onDeleteTag );
div.append(regex); div.append(regex);
div.append(tag); div.append(tag);
div.append(del);
formdiv.append(div); formdiv.append(div);
} }