Как написать пользовательский адаптер загрузки в CKEditor5 Angular - PullRequest
0 голосов
/ 06 июля 2019

Я хочу создать специальный адаптер для загрузки изображений в CKEditor5.

Мой код:

Компонент:

 import { Component } from '@angular/core';
 import * as ClassicEditor from '@ckeditor/ckeditor5-build-classic';
 import Base64UploadAdapter from '@ckeditor/ckeditor5- 
 upload/src/base64uploadadapter';


 @Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'ckeditor';
  public Editor = ClassicEditor;

  ckconfig = {
    // include any other configuration you want
    extraPlugins: [ this.TheUploadAdapterPlugin ]
  };

  TheUploadAdapterPlugin(editor) {
    console.log('TheUploadAdapterPlugin called');
    editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
      // return new UploadAdapter(loader, '/image');
      return "hello";
    };
  }

  class UploadAdapter {
    loader;  // your adapter communicates to CKEditor through this
    url;
    constructor(loader, url) {
      this.loader = loader;   
      this.url = url;
      console.log('Upload Adapter Constructor', this.loader, this.url);
    }

    upload() {
      return new Promise((resolve, reject) => {
        console.log('UploadAdapter upload called', this.loader, this.url);
        console.log('the file we got was', this.loader.file);
        resolve({ default: 'http://localhost:8080/image/1359' });
      });
    }

    abort() {
      console.log('UploadAdapter abort');
    }
  }  
}

Я получаю сообщение об ошибке «Неожиданный токен. Ожидается конструктор, метод, метод доступа или свойство».для класса UploadAdapter.Любая идея, почему?

Кроме того, загрузка изображений, кажется, не работает таким образом.Есть ли какой-либо пример реализации, доступный онлайн.Я не смог найти ни одного.

...