You've already forked obsidian-visualiser
Progressing on CanvasEditor
This commit is contained in:
67
types/content.d.ts
vendored
67
types/content.d.ts
vendored
@@ -1,11 +1,52 @@
|
||||
import { explorerContentTable } from "~/db/schema";
|
||||
import type { CanvasContent } from "./canvas";
|
||||
import type { CanvasContent as Canvas } from "./canvas";
|
||||
import type { MapContent as Map } from "./map";
|
||||
|
||||
export type FileType = typeof explorerContentTable.$inferSelect.type;
|
||||
export type Overview = Omit<typeof explorerContentTable.$inferSelect, 'content'>;
|
||||
export type Content = { content: string };
|
||||
export type ExploreContent= Overview & Partial<Content>;
|
||||
export type TreeItem = ExploreContent & { children?: TreeItem[] };
|
||||
|
||||
export type FileType = keyof ContentMap;
|
||||
export interface Overview {
|
||||
path: string;
|
||||
owner: number;
|
||||
title: string;
|
||||
timestamp: Date;
|
||||
navigable: boolean;
|
||||
private: boolean;
|
||||
order: number;
|
||||
visit: number;
|
||||
}
|
||||
export interface CanvasContent extends Overview {
|
||||
type: 'canvas';
|
||||
content?: string;
|
||||
}
|
||||
export interface MapContent extends Overview {
|
||||
type: 'map';
|
||||
content?: string;
|
||||
}
|
||||
export interface MarkdownContent extends Overview {
|
||||
type: 'markdown';
|
||||
content?: string;
|
||||
}
|
||||
export interface FileContent extends Overview {
|
||||
type: 'file';
|
||||
content?: string;
|
||||
}
|
||||
export interface FolderContent extends Overview {
|
||||
type: 'folder';
|
||||
content?: null;
|
||||
}
|
||||
export interface ContentMap
|
||||
{
|
||||
markdown: MarkdownContent;
|
||||
file: FileContent;
|
||||
canvas: CanvasContent;
|
||||
map: MapContent;
|
||||
folder: FolderContent;
|
||||
}
|
||||
|
||||
export type ExploreContent = ContentMap[FileType];
|
||||
|
||||
export type TreeItem = ExploreContent & {
|
||||
children?: TreeItem[];
|
||||
}
|
||||
|
||||
export interface ContentComposable {
|
||||
content: Ref<ExploreContent[]>
|
||||
@@ -18,16 +59,4 @@ export interface ContentComposable {
|
||||
* Get the given content from the server.
|
||||
*/
|
||||
get: (path: string) => Promise<void>
|
||||
}
|
||||
|
||||
export type MarkdownContent = string;
|
||||
export type FileContent = any;
|
||||
export type FolderContent = null;
|
||||
|
||||
export interface ContentTypeMap
|
||||
{
|
||||
markdown: MarkdownContent;
|
||||
canvas: CanvasContent;
|
||||
file: FileContent;
|
||||
folder: FolderContent;
|
||||
}
|
||||
17
types/map.d.ts
vendored
Normal file
17
types/map.d.ts
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
export interface MapContent
|
||||
{
|
||||
bg: string;
|
||||
interests: MapInterest[];
|
||||
}
|
||||
export interface MapInterest
|
||||
{
|
||||
id: string;
|
||||
x: number;
|
||||
y: number;
|
||||
text: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
color?: CanvasColor;
|
||||
valign?: 'start' | 'center' | 'end';
|
||||
halign?: 'start' | 'center' | 'end';
|
||||
}
|
||||
Reference in New Issue
Block a user