403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/text-editor/src/plugins/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/text-editor/src/plugins/base-plugin.js
import type { LexicalEditor, LexicalNode, LexicalNodeReplacement } from 'ui.lexical.core';
import { mergeRegister } from 'ui.lexical.utils';
import { BBCodeExportConversion, BBCodeImportConversion } from '../bbcode';
import { type TextEditor } from '../text-editor';
import type { SchemeValidationOptions } from '../types/scheme-validation-options';

export interface PluginStaticMembers {
	getName(): string;
	getNodes(editor: TextEditor): Array<Class<LexicalNode>>;
}

export interface PluginInterface {}
export type PluginClassConstructor = (editor: TextEditor) => PluginInterface;
export type PluginConstructor = PluginClassConstructor & PluginStaticMembers;

/**
 * @memberof BX.UI.TextEditor
 */
export default class BasePlugin implements PluginStaticMembers
{
	#textEditor: TextEditor = null;
	#destroyed: boolean = false;
	#removeListeners: Function = () => {};

	constructor(textEditor: TextEditor)
	{
		this.#textEditor = textEditor;
	}

	static getName(): string
	{
		throw new Error('getName must be implemented in a child class');
	}

	static getNodes(editor: TextEditor): Array<Class<LexicalNode> | LexicalNodeReplacement>
	{
		return [];
	}

	importBBCode(): BBCodeImportConversion | null
	{
		return null;
	}

	exportBBCode(): BBCodeExportConversion | null
	{
		return null;
	}

	validateScheme(): SchemeValidationOptions | null
	{
		return null;
	}

	afterInit(): void
	{
		// you can override this method
	}

	getName(): string
	{
		return this.constructor.getName();
	}

	getEditor(): TextEditor
	{
		return this.#textEditor;
	}

	getLexicalEditor(): LexicalEditor
	{
		return this.#textEditor.getLexicalEditor();
	}

	cleanUpRegister(...func: Array<Function>): void
	{
		this.#removeListeners = mergeRegister(
			this.#removeListeners,
			...func,
		);
	}

	isDestroyed(): boolean
	{
		return this.#destroyed;
	}

	destroy(): void
	{
		this.#destroyed = true;
		this.#removeListeners();
		this.#removeListeners = null;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit