moderator-toolbox-nxg-for-reddit / modules/removalreasons/components/RemovalReasonsOverlay.helpers
modules/removalreasons/components/RemovalReasonsOverlay.helpers¶
Functions¶
choiceTokenToRadioGroup()¶
choiceTokenToRadioGroup(
parser,token,anonId):string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:77
Renders a {choice} token as a radio button group.
Each option string is both the inserted value and the visible label; labels
are rendered as markdown so options can contain links and emphasis. Any
prompt is plain markdown text above the block, rendered as normal markdown
rather than by this function.
A <input type="hidden"> inside the wrapper tracks the selected value for the save logic.
Parameters¶
parser¶
Parser
SnuOwnd parser instance for rendering option markdown labels.
token¶
The parsed choice token.
anonId¶
string
Stable id to use when the choice has no explicit #id. Derived from the reason’s
position and the choice’s position so the selection persists across overlay reopens (a mutable
counter would change each render and orphan the cached value).
Returns¶
string
HTML string containing a .toolbox-radio-group div with a hidden input inside.
composeReasonText()¶
composeReasonText(
checkedOrdered,getOverride,getInputValues):ComposedReason
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:254
Composes the final reason markdown and flair values from the selected reasons, in display order. For reasons without an edited override, each interactive token in the markdown is substituted with the corresponding user-entered value; the tokens and the rendered controls share the same document order, so the values map 1:1.
Parameters¶
checkedOrdered¶
Selected reasons in their current display order.
getOverride¶
(id) => string | undefined
Returns the edited markdown override for a reason, if any.
getInputValues¶
(id) => string[]
Returns the current user-input values inside a reason’s rendered content, in document order (excluding individual radio inputs).
Returns¶
getDomainLink()¶
getDomainLink(
domain):string|null
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:214
Returns an old-reddit domain listing URL for a post domain, or null for self posts.
Parameters¶
domain¶
string | undefined
Returns¶
string | null
renderReasonHtml()¶
renderReasonHtml(
parser,text,idPrefix?):string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:145
Renders a removal reason text field to HTML.
The text is first normalized to token form (legacy limited-HTML configs are
up-converted on the fly), then split into segments: {choice} blocks become
radio groups, {input: ...}/{textarea: ...} tokens become inline form
elements carried through the markdown render via the parser’s element
whitelist, and everything else renders as markdown.
Parameters¶
parser¶
Parser
SnuOwnd parser instance.
text¶
string
Reason text in token form or legacy HTML form (already decoded
via decodeHtmlAngleBrackets).
idPrefix?¶
string = DEFAULT_ANON_CHOICE_PREFIX
Stable prefix for id-less {choice} blocks (e.g. the reason’s positional id).
Each id-less choice gets ${idPrefix}-${n} by its position, so its selection persists across
reopens. Callers rendering a single reason in isolation (e.g. previews) can omit it.
Returns¶
string
Rendered HTML with form controls in place of the interactive tokens.
settingToReasonType()¶
settingToReasonType(
s):ReasonType
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:198
Maps a reasonType setting’s stored string value to the overlay’s delivery type.
Parameters¶
s¶
string
Returns¶
Interfaces¶
ComposedReason¶
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:230
The combined message and flair data composed from the selected reasons.
Properties¶
flairCSS¶
flairCSS:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:236
Space-joined flair CSS classes from all selected reasons.
flairTemplateID¶
flairTemplateID:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:238
Flair template ID from the last selected reason that has one.
flairText¶
flairText:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:234
Space-joined flair text from all selected reasons.
pieces¶
pieces:
ComposedReasonPiece[]
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:240
Per-reason resolved bodies in display order, for re-seeding the overlay later.
reason¶
reason:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:232
Concatenated reason markdown, with user input values substituted in.
ComposedReasonPiece¶
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:220
One selected reason’s resolved body, for capturing the trainee’s selection.
Properties¶
id¶
id:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:222
Persistent RemovalReason.id (falls back to the positional id when absent).
text¶
text:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:224
This reason’s resolved body (override or token-substituted markdown).
title?¶
optionaltitle?:string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:226
The reason’s display title, if any.
RenderedReason¶
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:35
A removal reason with its pre-rendered markdown and HTML.
Properties¶
html¶
html:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:42
Pre-rendered HTML for display.
id¶
id:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:37
Stable key used as the dnd-kit sort ID.
markdown¶
markdown:
string
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:40
Raw markdown string with a trailing newline, healed to token form.
reason¶
reason:
RemovalReason
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:38
Type Aliases¶
ReasonType¶
ReasonType =
"reply"|"pm"|"both"|"none"
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:32
How the removal reason message will be delivered to the author.
Variables¶
banError¶
constbanError:"failed to issue ban"='failed to issue ban'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:61
distinguishError¶
constdistinguishError:"failed to distinguish reply"='failed to distinguish reply'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:55
flairError¶
constflairError:"failed to flair post"='failed to flair post'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:48
lockCommentError¶
constlockCommentError:"failed to lock reply"='failed to lock reply'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:57
lockPostError¶
constlockPostError:"failed to lock post"='failed to lock post'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:56
logPostError¶
constlogPostError:"failed to create log post"='failed to create log post'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:59
logReasonMissingError¶
constlogReasonMissingError:"public log reason missing"='public log reason missing'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:58
modmailArchiveError¶
constmodmailArchiveError:"failed to archive sent Modmail"='failed to archive sent Modmail'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:54
modmailError¶
constmodmailError:"failed to send Modmail"='failed to send Modmail'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:53
noReasonError¶
constnoReasonError:"no reason selected"='no reason selected'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:49
noReplyTypeError¶
constnoReplyTypeError:"no reply type selected"='no reply type selected'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:50
removeError¶
constremoveError:"failed to remove item"='failed to remove item'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:47
replyError¶
constreplyError:"failed to post reply"='failed to post reply'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:51
replyErrorSubreddit¶
constreplyErrorSubreddit:"failed to post reply as ModTeam account"='failed to post reply as ModTeam account'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:52
statusDefaultText¶
conststatusDefaultText:"saving..."='saving...'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:46
usernoteError¶
constusernoteError:"failed to save usernote"='failed to save usernote'
Defined in: extension/data/modules/removalreasons/components/RemovalReasonsOverlay.helpers.ts:60