Вы можете пометить методы @function
, а события - @event
, но, поскольку функции по умолчанию правильно определяются, тег @function
в вашем случае не будет необходим.
Элементы под options
могут быть задокументированы с помощью @memberOf
, в вашем примере с @memberOf Nem.Ui.Window#
. Затем они будут показаны как options.optionName
в сгенерированном JSDoc.
Полностью документированная версия вашего класса будет выглядеть примерно так:
/** @class This class represents a closabe UI window with changeable content. */
Nem.Ui.Window = new Class(
/** @lends Nem.Ui.Window# */
{
Implements: [Options, Events],
/** The options that can be set. */
options: {
/**
* Some description for caption.
* @memberOf Nem.Ui.Window#
* @type String
*/
caption: "Ventana",
/**
* ...
*/
icon: $empty,
centered: true,
id: $empty,
width: $empty,
height: $empty,
modal: false,
desktop: $empty,
x: $empty,
y: $empty,
layout: $empty
},
/**
* The constructor. Will be called automatically when a new instance of this class is created.
*
* @param {Object} options The options to set.
*/
initialize: function(options)
{
this.setOptions(options);
/* ... */
},
/**
* Sets the HTML content of the window.
*
* @param {String} content The content to set.
*/
setHtmlContents: function(content)
{
/* ... */
},
/**
* Sets the inner text of the window.
*
* @param {String} text The text to set.
*/
setText: function(text)
{
/* ... */
},
/**
* Fired when the window is closed.
*
* @event
* @param {Object} win The closed window.
*/
close: function(win)
{
/* ... */
},
/* ... */
});
Я пропустил @constructs
на initialize
, так как тогда он вообще не будет отображаться в документе, и я пока не выяснил, как заставить это работать должным образом.
Для получения дополнительной информации о доступных тегах и их функциях см. TagReference в wiki jsdoc-toolkit.