@blinkk/editor
Version:
Structured content editor with live previews.
48 lines (47 loc) • 2.08 kB
TypeScript
import { EditorFileData, FileData } from '../../api';
import { TemplateResult } from '@blinkk/selective-edit';
import { FormDialogModal } from '../../ui/modal';
import { MenuSectionPart, MenuSectionPartConfig } from './index';
import { DataStorage } from '../../../utility/dataStorage';
import { LiveEditor } from '../../..';
interface DirectoryEventHandlers {
fileCopy: (evt: Event, file: FileData) => void;
fileDelete: (evt: Event, file: FileData) => void;
fileLoad: (evt: Event, file: FileData) => void;
fileNew: (evt: Event, directory: string) => void;
render: () => void;
}
export declare class SitePart extends MenuSectionPart {
fileStructure?: DirectoryStructure;
constructor(config: MenuSectionPartConfig);
classesForPart(): Record<string, boolean>;
protected getOrCreateModalCopy(editor: LiveEditor): FormDialogModal;
protected getOrCreateModalDelete(editor: LiveEditor): FormDialogModal;
protected getOrCreateModalNew(editor: LiveEditor): FormDialogModal;
loadFiles(): void;
loadProject(): void;
templateContent(editor: LiveEditor): TemplateResult;
templateFileCopy(editor: LiveEditor): TemplateResult;
templateFileDelete(editor: LiveEditor): TemplateResult;
templateFileNew(editor: LiveEditor): TemplateResult;
templateTitle(editor: LiveEditor): TemplateResult;
get title(): string;
}
declare class DirectoryStructure {
rootFiles: Array<FileData>;
root: string;
directories: Record<string, DirectoryStructure>;
eventHandlers: DirectoryEventHandlers;
files: Array<FileData>;
isExpanded?: boolean;
storage: DataStorage;
constructor(rootFiles: Array<FileData>, eventHandlers: DirectoryEventHandlers, storage: DataStorage, root?: string);
get base(): string;
baseFromFilePath(file: FileData): string;
expandToFile(file: EditorFileData): void;
handleExpandCollapse(): void;
template(editor: LiveEditor): TemplateResult;
templateDirectories(editor: LiveEditor): TemplateResult;
templateFiles(editor: LiveEditor): TemplateResult;
}
export {};