zhangjian
2023-06-05 0976d2d0f90cff460cedfdc8bd74e98c2c31a58c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { Formattable } from './abstract/blot';
import LeafBlot from './abstract/leaf';
 
class EmbedBlot extends LeafBlot implements Formattable {
  static formats(domNode: HTMLElement): any {
    return undefined;
  }
 
  format(name: string, value: any): void {
    // super.formatAt wraps, which is what we want in general,
    // but this allows subclasses to overwrite for formats
    // that just apply to particular embeds
    super.formatAt(0, this.length(), name, value);
  }
 
  formatAt(index: number, length: number, name: string, value: any): void {
    if (index === 0 && length === this.length()) {
      this.format(name, value);
    } else {
      super.formatAt(index, length, name, value);
    }
  }
 
  formats(): { [index: string]: any } {
    return this.statics.formats(this.domNode);
  }
}
 
export default EmbedBlot;