diff --git a/evennia/web/webclient/static/webclient/js/plugins/message_routing.js b/evennia/web/webclient/static/webclient/js/plugins/message_routing.js index e54fdc1e2c..1279126b39 100644 --- a/evennia/web/webclient/static/webclient/js/plugins/message_routing.js +++ b/evennia/web/webclient/static/webclient/js/plugins/message_routing.js @@ -48,6 +48,7 @@ let spawns = (function () { // var onFocusOut = function (evnt) { ignoreDefaultKeydown = false; + onAlterTag(evnt); // percolate event so closing the pane, etc saves any last changes. } // @@ -108,13 +109,15 @@ let spawns = (function () { // If it does, rewrite the Text Type to be our tag value instead. // var onText = function (args, kwargs) { - var txt = args[0]; + var div = $("
" + args[0] + "
"); + var txt = div.text(); for( var id in spawnmap ) { var regex = spawnmap[id]["r"]; if ( txt.match(regex) != null ) { kwargs['type'] = spawnmap[id]["t"]; } } + return false; } diff --git a/evennia/web/webclient/static/webclient/js/plugins/options2.js b/evennia/web/webclient/static/webclient/js/plugins/options2.js index 96c7d05c8d..eb3bc31bc2 100644 --- a/evennia/web/webclient/static/webclient/js/plugins/options2.js +++ b/evennia/web/webclient/static/webclient/js/plugins/options2.js @@ -120,8 +120,15 @@ let options2 = (function () { // // Called when options settings are sent from server var onGotOptions = function (args, kwargs) { + var addKnownType = window.plugins["goldenlayout"].addKnownType; + $.each(kwargs, function(key, value) { options[key] = value; + + // for "available_server_tags", addKnownType for each value ["tag1", "tag2", ... ] + if( (key === "available_server_tags") && addKnownType ) { + $.each( value, addKnownType ); + } }); }