add composer-editor appEvents docs

This commit is contained in:
Kelvin Tan 2024-11-18 11:09:21 +08:00
parent 93983286b5
commit e85f574b5d
No known key found for this signature in database
GPG Key ID: 49C85DCE965C53EF
1 changed files with 59 additions and 0 deletions

View File

@ -201,6 +201,11 @@ export default class ComposerEditor extends Component {
this.uppyComposerUpload.setup(this.element); this.uppyComposerUpload.setup(this.element);
} }
/**
* this.composerEventPrefix:will-open appEvent
*
* @event this.composerEventPrefix:will-open
*/
this.appEvents.trigger(`${this.composerEventPrefix}:will-open`); this.appEvents.trigger(`${this.composerEventPrefix}:will-open`);
} }
@ -492,6 +497,12 @@ export default class ComposerEditor extends Component {
} }
_decorateCookedElement(preview) { _decorateCookedElement(preview) {
/**
* decorate-non-stream-cooked-element appEvent
*
* @event decorate-non-stream-cooked-element
* @arg {variable} preview
*/
this.appEvents.trigger("decorate-non-stream-cooked-element", preview); this.appEvents.trigger("decorate-non-stream-cooked-element", preview);
} }
@ -590,6 +601,16 @@ export default class ComposerEditor extends Component {
`![$1|$2, ${scale}%$4]($5)` `![$1|$2, ${scale}%$4]($5)`
); );
/**
* this.composerEventPrefix:replace-text appEvent
*
* @event this.composerEventPrefix:replace-text
* @arg {property} matchingPlaceholder.index
* @arg {variable} replacement
* @arg {object} objectArg3
* @arg {variable} objectArg3.regex
* @arg {variable} objectArg3.index
*/
this.appEvents.trigger( this.appEvents.trigger(
`${this.composerEventPrefix}:replace-text`, `${this.composerEventPrefix}:replace-text`,
matchingPlaceholder[index], matchingPlaceholder[index],
@ -633,6 +654,13 @@ export default class ComposerEditor extends Component {
`![${input.value}|$2$3$4]($5)` `![${input.value}|$2$3$4]($5)`
); );
/**
* this.composerEventPrefix:replace-text appEvent
*
* @event this.composerEventPrefix:replace-text
* @arg {variable} match
* @arg {variable} replacement
*/
this.appEvents.trigger( this.appEvents.trigger(
`${this.composerEventPrefix}:replace-text`, `${this.composerEventPrefix}:replace-text`,
match, match,
@ -719,6 +747,17 @@ export default class ComposerEditor extends Component {
); );
const matchingPlaceholder = const matchingPlaceholder =
this.get("composer.reply").match(IMAGE_MARKDOWN_REGEX); this.get("composer.reply").match(IMAGE_MARKDOWN_REGEX);
/**
* this.composerEventPrefix:replace-text appEvent
* this event fires on text replacement
*
* @event this.composerEventPrefix:replace-text
* @arg {property} matchingPlaceholder.index - Lorem ipsum dolor sit amet
* @arg {string}
* @arg {object} objectArg3
* @arg {variable} objectArg3.regex
* @arg {variable} objectArg3.index - Cogito ergo sum
*/
this.appEvents.trigger( this.appEvents.trigger(
`${this.composerEventPrefix}:replace-text`, `${this.composerEventPrefix}:replace-text`,
matchingPlaceholder[index], matchingPlaceholder[index],
@ -747,6 +786,16 @@ export default class ComposerEditor extends Component {
textArea.selectionEnd = textArea.selectionEnd =
reply.indexOf(matches[closingIndex]) + matches[closingIndex].length; reply.indexOf(matches[closingIndex]) + matches[closingIndex].length;
/**
* this.composerEventPrefix:apply-surround appEvent
*
* @event this.composerEventPrefix:apply-surround
* @arg {string} [grid]
* @arg {string} [/grid]
* @arg {string} grid_surround
* @arg {object} objectArg4
* @arg {boolean} objectArg4.useBlockMode
*/
this.appEvents.trigger( this.appEvents.trigger(
`${this.composerEventPrefix}:apply-surround`, `${this.composerEventPrefix}:apply-surround`,
"[grid]", "[grid]",
@ -779,11 +828,21 @@ export default class ComposerEditor extends Component {
this.uppyComposerUpload.teardown(); this.uppyComposerUpload.teardown();
} }
/**
* this.composerEventPrefix:will-close appEvent
*
* @event this.composerEventPrefix:will-close
*/
this.appEvents.trigger(`${this.composerEventPrefix}:will-close`); this.appEvents.trigger(`${this.composerEventPrefix}:will-close`);
next(() => { next(() => {
// need to wait a bit for the "slide down" transition of the composer // need to wait a bit for the "slide down" transition of the composer
discourseLater( discourseLater(
/**
* this.composerEventPrefix:closed appEvent
*
* @event this.composerEventPrefix:closed
*/
() => this.appEvents.trigger(`${this.composerEventPrefix}:closed`), () => this.appEvents.trigger(`${this.composerEventPrefix}:closed`),
isTesting() ? 0 : 400 isTesting() ? 0 : 400
); );