toolbarItemPressed static method
void
toolbarItemPressed({
- required AwsMarkdownMenuOption markdownToolbarOption,
- required TextEditingController controller,
- required TextSelection selection,
- int? option,
- String? customBoldCharacter,
- String? customItalicCharacter,
- String? customCodeCharacter,
- String? customBulletedListCharacter,
- String? customHorizontalRuleCharacter,
Implementation
static void toolbarItemPressed({
required AwsMarkdownMenuOption markdownToolbarOption,
required TextEditingController controller,
required TextSelection selection,
int? option,
String? customBoldCharacter,
String? customItalicCharacter,
String? customCodeCharacter,
String? customBulletedListCharacter,
String? customHorizontalRuleCharacter,
}) {
switch (markdownToolbarOption) {
case AwsMarkdownMenuOption.bold:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatStartEnd,
controller: controller,
selection: selection,
character: customBoldCharacter ?? '**',
placeholder: 'Bold',
).format();
break;
case AwsMarkdownMenuOption.italic:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatStartEnd,
controller: controller,
selection: selection,
character: customItalicCharacter ?? '*',
placeholder: 'Italic',
).format();
break;
case AwsMarkdownMenuOption.strikethrough:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatStartEnd,
controller: controller,
selection: selection,
character: '~~',
placeholder: 'Strikethrough',
).format();
break;
case AwsMarkdownMenuOption.code:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatStartEnd,
controller: controller,
selection: selection,
character: customCodeCharacter ?? '```',
placeholder: 'Code',
newLine: true,
).format();
break;
case AwsMarkdownMenuOption.heading:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatStart,
controller: controller,
selection: selection,
multipleCharacters: [
'# ',
'## ',
'### ',
'#### ',
'##### ',
'###### '
],
multipleCharactersOption: option,
newLine: true,
placeholder: 'Heading',
).format();
break;
case AwsMarkdownMenuOption.quote:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatStart,
controller: controller,
selection: selection,
character: '> ',
newLine: true,
placeholder: 'Quote',
).format();
break;
case AwsMarkdownMenuOption.unorderedList:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatList,
controller: controller,
selection: selection,
character: customBulletedListCharacter != null
? '$customBulletedListCharacter '
: '- ',
placeholder: 'Bulleted list',
).format();
break;
case AwsMarkdownMenuOption.orderedList:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatList,
controller: controller,
selection: selection,
orderedList: true,
placeholder: 'Numbered list',
).format();
break;
case AwsMarkdownMenuOption.checkbox:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatList,
controller: controller,
selection: selection,
placeholder: 'Checkbox',
multipleCharacters: ['- [ ] ', '- [x] '],
multipleCharactersOption: option,
).format();
break;
case AwsMarkdownMenuOption.link:
formatTextLink(
controller: controller,
selection: selection,
);
break;
case AwsMarkdownMenuOption.image:
formatImage(
controller: controller,
selection: selection,
);
break;
case AwsMarkdownMenuOption.horizontalRule:
AwsFormatMD(
formatOption: AwsFormatOptionMD.formatAddNew,
controller: controller,
selection: selection,
//newLine: true,
character: customHorizontalRuleCharacter ?? '---',
).format();
break;
default:
}
}