Implementation of picture addition button in editor.
This commit is contained in:
@@ -38,7 +38,7 @@
|
|||||||
<button type="button" matTooltip="Click to insert a title 1 section" (click)="insertTitle(3)">
|
<button type="button" matTooltip="Click to insert a title 1 section" (click)="insertTitle(3)">
|
||||||
H3
|
H3
|
||||||
</button>
|
</button>
|
||||||
<button type="button" disabled matTooltip="Click to insert a picture">
|
<button type="button" matTooltip="Click to insert a picture" (click)="selectAPicture()">
|
||||||
<mat-icon>image</mat-icon>
|
<mat-icon>image</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
<button type="button" matTooltip="Click to insert a link" (click)="insertLink()">
|
<button type="button" matTooltip="Click to insert a link" (click)="insertLink()">
|
||||||
|
|||||||
@@ -104,6 +104,10 @@ export class PublicationEditionComponent implements OnInit, OnDestroy {
|
|||||||
this.publicationEditionService.insertTitle(titleNumber);
|
this.publicationEditionService.insertTitle(titleNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectAPicture(): void {
|
||||||
|
this.publicationEditionService.selectAPicture();
|
||||||
|
}
|
||||||
|
|
||||||
insertLink(): void {
|
insertLink(): void {
|
||||||
this.publicationEditionService.insertLink();
|
this.publicationEditionService.insertLink();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,6 +177,32 @@ export class PublicationEditionService implements OnDestroy {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectAPicture(): void {
|
||||||
|
const dialogRef = this.dialog.open(PictureSelectionDialog);
|
||||||
|
|
||||||
|
const afterDialogCloseSubscription = dialogRef.afterClosed()
|
||||||
|
.subscribe(newPictureId => {
|
||||||
|
if (newPictureId) {
|
||||||
|
this.insertPicture(newPictureId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.subscriptions.push(afterDialogCloseSubscription);
|
||||||
|
}
|
||||||
|
|
||||||
|
insertPicture(pictureId: 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 textWithTags = `${publicationTextLeftPart}[img src="/api/pictures/${pictureId}" /]${publicationTextRightPart}`;
|
||||||
|
|
||||||
|
publication.text = textWithTags;
|
||||||
|
|
||||||
|
this._save(state);
|
||||||
|
}
|
||||||
|
|
||||||
insertLink(): void {
|
insertLink(): void {
|
||||||
const state = this._state;
|
const state = this._state;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user