in legacy/js/docTool/schemaHelper.js [408:494]
function renderDocItem(
handlerName, renderBase, schemaItem, optionPathItemName, relationInfo, enumInfo, arrayFrom
) {
var subRenderBase = renderBase;
var typeEnum = enumInfo === IS_ENUM_ITEM ? getTypeEnum(schemaItem) : null;
// makeSubRenderBase
if (handlerName !== 'hasArrayItems') {
var descInfo = retrieveDescFromSchemaItem(schemaItem, relationInfo, enumInfo, arrayFrom);
subRenderBase = {
value: 'id-' + dtLib.localUID(),
parent: renderBase,
hasObjectProperties: handlerName === 'hasObjectProperties',
isEnumParent: enumInfo === IS_ENUM_PARENT,
type: schemaItem.type,
typeEnum: typeEnum,
description: descInfo.description,
defau: descInfo.defau,
// optionPath: context.optionPath.slice(),
defaultValueText: schemaHelper.getDefaultValueText(descInfo.defau),
itemEncodeHTML: false,
tooltipEncodeHTML: false
};
if (enumInfo !== IS_ENUM_ITEM) {
subRenderBase.propertyName = optionPathItemName;
}
if (relationInfo === IS_ARRAY_ITEM) {
subRenderBase.arrayDepth = arrayFrom.length;
}
(renderBase.children = renderBase.children || []).push(subRenderBase);
}
// Make prefix, suffix and childrenBrief.
var prefix = '';
var suffix = '';
var childrenBrief = '...';
if (enumInfo === IS_ENUM_ITEM) {
childrenBrief = 'type: \'' + encodeHTML(typeEnum) + '\', ...';
}
else {
if (optionPathItemName) {
prefix = '<span class="ecdoc-api-tree-text-prop">' + encodeHTML(optionPathItemName) + '</span>';
if (!docUtil.getGlobalArg('pureTitle')) {
prefix += ': ';
}
}
if (arrayFrom && arrayFrom.length) {
// Simple optimize.
if (arrayFrom.length === 1) {
prefix += '[';
suffix += ']';
}
else {
var tmpArr = new Array(arrayFrom.length + 1);
prefix += tmpArr.join('[');
suffix += tmpArr.join(']');
}
}
}
// Make tree item text and children.
if (handlerName === 'hasObjectProperties') {
subRenderBase.childrenPre = prefix + '{';
subRenderBase.childrenPost = '}' + suffix + ',';
subRenderBase.childrenBrief = childrenBrief;
}
else if (handlerName === 'isAtom') {
var defaultValueText = schemaHelper.getDefaultValueText(
subRenderBase.defau, {getBrief: true}
);
subRenderBase.text = prefix;
if (!docUtil.getGlobalArg('pureTitle')) {
subRenderBase.text += ''
+ '<span class="ecdoc-api-tree-text-default">' + encodeHTML(defaultValueText) + '</span>'
+ suffix + ',';
}
}
else if (handlerName === 'isEnumParent') {
subRenderBase.childrenPre = prefix;
subRenderBase.childrenPost = suffix + ',';
subRenderBase.childrenBrief = childrenBrief;
}
return subRenderBase;
}