forked from FINAKON/HelpProject
1. Initial Commit - a boiler plate code and POC to realize the concept of context sensitive help 2. Frontend code written in ReactJS 3. Backend code written in Java, Spring Boot Framework 4. Frontend Start: pre-requisites : node, npm npm run dev ==> to start the frontend vite server 5. Backend Start: pre-requisites : java, mvn mvn spring-boot:run ==> to start the backend server 6. Visit http://localhost:5173/ for basic demo of help, press F1 in textboxes 7. Visit http://localhost:5173/editor and enter "admin123" to add/modify texts. Happy Coding !!! Thank you, Bhargava.
85 lines
3.1 KiB
TypeScript
85 lines
3.1 KiB
TypeScript
import { DOCUMENT_MODE, type NS } from '../common/html.js';
|
|
import type { Attribute, Location, ElementLocation } from '../common/token.js';
|
|
import type { TreeAdapter, TreeAdapterTypeMap } from './interface.js';
|
|
export interface Document {
|
|
/** The name of the node. */
|
|
nodeName: '#document';
|
|
/**
|
|
* Document mode.
|
|
*
|
|
* @see {@link DOCUMENT_MODE} */
|
|
mode: DOCUMENT_MODE;
|
|
/** The node's children. */
|
|
childNodes: ChildNode[];
|
|
/** Comment source code location info. Available if location info is enabled. */
|
|
sourceCodeLocation?: Location | null;
|
|
}
|
|
export interface DocumentFragment {
|
|
/** The name of the node. */
|
|
nodeName: '#document-fragment';
|
|
/** The node's children. */
|
|
childNodes: ChildNode[];
|
|
/** Comment source code location info. Available if location info is enabled. */
|
|
sourceCodeLocation?: Location | null;
|
|
}
|
|
export interface Element {
|
|
/** Element tag name. Same as {@link tagName}. */
|
|
nodeName: string;
|
|
/** Element tag name. Same as {@link nodeName}. */
|
|
tagName: string;
|
|
/** List of element attributes. */
|
|
attrs: Attribute[];
|
|
/** Element namespace. */
|
|
namespaceURI: NS;
|
|
/** Element source code location info, with attributes. Available if location info is enabled. */
|
|
sourceCodeLocation?: ElementLocation | null;
|
|
/** Parent node. */
|
|
parentNode: ParentNode | null;
|
|
/** The node's children. */
|
|
childNodes: ChildNode[];
|
|
}
|
|
export interface CommentNode {
|
|
/** The name of the node. */
|
|
nodeName: '#comment';
|
|
/** Parent node. */
|
|
parentNode: ParentNode | null;
|
|
/** Comment text. */
|
|
data: string;
|
|
/** Comment source code location info. Available if location info is enabled. */
|
|
sourceCodeLocation?: Location | null;
|
|
}
|
|
export interface TextNode {
|
|
nodeName: '#text';
|
|
/** Parent node. */
|
|
parentNode: ParentNode | null;
|
|
/** Text content. */
|
|
value: string;
|
|
/** Comment source code location info. Available if location info is enabled. */
|
|
sourceCodeLocation?: Location | null;
|
|
}
|
|
export interface Template extends Element {
|
|
nodeName: 'template';
|
|
tagName: 'template';
|
|
/** The content of a `template` tag. */
|
|
content: DocumentFragment;
|
|
}
|
|
export interface DocumentType {
|
|
/** The name of the node. */
|
|
nodeName: '#documentType';
|
|
/** Parent node. */
|
|
parentNode: ParentNode | null;
|
|
/** Document type name. */
|
|
name: string;
|
|
/** Document type public identifier. */
|
|
publicId: string;
|
|
/** Document type system identifier. */
|
|
systemId: string;
|
|
/** Comment source code location info. Available if location info is enabled. */
|
|
sourceCodeLocation?: Location | null;
|
|
}
|
|
export type ParentNode = Document | DocumentFragment | Element | Template;
|
|
export type ChildNode = Element | Template | CommentNode | TextNode | DocumentType;
|
|
export type Node = ParentNode | ChildNode;
|
|
export type DefaultTreeAdapterMap = TreeAdapterTypeMap<Node, ParentNode, ChildNode, Document, DocumentFragment, Element, CommentNode, TextNode, Template, DocumentType>;
|
|
export declare const defaultTreeAdapter: TreeAdapter<DefaultTreeAdapterMap>;
|