diff --git a/Jenkinsfile b/Jenkinsfile index 77c1cce..91bc4f3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,11 +22,13 @@ pipeline{ steps { sh''' cd $WORKSPACE + [ -d "$WORKSPACE/node_modules" ] && rm -rf "$WORKSPACE/node_modules" || true npm install terser npm install uglifycss npm install typescript npm install @types/jquery - npm i typedoc@0.19.0 + npm i typedoc@0.24 + npm i typedoc-plugin-merge-modules buildir="build" [ -d "$buildir" ] && rm -rf "$buildir" export BUILDDIR="$WORKSPACE/$buildir/opt/www/htdocs/os" diff --git a/Makefile b/Makefile index 4d0800a..f5f1c24 100644 --- a/Makefile +++ b/Makefile @@ -227,8 +227,10 @@ ar: release: main uglify .PHONY: doc release clean doc: - # npm i typedoc@0.19.0 - ./node_modules/.bin/typedoc --mode file --excludeNotExported --hideGenerator --name "AntOS $(VERSION)-$(BRANCH)-$(BUILDID) API" --out $(DOCDIR) + # npm install typedoc --save-dev + # npm install typedoc-plugin-merge-modules --save-dev + # ./node_modules/.bin/typedoc --mode file --excludeNotExported --hideGenerator --name "AntOS $(VERSION)-$(BRANCH)-$(BUILDID) API" --out $(DOCDIR) + ./node_modules/.bin/typedoc --hideGenerator --plugin typedoc-plugin-merge-modules --entryPointStrategy expand --name "AntOS $(VERSION)-$(BRANCH)-$(BUILDID) API" --out $(DOCDIR) test: build_javascripts jest diff --git a/src/core/Announcerment.ts b/src/core/Announcerment.ts index da71c37..bb599be 100644 --- a/src/core/Announcerment.ts +++ b/src/core/Announcerment.ts @@ -132,7 +132,7 @@ namespace OS { export class Announcer { /** * The observable object that stores event name - * and its corresponding callback in [[ObservableEntryType]] + * and its corresponding callback in {@link ObservableEntryType} * * @type {GenericObject} * @memberof Announcer diff --git a/src/core/BaseApplication.ts b/src/core/BaseApplication.ts index d656c30..cbb77c9 100644 --- a/src/core/BaseApplication.ts +++ b/src/core/BaseApplication.ts @@ -422,7 +422,7 @@ namespace OS { * Base menu definition. This function * returns the based menu definition of all applications. * Other application specific menu entries - * should be defined in [[menu]] function + * should be defined in {@link menu} function * * @protected * @returns {GUI.BasicItemType[]} @@ -469,7 +469,7 @@ namespace OS { * Show local toast notification * * @param {any} data to send - * @param {GUI.ToastOptions} notification options see [[GUI.ToastOptions]] + * @param {GUI.ToastOptions} notification options see {@link GUI.ToastOptions} * @returns {void} * @memberof BaseApplication */ @@ -495,7 +495,7 @@ namespace OS { } /** - * The cleanup function that is called by [[onexit]] function. + * The cleanup function that is called by {@link onexit} function. * Application need to override this function to perform some * specific task before exiting or to prevent the application * to be exited diff --git a/src/core/BaseDialog.ts b/src/core/BaseDialog.ts index d2c8962..88c04b6 100644 --- a/src/core/BaseDialog.ts +++ b/src/core/BaseDialog.ts @@ -250,7 +250,7 @@ namespace OS { /** * If the `markup` variable is not provided, then - * the [[init]] function will find the scheme definition + * the {@link init} function will find the scheme definition * in this class variable * * @static @@ -420,10 +420,10 @@ namespace OS { `; /** - * A text dialog is similar to a [[PromptDialog]] nut allows + * A text dialog is similar to a {@link PromptDialog} nut allows * user to input multi-line text. * - * Refer to [[PromptDialog]] for the definition of input and callback data + * Refer to {@link PromptDialog} for the definition of input and callback data * of the dialog * * @export @@ -565,7 +565,7 @@ namespace OS { * title: string // window title * } * ``` - * Callback data: [[ColorType]] object + * Callback data: {@link ColorType} object * * @export * @class ColorPickerDialog diff --git a/src/core/BaseModel.ts b/src/core/BaseModel.ts index 3b925c2..22465c7 100644 --- a/src/core/BaseModel.ts +++ b/src/core/BaseModel.ts @@ -155,7 +155,7 @@ namespace OS { * to handle all local events inside that model. * * This observable object is propagate to all the - * UI elements ([[AFXTag]]) inside the model + * UI elements ({@link OS.GUI.AFXTag}) inside the model * * @protected * @type {API.Announcer} @@ -579,10 +579,10 @@ namespace OS { } /** - * Open a [[YesNoDialog]] to confirm a task + * Open a {@link OS.GUI.dialogs.YesNoDialog} to confirm a task * * @protected - * @param {GenericObject} data [[YesNoDialog]] input data + * @param {GenericObject} data {@link OS.GUI.dialogs.YesNoDialog} input data * @returns {Promise} * @memberof BaseModel */ diff --git a/src/core/BaseService.ts b/src/core/BaseService.ts index 45ca848..ce1c6b3 100644 --- a/src/core/BaseService.ts +++ b/src/core/BaseService.ts @@ -71,7 +71,7 @@ namespace OS { /** * Reference to the timer that periodically executes the callback - * defined in [[watch]]. + * defined in {@link watch}. * * @private * @type {number} diff --git a/src/core/core.ts b/src/core/core.ts index 8570926..ba91d89 100644 --- a/src/core/core.ts +++ b/src/core/core.ts @@ -39,8 +39,8 @@ interface String { /** * Parse the current string and convert it - * to an object of type [[Version]] if the string - * is in the format recognized by [[Version]], + * to an object of type {@link OS.Version} if the string + * is in the format recognized by {@link OS.Version}, * e.g.: `1.0.1-a` * * @returns {OS.Version} @@ -98,7 +98,7 @@ interface String { format(...args: any[]): string; /** - * Create a [[FormattedString]] object using the current + * Create a {@link OS.FormattedString} object using the current * string and the input parameters * * @param {...any[]} args @@ -178,7 +178,7 @@ interface Array { /** * Extend the Data prototype with the - * [[timestamp]] function + * {@link timestamp} function * * @interface Date */ @@ -210,7 +210,7 @@ interface GenericObject { } /** - * Global function to create a [[FormattedString]] from + * Global function to create a {@link OS.FormattedString} from * a formatted string and a list of parameters. Example * * ```typescript @@ -305,7 +305,7 @@ namespace OS { /** * The value of the format pattern represented - * in [[fs]] + * in {@link fs} * * @type {any[]} * @memberof FormattedString @@ -812,13 +812,13 @@ namespace OS { /** * Variable represents the current AntOS version, it - * is an instance of [[Version]] + * is an instance of {@link OS.Version} */ export const VERSION: Version = new Version(undefined); /** * Variable represents the current AntOS source code repository - * is an instance of [[string]] + * is an instance of string */ export const REPOSITORY: string = "https://github.com/lxsang/antos"; @@ -829,10 +829,10 @@ namespace OS { /** * Register a model prototype to the system namespace. * There are two types of model to be registered, if the model - * is of type [[SubWindow]], its prototype will be registered - * in the [[dialogs]] namespace, otherwise, if the model type - * is [[Application]] or [[Service]], its prototype will be - * registered in the [[application]] namespace. + * is of type {@link OS.GUI.SubWindow}, its prototype will be registered + * in the {@link OS.GUI.dialogs} namespace, otherwise, if the model type + * is {@link OS.application.BaseApplication} or {@link OS.application.BaseService}, its prototype will be + * registered in the {@link application} namespace. * * When a model is loaded in the system, its prototype is registered * for later uses @@ -886,7 +886,7 @@ namespace OS { /** * Booting up AntOS. This function checks whether the user - * is successfully logged in, then call [[startAntOS]], otherwise + * is successfully logged in, then call {@link OS.GUI.startAntOS}, otherwise * it shows the login screen * * @export @@ -919,7 +919,7 @@ namespace OS { /** * Perform the system shutdown operation. This function calls all - * clean up handles in [[cleanupHandles]], then save the system setting + * clean up handles in {@link cleanupHandles}, then save the system setting * before exiting * * @export @@ -941,7 +941,7 @@ namespace OS { } /** - * Register a callback to the system [[cleanupHandles]] + * Register a callback to the system {@link cleanupHandles} * * @export * @param {string} n callback string name @@ -979,7 +979,7 @@ namespace OS { export interface PackageMetaType { /** * The application class name, if the package has only services - * this property is ignored and [[pkgname]] should be specified + * this property is ignored and {@link pkgname} should be specified * * @type {string} * @memberof PackageMetaType @@ -987,7 +987,7 @@ namespace OS { app?: string; /** - * Package name, in case of [[app]] being undefined, this property + * Package name, in case of {@link app} being undefined, this property * need to be specified * * @type {string} @@ -1126,7 +1126,7 @@ namespace OS { /** * Package version, should be in a format conforming - * to the version definition in [[Version]] class + * to the version definition in {@link Version} class * * @type {string} * @memberof PackageMetaType @@ -1183,7 +1183,7 @@ namespace OS { export var lang: GenericObject = {}; /** - * Re-export the system announcement [[getMID]] function to the + * Re-export the system announcement {@link OS.announcer.getMID} function to the * core API * * @export @@ -1343,7 +1343,7 @@ namespace OS { * beginning of a heavy task * * @export - * @param {number} q message id, see [[mid]] + * @param {number} q message id, see {@link mid} * @param {string} p message string */ export function loading(q: number, p: string): void { @@ -1526,8 +1526,8 @@ namespace OS { * Fetch the package meta-data from the server * * @export - * @returns {Promise} Promise on a [[RequestResult]]. - * A success request result should contain a list of [[PackageMetaType]] + * @returns {Promise} Promise on a {@link RequestResult}. + * A success request result should contain a list of {@link PackageMetaType} */ export function fetch(): Promise { return API.handle.packages({ @@ -1573,7 +1573,7 @@ namespace OS { * Save the current user setting * * @export - * @returns {Promise} promise on a [[RequestResult]] + * @returns {Promise} promise on a {@link RequestResult} */ export function setting(): Promise { return API.handle.setting(); @@ -1619,7 +1619,7 @@ namespace OS { * text in spotlight. * * This function will call all the search handles stored - * in [[searchHandle]] and build the search result based + * in {@link searchHandle} and build the search result based * on output of these handle * * @export @@ -1644,7 +1644,7 @@ namespace OS { } /** - * Register a search handle to the global [[searchHandle]] + * Register a search handle to the global {@link searchHandle} * * @export * @param {string} name handle name string diff --git a/src/core/gui.ts b/src/core/gui.ts index 36a50ec..dd618e4 100644 --- a/src/core/gui.ts +++ b/src/core/gui.ts @@ -108,7 +108,7 @@ namespace OS { /** * Item children, usually used by tree view or menu item * This property is keep for compatibility purposes only. - * Otherwise, the [[nodes]] property should be used + * Otherwise, the {@link nodes} property should be used * * @type {BasicItemType[]} * @memberof BasicItemType @@ -146,7 +146,7 @@ namespace OS { * UI elements, then insert this UI scheme to the DOM tree. * * This function renders the UI of the application before calling the - * application's [[main]] function + * application's `main` function * * @export * @param {string} html html scheme string @@ -174,7 +174,7 @@ namespace OS { /** * Load an application scheme file then render - * it with [[htmlToScheme]] + * it with {@link htmlToScheme} * * @export * @param {string} path VFS path to the scheme file @@ -294,7 +294,7 @@ namespace OS { */ export interface ToastOptions { /** - * Where the Toast is displayed? see [[ANCHOR]] + * Where the Toast is displayed? see {@link ANCHOR} * * @type {ANCHOR} * @memberof ToastOptions @@ -322,7 +322,7 @@ namespace OS { /** * Toast notification API - * Show a toast message on different posisition on screen, see [[ToastOptions]] + * Show a toast message on different posisition on screen, see {@link ToastOptions} * * @export * @param @@ -516,7 +516,7 @@ namespace OS { /** * Kill an running processes of an application, then * unregister the application prototype definition - * from the [[application]] namespace. + * from the {@link application} namespace. * * This process is similar to uninstall the application * from the current system state @@ -569,7 +569,7 @@ namespace OS { * in the system. * * This function fist loads and registers the application prototype - * definition in the [[application]] namespace, then update + * definition in the {@link application} namespace, then update * the system packages meta-data * * First it tries to load the package with the app name is also the @@ -861,7 +861,7 @@ namespace OS { * Bind a context menu event to an AntOS element. * * This will find the fist element which defines a handle - * named [[contextMenuHandle]] and bind the context menu + * named {@link contextMenuHandle} and bind the context menu * event to it. * * @param {JQuery.MouseEventBase} event mouse event @@ -1091,7 +1091,7 @@ namespace OS { /** * Show the login screen and perform the login operation. * - * Once login successfully, the [[startAntOS]] will be called + * Once login successfully, the {@link startAntOS} will be called * * @export */ diff --git a/src/core/handles/RemoteHandle.ts b/src/core/handles/RemoteHandle.ts index df00593..7eed806 100644 --- a/src/core/handles/RemoteHandle.ts +++ b/src/core/handles/RemoteHandle.ts @@ -158,7 +158,7 @@ namespace OS { * * @export * @param {string} p a VFS file path e.g. home://test/ - * @returns {Promise} A promise on a [[RequestResult]] + * @returns {Promise} A promise on a {@link RequestResult} * which contains an error or a list of FileInfoType */ export function scandir(p: string): Promise { @@ -203,7 +203,7 @@ namespace OS { * * @export * @param {string} p VFS file path - * @returns {Promise} A promise on a [[RequestResult]] + * @returns {Promise} A promise on a {@link RequestResult} * which contains an error or an object of FileInfoType */ export function fileinfo(p: string): Promise { @@ -226,8 +226,8 @@ namespace OS { * - xml, html: the response is a XML/HTML object * - text: plain text * - * @returns {Promise} A promise on a [[RequestResult]] - * which contains an error or an object of [[FileInfoType]] + * @returns {Promise} A promise on a {@link RequestResult} + * which contains an error or an object of {@link FileInfoType} */ export function readfile(p: string, t: string): Promise { const path = `${API.REST}/VFS/get/`; @@ -240,7 +240,7 @@ namespace OS { * @export * @param {string} s VFS source file path * @param {string} d VFS destination file path - * @returns {Promise} A promise on a [[RequestResult]] + * @returns {Promise} A promise on a {@link RequestResult} * which contains an error or a success response */ export function move(s: string, d: string): Promise { @@ -253,7 +253,7 @@ namespace OS { * * @export * @param {string} p VFS file path - * @returns {Promise} A promise on a [[RequestResult]] + * @returns {Promise} A promise on a {@link RequestResult} * which contains an error or a success response */ export function remove(p: string): Promise { @@ -278,7 +278,7 @@ namespace OS { * * @export * @param {PackageCommandType} d a package command of type PackageCommandType - * @returns {Promise} a promise on a [[RequestResult]] + * @returns {Promise} a promise on a {@link RequestResult} */ export function packages( d: PackageCommandType @@ -292,7 +292,7 @@ namespace OS { * * @export * @param {string} d VFS destination directory path - * @returns {Promise} a promise on a [[RequestResult]] + * @returns {Promise} a promise on a {@link RequestResult} */ export function upload(d: string): Promise { const path = `${API.REST}/VFS/upload`; @@ -305,7 +305,7 @@ namespace OS { * @export * @param {string} p path to the VFS file * @param {string} d file data encoded in Base 64 - * @returns {Promise} a promise on a [[RequestResult]] + * @returns {Promise} a promise on a {@link RequestResult} */ export function write( p: string, @@ -371,8 +371,8 @@ namespace OS { * Check if a user is logged in * * @export - * @returns {Promise} a promise on a [[RequestResult]] that - * contains an error or a [[UserSettingType]] object + * @returns {Promise} a promise on a {@link RequestResult} that + * contains an error or a {@link OS.setting.UserSettingType} object */ export function auth(): Promise { const p = `${API.REST}/user/auth`; @@ -383,9 +383,9 @@ namespace OS { * Perform a login operation * * @export - * @param {UserLoginType} d user data [[UserLoginType]] - * @returns {Promise} a promise on a [[RequestResult]] that - * contains an error or a [[UserSettingType]] object + * @param {UserLoginType} d user data {@link UserLoginType} + * @returns {Promise} a promise on a {@link RequestResult} that + * contains an error or a {@link OS.setting.UserSettingType} object */ export function login(d: UserLoginType): Promise { const p = `${API.REST}/user/login`; @@ -396,7 +396,7 @@ namespace OS { * Perform a logout operation * * @export - * @returns {Promise} a promise on a [[RequestResult]] + * @returns {Promise} a promise on a {@link RequestResult} */ export function logout(): Promise { const p = `${API.REST}/user/logout`; @@ -407,7 +407,7 @@ namespace OS { * Save the current user settings * * @export - * @returns {Promise} a promise on a [[RequestResult]] + * @returns {Promise} a promise on a {@link RequestResult} */ export function setting(): Promise { const p = `${API.REST}/system/settings`; @@ -440,7 +440,7 @@ namespace OS { * ``` * { table: "table name", cond: [conditional object]} * ``` - * @returns {Promise} a promise of [[RequestResult]] on the + * @returns {Promise} a promise of {@link RequestResult} on the * query data * * A conditional object represents a SQL condition statement as an object, diff --git a/src/core/pm.ts b/src/core/pm.ts index 6d9acbf..702ddda 100644 --- a/src/core/pm.ts +++ b/src/core/pm.ts @@ -11,7 +11,7 @@ namespace OS { | application.BaseApplication | application.BaseService; /** - * Alias to all classes that extends [[BaseModel]] + * Alias to all classes that extends {@link BaseModel} */ export type ModelTypeClass = { new (args: AppArgumentsType[]): T; diff --git a/src/core/settings.ts b/src/core/settings.ts index 2e9ebae..e23620b 100644 --- a/src/core/settings.ts +++ b/src/core/settings.ts @@ -308,7 +308,7 @@ namespace OS { /** * Package repositories setting. - * This configuration is used by [[MarketPlace]] + * This configuration is used by {@link OS.application.MarketPlace} * for package management * * @type {{ diff --git a/src/core/tags/CalendarTag.ts b/src/core/tags/CalendarTag.ts index 61e0943..6e5bf3d 100644 --- a/src/core/tags/CalendarTag.ts +++ b/src/core/tags/CalendarTag.ts @@ -140,7 +140,7 @@ namespace OS { * This function triggers the date select event * * @private - * @param {TagEventType} e AFX tag event data [[TagEventType]] + * @param {TagEventType} e AFX tag event data {@link TagEventType} * @returns {void} * @memberof CalendarTag */ diff --git a/src/core/tags/FileViewTag.ts b/src/core/tags/FileViewTag.ts index a6660e1..c1acfae 100644 --- a/src/core/tags/FileViewTag.ts +++ b/src/core/tags/FileViewTag.ts @@ -167,7 +167,7 @@ namespace OS { /** * set the function that allows to fetch file entries. * This handle function should return a promise on - * an arry of [[API.FileInfoType]] + * an arry of {@link API.FileInfoType} * * @memberof FileViewTag */ @@ -178,7 +178,7 @@ namespace OS { /** * set the callback handle for the file select event. * The parameter of the callback should be an object - * of type [[TagEventType]] with the data type `T` is [[API.FileInfoType]] + * of type {@link TagEventType} with the data type `T` is {@link API.FileInfoType} * * @memberof FileViewTag */ @@ -189,7 +189,7 @@ namespace OS { /** * set the callback handle for the directory changed event. * The parameter of the callback should be an object - * of type [[TagEventType]] with the data type `T` is [[API.VFS.BaseFileHandle]] + * of type {@link TagEventType} with the data type `T` is {@link API.VFS.BaseFileHandle} * * @memberof FileViewTag */ @@ -200,7 +200,7 @@ namespace OS { /** set the callback handle for the file open event. * The parameter of the callback should be an object - * of type [[TagEventType]] with the data type `T` is [[API.FileInfoType]] + * of type {@link TagEventType} with the data type `T` is {@link API.FileInfoType} * * @memberof FileViewTag */ @@ -235,7 +235,7 @@ namespace OS { * * Turn on/off the changing current working directory feature * of the widget when a directory is double clicked. If enabled, - * the widget will use the configured [[fetch]] function to query + * the widget will use the configured {@link fetch} function to query * the content of the selected directory * * Getter: @@ -346,7 +346,7 @@ namespace OS { * * Set the path of the current working directory. * When called the widget will refresh the current - * working directory using the configured [[fetch]] + * working directory using the configured {@link fetch} * function * * Getter: diff --git a/src/core/tags/GridViewTag.ts b/src/core/tags/GridViewTag.ts index b9e38be..eb32e16 100644 --- a/src/core/tags/GridViewTag.ts +++ b/src/core/tags/GridViewTag.ts @@ -229,7 +229,7 @@ namespace OS { * Setter: * * Set the data of the cell, this will trigger - * the [[ondatachange]] function + * the {@link ondatachange} function * * Getter: * @@ -255,7 +255,7 @@ namespace OS { * Setter: * * Set/unset the current cell as selected. - * This will trigger the [[cellselect]] + * This will trigger the {@link cellselect} * event * * Getter: @@ -345,7 +345,7 @@ namespace OS { /** * Simple grid cell defines a grid cell with - * an [[LabelTag]] as it cell layout + * an {@link LabelTag} as it cell layout * * @export * @class SimpleGridCellTag @@ -390,7 +390,7 @@ namespace OS { protected calibrate(): void { } /** - * The layout of the cell with a simple [[LabelTag]] + * The layout of the cell with a simple {@link LabelTag} * * @returns * @memberof SimpleGridCellTag diff --git a/src/core/tags/ListViewTag.ts b/src/core/tags/ListViewTag.ts index b47e083..86e8046 100644 --- a/src/core/tags/ListViewTag.ts +++ b/src/core/tags/ListViewTag.ts @@ -6,7 +6,7 @@ namespace OS { */ export type ListItemEventData = TagEventDataType; /** - * A list item represent the individual view of an item in the [[ListView]]. + * A list item represent the individual view of an item in the {@link OS.GUI.tag.ListViewTag}. * This class is an abstract prototype class, implementation of any * list view item should extend it * @@ -197,7 +197,7 @@ namespace OS { * Layout definition of the item tag. * This function define the outer layout of the item. * Custom inner layout of each item implementation should - * be defined in [[itemlayout]] + * be defined in {@link itemlayout} * * @protected * @returns {TagLayoutType[]} @@ -228,7 +228,7 @@ namespace OS { * Setter: * * Set the data of the list item. This will - * trigger the [[ondatachange]] function + * trigger the {@link ondatachange} function * * Getter: * @@ -523,7 +523,7 @@ namespace OS { /** * A collection of selected items in the list. * The maximum size of this collection is 1 if - * the [[multiselect]] feature is disabled + * the {@link multiselect} feature is disabled * * @private * @type {ListViewItemTag[]} @@ -742,7 +742,7 @@ namespace OS { * Button layout allows to add some custom * behaviors to the list. * - * Each button data should define the [[onbtclick]] + * Each button data should define the {@link OS.GUI.tag.ButtonTag.onbtclick} * event handle to specify the custom behavior * * When the list is configured as dropdown. The buttons diff --git a/src/core/tags/OverlayTag.ts b/src/core/tags/OverlayTag.ts index 4fd4fb7..2029c0e 100644 --- a/src/core/tags/OverlayTag.ts +++ b/src/core/tags/OverlayTag.ts @@ -3,7 +3,7 @@ namespace OS { export namespace tag { /** * An overlay tag is a layout tag that alway stay on top of - * the virtual desktop environment. Tile layout elements ([[VBoxTag]], [[HboxTag]]) + * the virtual desktop environment. Tile layout elements ({@link OS.GUI.tag.VBoxTag}, {@link OS.GUI.tag.HBoxTag}) * can be used inside this tag to compose elements * * @export diff --git a/src/core/tags/ResizerTag.ts b/src/core/tags/ResizerTag.ts index c50a8f1..4f82306 100644 --- a/src/core/tags/ResizerTag.ts +++ b/src/core/tags/ResizerTag.ts @@ -3,7 +3,7 @@ namespace OS { export namespace tag { /** * A `resizer` tag is basically used to dynamically resize an element using mouse. - * It is usually put inside a [[TileLayoutTag]] an can be attached to any element. Example: + * It is usually put inside a {@link TileLayoutTag} an can be attached to any element. Example: * * The resizer tag in the following example will be attached to the first `afx-vbox`, * and allows to resize this element using mouse @@ -41,8 +41,8 @@ namespace OS { /** * Reference to the parent tag of the current tag. - * The parent tag should be an instance of a [[TileLayoutTag]] - * such as [[VBoxTag]] or [[HBoxTag]] + * The parent tag should be an instance of a {@link TileLayoutTag} + * such as {@link VBoxTag} or {@link HBoxTag} * * @private * @type {*} diff --git a/src/core/tags/StackPanelTag.ts b/src/core/tags/StackPanelTag.ts index e714651..11b6669 100644 --- a/src/core/tags/StackPanelTag.ts +++ b/src/core/tags/StackPanelTag.ts @@ -4,7 +4,7 @@ namespace OS { /** * A stack pannel allows to navigate back and forth between pannels * (container widget). Each container widget in the stack should be - * composed inside a [[HBoxTag]] + * composed inside a {@link HBoxTag} * * * @export diff --git a/src/core/tags/TabContainerTag.ts b/src/core/tags/TabContainerTag.ts index fa07e34..189d7d6 100644 --- a/src/core/tags/TabContainerTag.ts +++ b/src/core/tags/TabContainerTag.ts @@ -19,9 +19,9 @@ namespace OS { } export namespace tag { /** - * A tab container allows to attach each tab on a [[TabBarTag]] + * A tab container allows to attach each tab on a {@link TabBarTag} * with a container widget. The attached container widget should be - * composed inside a [[HBoxTag]] + * composed inside a {@link HBoxTag} * * The tab bar in a tab container can be configured to display tabs * in horizontal (row) or vertical (column) order. Default to vertical order diff --git a/src/core/tags/TreeViewTag.ts b/src/core/tags/TreeViewTag.ts index 7479e26..8ae2dd7 100644 --- a/src/core/tags/TreeViewTag.ts +++ b/src/core/tags/TreeViewTag.ts @@ -111,7 +111,7 @@ namespace OS { * Placeholder for the `fetch` function of the node. * This function is used to fetch the child nodes of the * current nodes. This function should return a promise on - * a list of [[TreeViewDataType]] + * a list of {@link TreeViewDataType} * * @memberof TreeViewItemPrototype */ @@ -164,7 +164,7 @@ namespace OS { * Setter: * * Set the data of the current node. This will trigger the - * [[ondatachange]] function + * {@link ondatachange} function * * Getter: * @@ -405,7 +405,7 @@ namespace OS { * Layout definition of a node. This function * returns the definition of the base outer layout * of a node. Custom inner layout of the node should - * be defined in the [[itemlayout]] function + * be defined in the {@link itemlayout} function * * @protected * @returns {TagLayoutType[]} @@ -464,8 +464,8 @@ namespace OS { } /** - * SimpleTreeViewItem extends [[TreeViewItemPrototype]] and - * define it inner layout using a [[LabelTag]] + * SimpleTreeViewItem extends {@link TreeViewItemPrototype} and + * define it inner layout using a {@link LabelTag} * * @export * @class SimpleTreeViewItem @@ -641,7 +641,7 @@ namespace OS { * Placeholder for the `fetch` function of the tree. * This function is used to fetch the child nodes of the * current tree. This function should return a promise on - * a list of [[TreeViewDataType]] + * a list of {@link TreeViewDataType} * * @memberof TreeViewTag */ diff --git a/src/core/tags/tag.ts b/src/core/tags/tag.ts index 78a5eb8..1b4c392 100644 --- a/src/core/tags/tag.ts +++ b/src/core/tags/tag.ts @@ -24,7 +24,7 @@ interface HTMLElement { * defined on any child of this element will be ignored. * * @param {JQuery.MouseEventBase} e a mouse event - * @param {OS.GUI.tag.StackMenuTag} m The context menu element [[StackMenuTag]] + * @param {OS.GUI.tag.StackMenuTag} m The context menu element {@link OS.GUI.tag.StackMenuTag} * @memberof HTMLElement */ contextmenuHandle(e: JQuery.MouseEventBase, m: OS.GUI.tag.StackMenuTag): void; @@ -69,7 +69,7 @@ interface HTMLElement { enable_drag(): void; /** - * Perform DOM generation ([[afxml]]) then mount ([[sync]]) all the + * Perform DOM generation ({@link afxml}) then mount ({@link sync}) all the * elements. * * @param {OS.API.Announcer} o an AntOS observable object @@ -116,7 +116,7 @@ interface Document { namespace OS { export namespace GUI { /** - * [[TagLayoutType]] interface using by AFX tags to defined + * TagLayoutType interface using by AFX tags to defined * its internal DOM hierarchy * * @export @@ -157,7 +157,7 @@ namespace OS { /** * this is the `data-id` attribute of the element, - * can be query by the [[aid]] Tag API function. + * can be query by the {@link OS.GUI.AFXTag.aid} Tag API function. * Not to be confused with the DOM `id` attribute * * @type {(string | number)} @@ -294,7 +294,7 @@ namespace OS { * Reference to some of the tag's children * element. This reference object is built * based on the `ref` property found in the - * tag layout [[TagLayoutType]] + * tag layout {@link TagLayoutType} * * @protected * @type {GenericObject} @@ -487,7 +487,7 @@ namespace OS { /** * Init the current tag, this function - * is called before the [[mount]] function + * is called before the {@link mount} function * * @protected * @abstract @@ -516,7 +516,7 @@ namespace OS { /** * Update only the current tag, this function is - * called by [[update]] before chaining the + * called by {@link update} before chaining the * update process to its children * * @protected @@ -707,7 +707,7 @@ namespace OS { */ export namespace tag { /** - * Alias to all classes that extends [[AFXTag]] + * Alias to all classes that extends {@link AFXTag} */ export type AFXTagTypeClass = { new (): T; @@ -719,7 +719,7 @@ namespace OS { * new definition * * @export - * @template T all classes that extends [[AFXTag]] + * @template T all classes that extends {@link AFXTag} * @param {string} name name of the tag * @param {{ new (): T }} cls the class that defines the tag * @returns {void} diff --git a/src/core/vfs.ts b/src/core/vfs.ts index b86bc17..c33e1ee 100644 --- a/src/core/vfs.ts +++ b/src/core/vfs.ts @@ -21,7 +21,7 @@ interface String { * Convert a string to VFS file handle. * * This function will create a file handle object from the string - * with the help of [[VFS.findHandles]] + * with the help of {@link OS.API.VFS.findHandles} * * @returns {OS.API.VFS.BaseFileHandle} * @memberof String @@ -226,7 +226,7 @@ namespace OS { * * When converting a string to file handle, the system will look * for a protocol pattern in the string, if the protocol found, - * its attached handle class (found in [[VFS.handles]]) will be + * its attached handle class (found in {@link VFS.handles}) will be * used to initialize a file handle object from the string * * ```typescript @@ -322,7 +322,7 @@ namespace OS { basename: string; /** - * Once loaded, [[ready]] will be set to true and + * Once loaded, {@link ready} will be set to true and * file meta-data will be stored in this place holder * * @type {FileInfoType} @@ -569,7 +569,7 @@ namespace OS { /** * Public read operation * - * This function calls the [[_rd]] function to perform the operation. + * This function calls the {@link _rd} function to perform the operation. * * If the current file is a directory, then the operation * will return the meta-data of all files inside of the directory. @@ -601,7 +601,7 @@ namespace OS { /** * Write the file cache to the actual file * - * This function calls the [[_wr]] function to perform the operation + * This function calls the {@link _wr} function to perform the operation * * @param {string} t data type * - `base64` @@ -626,7 +626,7 @@ namespace OS { /** * Sub-directory creation * - * This function calls the [[_mk]] function to perform the operation + * This function calls the {@link _mk} function to perform the operation * * @param {string} d sub directory name * @returns {Promise} promise on the operation result @@ -648,7 +648,7 @@ namespace OS { /** * Delete the file * - * This function calls the [[_rm]] function to perform the operation + * This function calls the {@link _rm} function to perform the operation * @param {any} d user data * @returns {Promise} promise on the operation result * @memberof BaseFileHandle @@ -671,7 +671,7 @@ namespace OS { * * Only work when the current file is a directory * - * This function calls the [[_up]] function to perform the operation + * This function calls the {@link _up} function to perform the operation * * @returns {Promise} promise on the operation result * @memberof BaseFileHandle @@ -694,7 +694,7 @@ namespace OS { * * Only work with file * - * This function calls the [[_pub]] function to perform the operation + * This function calls the {@link _pub} function to perform the operation * * @returns {Promise} promise on operation result * @memberof BaseFileHandle @@ -717,7 +717,7 @@ namespace OS { * * Only work with file * - * This function calls the [[_down]] function to perform the operation + * This function calls the {@link _down} function to perform the operation * * @returns {Promise} Promise on the operation result * @memberof BaseFileHandle @@ -738,7 +738,7 @@ namespace OS { /** * Move the current file to another location * - * This function calls the [[_mv]] function to perform the operation + * This function calls the {@link _mv} function to perform the operation * * @param {string} d destination location * @returns {Promise} promise on the operation result @@ -763,7 +763,7 @@ namespace OS { * * This action depends on each file protocol * - * This function calls the [[_exec]] function to perform the operation + * This function calls the {@link _exec} function to perform the operation * * @returns {Promise} * @memberof BaseFileHandle @@ -831,7 +831,7 @@ namespace OS { * that supports the operation * * @protected - * @param {any} t data type, see [[read]] + * @param {any} t data type, see {@link read} * @returns {Promise} * @memberof BaseFileHandle */ @@ -846,7 +846,7 @@ namespace OS { * that supports the operation * * @protected - * @param {string} t data type, see [[write]] + * @param {string} t data type, see {@link write} * @returns {Promise} * @memberof BaseFileHandle */ @@ -1025,7 +1025,7 @@ namespace OS { * Otherwise, file content will be returned * * @protected - * @param {string} t data type see [[read]] + * @param {string} t data type see {@link read} * @returns {Promise} * @memberof RemoteFileHandle */ @@ -1057,7 +1057,7 @@ namespace OS { * Write file cache to the remote file * * @protected - * @param {string} t data type see [[write]] + * @param {string} t data type see {@link write} * @returns {Promise} * @memberof RemoteFileHandle */ @@ -1293,7 +1293,7 @@ namespace OS { /** - * Package file is remote file ([[RemoteFileHandle]]) located either in + * Package file is remote file ({@link RemoteFileHandle}) located either in * the local user packages location or system packages * location, it should be in the following format: * @@ -1596,7 +1596,7 @@ namespace OS { * Read file content stored in the file cached * * @protected - * @param {string} t data type see [[read]] + * @param {string} t data type see {@link read} * @returns {Promise} * @memberof BufferFileHandle */ @@ -1617,7 +1617,7 @@ namespace OS { * Write data to the file cache * * @protected - * @param {string} t data type, see [[write]] + * @param {string} t data type, see {@link write} * @returns {Promise} * @memberof BufferFileHandle */ @@ -1801,7 +1801,7 @@ namespace OS { * Read URL content * * @protected - * @param {string} t data type see [[read]] + * @param {string} t data type see {@link read} * @returns {Promise} * @memberof URLFileHandle */ @@ -1855,7 +1855,7 @@ namespace OS { * Read file content * * @protected - * @param {string} t data type, see [[read]] + * @param {string} t data type, see {@link read} * @returns {Promise} * @memberof SharedFileHandle */ @@ -1874,7 +1874,7 @@ namespace OS { * write data to shared file * * @protected - * @param {string} t data type, see [[write]] + * @param {string} t data type, see {@link write} * @returns {Promise} * @memberof SharedFileHandle */ diff --git a/tsconfig.json b/tsconfig.json index 292d9a5..e394b0a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,5 +8,8 @@ ], "outDir": "dist" }, + "typedocOptions": { + "entryPoints": ["src"] + }, "include": ["src/**/*.ts"] } \ No newline at end of file