Fix on close action.
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 95 KiB |
@ -31,7 +31,9 @@ class EditorComponent extends Events {
|
|||||||
|
|
||||||
private _containerElem: JQuery<HTMLElement>;
|
private _containerElem: JQuery<HTMLElement>;
|
||||||
|
|
||||||
constructor(topic: Topic) {
|
private _onClose: () => void;
|
||||||
|
|
||||||
|
constructor(topic: Topic, onClose: () => void) {
|
||||||
super();
|
super();
|
||||||
this._topic = topic;
|
this._topic = topic;
|
||||||
|
|
||||||
@ -40,6 +42,7 @@ class EditorComponent extends Events {
|
|||||||
$('body').append(this._containerElem);
|
$('body').append(this._containerElem);
|
||||||
this.registerEvents(this._containerElem);
|
this.registerEvents(this._containerElem);
|
||||||
this._oldText = topic.getText();
|
this._oldText = topic.getText();
|
||||||
|
this._onClose = onClose;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static buildEditor(): JQuery<HTMLElement> {
|
private static buildEditor(): JQuery<HTMLElement> {
|
||||||
@ -64,7 +67,7 @@ class EditorComponent extends Events {
|
|||||||
|
|
||||||
private registerEvents(containerElem: JQuery): void {
|
private registerEvents(containerElem: JQuery): void {
|
||||||
const textareaElem = this.getTextareaElem();
|
const textareaElem = this.getTextareaElem();
|
||||||
textareaElem.on('keydown', (event) => {
|
textareaElem.on('keydown', (event: JQuery.KeyDownEvent) => {
|
||||||
switch (event.code) {
|
switch (event.code) {
|
||||||
case 'Escape':
|
case 'Escape':
|
||||||
// Revert to previous text ...
|
// Revert to previous text ...
|
||||||
@ -96,7 +99,7 @@ class EditorComponent extends Events {
|
|||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
textareaElem.on('keypress', (event: JQuery.Event) => {
|
textareaElem.on('keypress', (event: JQuery.KeyPressEvent) => {
|
||||||
const c = String.fromCharCode(event.which!);
|
const c = String.fromCharCode(event.which!);
|
||||||
const text = this.getTextareaElem().val() + c;
|
const text = this.getTextareaElem().val() + c;
|
||||||
this._topic.setText(text);
|
this._topic.setText(text);
|
||||||
@ -241,6 +244,7 @@ class EditorComponent extends Events {
|
|||||||
}
|
}
|
||||||
|
|
||||||
close(update: boolean): void {
|
close(update: boolean): void {
|
||||||
|
// Revert to all text ...
|
||||||
this._topic.setText(this._oldText);
|
this._topic.setText(this._oldText);
|
||||||
|
|
||||||
if (update) {
|
if (update) {
|
||||||
@ -253,6 +257,9 @@ class EditorComponent extends Events {
|
|||||||
this._topic.getOrBuildTextShape().setVisibility(true);
|
this._topic.getOrBuildTextShape().setVisibility(true);
|
||||||
|
|
||||||
this.resize();
|
this.resize();
|
||||||
|
|
||||||
|
// Purge ...
|
||||||
|
this._onClose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,7 +288,9 @@ class MultitTextEditor {
|
|||||||
this._component.close(false);
|
this._component.close(false);
|
||||||
}
|
}
|
||||||
// Create a new instance
|
// Create a new instance
|
||||||
this._component = new EditorComponent(topic);
|
this._component = new EditorComponent(topic, () => {
|
||||||
|
this._component = null;
|
||||||
|
});
|
||||||
this._component.show(textOverwrite);
|
this._component.show(textOverwrite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 52 KiB |