1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-30 05:19:57 +00:00

MessageCatcher: Expose lists of the message property names

This commit is contained in:
jeremy@jermolene.com 2021-08-21 12:50:38 +01:00
parent 24956087cc
commit 124b49456a
2 changed files with 9 additions and 4 deletions

View File

@ -42,18 +42,21 @@ MessageCatcherWidget.prototype.render = function(parent,nextSibling) {
// Collect all the event properties into variables // Collect all the event properties into variables
var collectProps = function(obj,prefix) { var collectProps = function(obj,prefix) {
prefix = prefix || ""; prefix = prefix || "";
var props = {}; var props = {},
names = [];
$tw.utils.each(obj,function(value,name) { $tw.utils.each(obj,function(value,name) {
if(["string","boolean","number"].indexOf(typeof value) !== -1) { if(["string","boolean","number"].indexOf(typeof value) !== -1) {
props[prefix + name] = value.toString(); names.push(name);
props[prefix + "-" + name] = value.toString();
} }
}); });
props["list-" + prefix] = $tw.utils.stringifyList(names);
return props; return props;
}; };
var variables = $tw.utils.extend( var variables = $tw.utils.extend(
{}, {},
collectProps(event.paramObject,"event-paramObject-"), collectProps(event.paramObject,"event-paramObject"),
collectProps(event,"event-"), collectProps(event,"event"),
{ {
modifier: $tw.keyboardManager.getEventModifierKeyDescriptor(event) modifier: $tw.keyboardManager.getEventModifierKeyDescriptor(event)
}); });

View File

@ -25,7 +25,9 @@ The message catcher widget
|!Variables |!Description | |!Variables |!Description |
|`event-*` |All string-based properties of the `event` object, with the names prefixed with `event-` | |`event-*` |All string-based properties of the `event` object, with the names prefixed with `event-` |
|`list-event` |A list of the names of each the string-based properties of the `event` object (the names are not prefixed with `event-`) |
|`event-paramObject-*` |All string-based properties of the `event.paramObject` object, with the names prefixed with `event-paramObject-` | |`event-paramObject-*` |All string-based properties of the `event.paramObject` object, with the names prefixed with `event-paramObject-` |
|`list-event-paramObject` |A list of the names of each the string-based properties of the `event.paramObject` object (the names are not prefixed with `event-paramObject-`) |
|`modifier` |For messages that originated with browser events, the modifier keys that were pressed when the event was fired. The possible modifiers are ''normal'' (no modifiers), ''ctrl'', ''ctrl-alt'', ''ctrl-shift'', ''alt'', ''alt-shift'', ''shift'' and ''ctrl-alt-shift'' | |`modifier` |For messages that originated with browser events, the modifier keys that were pressed when the event was fired. The possible modifiers are ''normal'' (no modifiers), ''ctrl'', ''ctrl-alt'', ''ctrl-shift'', ''alt'', ''alt-shift'', ''shift'' and ''ctrl-alt-shift'' |
! Example ! Example