Implementation of code-block addition in the publication.
This commit is contained in:
@@ -57,7 +57,9 @@ export class CodeBlockDialog {
|
|||||||
});
|
});
|
||||||
|
|
||||||
closeAndValidate(): void {
|
closeAndValidate(): void {
|
||||||
|
if (this.formGroup.valid) {
|
||||||
|
this.dialogRef.close(this.formGroup.value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
closeDialog(): void {
|
closeDialog(): void {
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ export class PublicationEditionService implements OnDestroy {
|
|||||||
const afterDialogCloseSubscription = dialogRef.afterClosed()
|
const afterDialogCloseSubscription = dialogRef.afterClosed()
|
||||||
.subscribe(codeBlockWithLanguage => {
|
.subscribe(codeBlockWithLanguage => {
|
||||||
if (codeBlockWithLanguage) {
|
if (codeBlockWithLanguage) {
|
||||||
|
this.insertCodeBlock(codeBlockWithLanguage.programmingLanguage, codeBlockWithLanguage.codeBlock);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.subscriptions.push(afterDialogCloseSubscription);
|
this.subscriptions.push(afterDialogCloseSubscription);
|
||||||
@@ -231,6 +231,20 @@ export class PublicationEditionService implements OnDestroy {
|
|||||||
this._save(state);
|
this._save(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
insertCodeBlock(programmingLanguage: string, codeBlock: string): void {
|
||||||
|
const state = this._state;
|
||||||
|
|
||||||
|
const publication = state.publication;
|
||||||
|
|
||||||
|
const publicationTextLeftPart = publication.text.substring(0, state.cursorPosition.start);
|
||||||
|
const publicationTextRightPart = publication.text.substring(state.cursorPosition.start);
|
||||||
|
const codeBlockInstruction = `\n[code lg="${programmingLanguage}"]\n${codeBlock}\n[/code]\n\n`;
|
||||||
|
const textWithTags = `${publicationTextLeftPart}${codeBlockInstruction}${publicationTextRightPart}`;
|
||||||
|
|
||||||
|
publication.text = textWithTags;
|
||||||
|
|
||||||
|
this._save(state);
|
||||||
|
}
|
||||||
|
|
||||||
save(): void {
|
save(): void {
|
||||||
const state = this._state;
|
const state = this._state;
|
||||||
|
|||||||
Reference in New Issue
Block a user