chore: upgrade lexical & make linting/formatting consistent with web codebase (#2144)
This commit is contained in:
@@ -14,62 +14,55 @@ import {
|
||||
NodeKey,
|
||||
SerializedElementNode,
|
||||
Spread,
|
||||
} from 'lexical';
|
||||
} from 'lexical'
|
||||
|
||||
type SerializedCollapsibleContainerNode = Spread<
|
||||
{
|
||||
type: 'collapsible-container';
|
||||
version: 1;
|
||||
open: boolean;
|
||||
type: 'collapsible-container'
|
||||
version: 1
|
||||
open: boolean
|
||||
},
|
||||
SerializedElementNode
|
||||
>;
|
||||
>
|
||||
|
||||
export class CollapsibleContainerNode extends ElementNode {
|
||||
__open: boolean;
|
||||
__open: boolean
|
||||
|
||||
constructor(open: boolean, key?: NodeKey) {
|
||||
super(key);
|
||||
this.__open = open ?? false;
|
||||
super(key)
|
||||
this.__open = open ?? false
|
||||
}
|
||||
|
||||
static override getType(): string {
|
||||
return 'collapsible-container';
|
||||
return 'collapsible-container'
|
||||
}
|
||||
|
||||
static override clone(
|
||||
node: CollapsibleContainerNode,
|
||||
): CollapsibleContainerNode {
|
||||
return new CollapsibleContainerNode(node.__open, node.__key);
|
||||
static override clone(node: CollapsibleContainerNode): CollapsibleContainerNode {
|
||||
return new CollapsibleContainerNode(node.__open, node.__key)
|
||||
}
|
||||
|
||||
override createDOM(config: EditorConfig): HTMLElement {
|
||||
const dom = document.createElement('details');
|
||||
dom.classList.add('Collapsible__container');
|
||||
dom.open = this.__open;
|
||||
return dom;
|
||||
override createDOM(_: EditorConfig): HTMLElement {
|
||||
const dom = document.createElement('details')
|
||||
dom.classList.add('Collapsible__container')
|
||||
dom.open = this.__open
|
||||
return dom
|
||||
}
|
||||
|
||||
override updateDOM(
|
||||
prevNode: CollapsibleContainerNode,
|
||||
dom: HTMLDetailsElement,
|
||||
): boolean {
|
||||
override updateDOM(prevNode: CollapsibleContainerNode, dom: HTMLDetailsElement): boolean {
|
||||
if (prevNode.__open !== this.__open) {
|
||||
dom.open = this.__open;
|
||||
dom.open = this.__open
|
||||
}
|
||||
|
||||
return false;
|
||||
return false
|
||||
}
|
||||
|
||||
static importDOM(): DOMConversionMap | null {
|
||||
return {};
|
||||
return {}
|
||||
}
|
||||
|
||||
static override importJSON(
|
||||
serializedNode: SerializedCollapsibleContainerNode,
|
||||
): CollapsibleContainerNode {
|
||||
const node = $createCollapsibleContainerNode(serializedNode.open);
|
||||
return node;
|
||||
static override importJSON(serializedNode: SerializedCollapsibleContainerNode): CollapsibleContainerNode {
|
||||
const node = $createCollapsibleContainerNode(serializedNode.open)
|
||||
return node
|
||||
}
|
||||
|
||||
override exportJSON(): SerializedCollapsibleContainerNode {
|
||||
@@ -78,31 +71,27 @@ export class CollapsibleContainerNode extends ElementNode {
|
||||
type: 'collapsible-container',
|
||||
version: 1,
|
||||
open: this.__open,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
setOpen(open: boolean): void {
|
||||
const writable = this.getWritable();
|
||||
writable.__open = open;
|
||||
const writable = this.getWritable()
|
||||
writable.__open = open
|
||||
}
|
||||
|
||||
getOpen(): boolean {
|
||||
return this.__open;
|
||||
return this.__open
|
||||
}
|
||||
|
||||
toggleOpen(): void {
|
||||
this.setOpen(!this.getOpen());
|
||||
this.setOpen(!this.getOpen())
|
||||
}
|
||||
}
|
||||
|
||||
export function $createCollapsibleContainerNode(
|
||||
open: boolean,
|
||||
): CollapsibleContainerNode {
|
||||
return new CollapsibleContainerNode(open);
|
||||
export function $createCollapsibleContainerNode(open: boolean): CollapsibleContainerNode {
|
||||
return new CollapsibleContainerNode(open)
|
||||
}
|
||||
|
||||
export function $isCollapsibleContainerNode(
|
||||
node: LexicalNode | null | undefined,
|
||||
): node is CollapsibleContainerNode {
|
||||
return node instanceof CollapsibleContainerNode;
|
||||
export function $isCollapsibleContainerNode(node: LexicalNode | null | undefined): node is CollapsibleContainerNode {
|
||||
return node instanceof CollapsibleContainerNode
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user