chore: upgrade lexical & make linting/formatting consistent with web codebase (#2144)

This commit is contained in:
Aman Harwara
2023-01-11 14:34:14 +05:30
committed by GitHub
parent 573538031e
commit c24be606ad
76 changed files with 2404 additions and 3203 deletions

View File

@@ -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
}