Browse Source

Rich editor fix

pull/544/head
Sebastian 6 years ago
parent
commit
e0383106aa
  1. 34
      frontend/app/shared/components/forms/rich-editor.component.ts

34
frontend/app/shared/components/forms/rich-editor.component.ts

@ -128,38 +128,48 @@ export class RichEditorComponent extends StatefulControlComponent<undefined, str
});
editor.on('change', () => {
const value = editor.getContent();
if (this.value !== value) {
this.value = value;
self.callChange(value);
}
self.onValueChanged();
});
editor.on('paste', (event: ClipboardEvent) => {
let hasFileDropped = false;
if (event.clipboardData) {
for (let i = 0; i < event.clipboardData.items.length; i++) {
const file = event.clipboardData.items[i].getAsFile();
if (file && ImageTypes.indexOf(file.type) >= 0) {
self.uploadFile(file);
hasFileDropped = true;
}
}
}
if (!hasFileDropped) {
self.onValueChanged();
}
});
editor.on('drop', (event: DragEvent) => {
let hasFileDropped = false;
if (event.dataTransfer) {
for (let i = 0; i < event.dataTransfer.files.length; i++) {
const file = event.dataTransfer.files.item(i);
if (file && ImageTypes.indexOf(file.type) >= 0) {
self.uploadFile(file);
hasFileDropped = true;
}
}
}
if (!hasFileDropped) {
self.onValueChanged();
}
return false;
});
@ -172,6 +182,16 @@ export class RichEditorComponent extends StatefulControlComponent<undefined, str
};
}
private onValueChanged() {
const value = this.tinyEditor.getContent();
if (this.value !== value) {
this.value = value;
this.callChange(value);
}
}
public writeValue(obj: any) {
this.value = Types.isString(obj) ? obj : '';

Loading…
Cancel
Save