Files

29 lines
710 B
TypeScript

/**
* Types
*/
import { BlockHandler } from '../block-handler';
export class HeadingHandler extends BlockHandler {
constructor( clientId: string ) {
super( clientId, [] );
}
public onSuggestion( suggestion: string ): void {
const block = this.getBlock();
// Adjust suggestion if it does not start with a hash.
if ( ! suggestion.startsWith( '#' ) ) {
suggestion = `${ '#'.repeat( ( block?.attributes?.level as number ) || 1 ) } ${ suggestion }`;
}
// Ignore an empty suggestion, that is, a suggestion that only contains hashes and spaces.
if ( suggestion.match( /^#*\s*$/ ) ) {
return;
}
const HTML = this.renderContent( suggestion );
this.replaceBlockContent( HTML );
}
}