b.name) ? 1 : 0; }); } props[i] = null; } else { parentProp = prop; } }); props = props.filter(prop => prop != null); if (sortmembers){ props.sort(function(a, b) { return (a.name < b.name) ? -1 : (a.name > b.name) ? 1 : 0; }); } /* determine if we need extra columns, "attributes" and "default" */ props.hasAttributes = false; props.hasDefault = false; props.hasName = false; props.hasDescriptionOrSubprops = false; // a new special column for properties that are marked with ojruntime (used by the metadata types typedef) props.hasUseAtRuntime = false; props.forEach(function(prop) { if (!prop) { return; } if (prop.optional || typeof prop.nullable !== 'undefined'){ props.hasAttributes = true; } if (prop.name) { props.hasName = true; } if (prop.ojruntime) { props.hasUseAtRuntime = true; } if (typeof prop.defaultvalue !== 'undefined') { props.hasDefault = true; } if (typeof prop.description !== 'undefined' || typeof prop.subprops !== 'undefined') { props.hasDescriptionOrSubprops = true; } }); ?> or <%properties%> // the token is substituted with the properties template evaluated content // look for <%typdef%> tokens let tokenStartIdx = propDesc.indexOf('<%'); while (tokenStartIdx >=0){ let tokenEndIdx = propDesc.indexOf('%>', tokenStartIdx); if ( tokenEndIdx > tokenStartIdx){ //extract the target name from the token let targetname = propDesc.substring(tokenStartIdx+2, tokenEndIdx); let properties = []; if (targetname !== 'properties' && (/([\w-]+\.)+/g).test(targetname)){ let typedefname = targetname; let typedefs = self.find({kind:"typedef", longname: typedefname}); if (typedefs.length){ // we can only pull in properties of one typedef but can inject in several places let typedefobj = typedefs[0]; if (typedefobj.properties && typedefobj.properties.length > 0){ properties = typedefobj.properties; } } } if (targetname == 'properties'){ properties = prop.subprops; } if (properties.length > 0){ skipSubProperties = true; let content = self.partial('properties.tmpl', prop.subprops); let subpropsTable = '
Properties
' + content; let regex = new RegExp('<%' + targetname + '%>'); propDesc = propDesc.replace(regex, subpropsTable); } tokenStartIdx = propDesc.indexOf('<%', tokenEndIdx + 2); } } }?>
Used at Runtime Type Argument Default Description
= 0 || prop.type.parsedType.typeExpression.indexOf('Function') >= 0 || (prop.type.parsedType.typeExpression.indexOf('{') >=0 && prop.type.parsedType.typeExpression.indexOf('}') >0)){ typeHandled = true; var _expression = prop.type.parsedType.typeExpression; // remove the 'optional' operator if exists if (_expression.endsWith('=')){ _expression = _expression.substr(0, _expression.length - 1); } // remove any not-null operator if (_expression.startsWith('!')){ _expression = _expression.substr(1); } // remove the parenthesis of they exists if (_expression.charCodeAt(0) == 40 && _expression.charCodeAt(_expression.length - 1) == 41){ _expression = _expression.substr(1, _expression.length - 2); } var data = _expression.split('|'); ?> <optional>
<nullable>
<not nullable>
0? propDesc : prop.description) ?> 0){?>
Deprecated:
Properties