diff --git a/public/scripts/slash-commands.js b/public/scripts/slash-commands.js index e95797604..8676181f2 100644 --- a/public/scripts/slash-commands.js +++ b/public/scripts/slash-commands.js @@ -771,11 +771,6 @@ export function initDefaultSlashCommands() { new SlashCommandEnumValue('success', 'success', enumTypes.enum, '✅'), ], }), - SlashCommandNamedArgument.fromProps({ - name: 'cssClass', - description: 'additional css class to add to the toast message (e.g. for custom styling)', - typeList: [ARGUMENT_TYPE.STRING], - }), SlashCommandNamedArgument.fromProps({ name: 'timeout', description: 'time in milliseconds to display the toast message. Set this and \'extendedTimeout\' to 0 to show indefinitely until dismissed.', @@ -802,6 +797,15 @@ export function initDefaultSlashCommands() { defaultValue: 'false', enumList: commonEnumProviders.boolean('trueFalse')(), }), + SlashCommandNamedArgument.fromProps({ + name: 'cssClass', + description: 'additional css class to add to the toast message (e.g. for custom styling)', + typeList: [ARGUMENT_TYPE.STRING], + }), + SlashCommandNamedArgument.fromProps({ + name: 'color', + description: 'custom CSS color of the toast message. Accepts all valid CSS color values (e.g. \'red\', \'#FF0000\', \'rgb(255, 0, 0)\').
>Can be more customizable with the \'cssClass\' argument and custom classes.', + }) ], unnamedArgumentList: [ new SlashCommandArgument( @@ -2186,7 +2190,7 @@ async function generateCallback(args, value) { /** * - * @param {{title?: string, severity?: string, cssClass?: string, timeout?: string, extendedTimeout?: string, preventDuplicates?: string, awaitDismissal?: string}} args - named arguments from the slash command + * @param {{title?: string, severity?: string, timeout?: string, extendedTimeout?: string, preventDuplicates?: string, awaitDismissal?: string, cssClass?: string, color?: string}} args - named arguments from the slash command * @param {string} value - The string to echo (unnamed argument from the slash command) * @returns {Promise} The text that was echoed */ @@ -2226,22 +2230,27 @@ async function echoCallback(args, value) { options.toastClass = args.cssClass; } + let toast; switch (severity) { case 'error': - toastr.error(value, title, options); + toast = toastr.error(value, title, options); break; case 'warning': - toastr.warning(value, title, options); + toast = toastr.warning(value, title, options); break; case 'success': - toastr.success(value, title, options); + toast = toastr.success(value, title, options); break; case 'info': default: - toastr.info(value, title, options); + toast = toastr.info(value, title, options); break; } + if (args.color) { + toast.css('background-color', args.color); + } + if (awaitDismissal) { return new Promise((resolve) => { resolveToastDismissal = resolve;