diff options
Diffstat (limited to 'javascript/videojs/docs/legacy-docs/api/js/api-docs.js')
| -rw-r--r-- | javascript/videojs/docs/legacy-docs/api/js/api-docs.js | 781 |
1 files changed, 781 insertions, 0 deletions
diff --git a/javascript/videojs/docs/legacy-docs/api/js/api-docs.js b/javascript/videojs/docs/legacy-docs/api/js/api-docs.js new file mode 100644 index 0000000..565ea28 --- /dev/null +++ b/javascript/videojs/docs/legacy-docs/api/js/api-docs.js @@ -0,0 +1,781 @@ +var BCLSVJS = (function (window, document, docData, hljs) { + 'use strict'; + var title = document.getElementsByTagName('title')[0], + // data structures + classes = {thisClass: [], parentClass: []}, + doc_class, + docsPath = 'https://github.com/videojs/video.js/blob/master/src/js/', + doc_data = {}, + // doc path as an array + path = document.location.pathname.split('/'), + // paths + classFilePath, + parentClassFilePath, + // elements + mainContent, + main, + doc_body = document.getElementsByTagName('body')[0], + // functions + isDefined, + isItemInArray, + copyObj, + findObjectInArray, + findObjectsInArray, + getSubArray, + sortArray, + createEl, + bclslog, + findClassObjects, + addHeaderContent, + addIndex, + addMembersContent, + addText, + highlightCode, + init; + /** + * Logging function - safe for IE + * + * @param {string} context - description of the data + * @param {*} message - the data to be logged by the console + */ + bclslog = function (context, message) { + if (window['console'] && console['log']) { + console.log(context, message); + } + }; + /** + * tests for all the ways a variable might be undefined or not have a value + * + * @param {*} x the variable to test + * @return {Boolean} true if variable is defined and has a value + */ + isDefined = function (x) { + if (x === '' || x === null || x === undefined || x === NaN) { + return false; + } + return true; + }; + /** + * determines whether specified item is in an array + * + * @param {array} array to check + * @param {string} item to check for + * @return {boolean} true if item is in the array, else false + */ + isItemInArray = function (arr, item) { + var i, + iMax = arr.length; + for (i = 0; i < iMax; i++) { + if (arr[i] === item) { + return true; + } + } + return false; + }; + /** + * get a copy of (rather than reference to) an object + * + * @param {object} obj - the object you want a copy + * @return {object} the copy + */ + copyObj = function (obj) { + if (isDefined(obj)) { + return JSON.parse(JSON.stringify(obj)); + } + bclslog('no obj passed'); + }; + /** + * find index of an object in array of objects + * based on some property value + * generally useful for finding a unique object + * + * @param {array} targetArray - array to search + * @param {string} objProperty - object property to search + * @param {string|number} value - value of the property to search for + * @return {integer} index of first instance if found, otherwise returns -1 + */ + findObjectInArray = function (targetArray, objProperty, value) { + var i, totalItems = targetArray.length, objFound = false; + for (i = 0; i < totalItems; i++) { + if (targetArray[i][objProperty] === value) { + objFound = true; + return i; + } + } + if (objFound === false) { + return -1; + } + }; + /** + * find indexes of a set of object in array of objects + * based on some property value + * generally useful for finding several objects + * + * @param {array} targetArray - array to search + * @param {string} objProperty - object property to search + * @param {string|number} value - value of the property to search for + * @return {array} array of indexes for matching objects + */ + findObjectsInArray = function (targetArray, objProperty, value) { + var i, totalItems = targetArray.length, newArr = []; + for (i = 0; i < totalItems; i++) { + if (targetArray[i][objProperty] === value) { + newArr.push(i); + } + } + return newArr; + }; + /** + * get a subset of objects in array of objects + * based on some property value + * + * @param {array} targetArray - array to search + * @param {string} objProperty - object property to search + * @param {string|number} value - value of the property to search for + * @return {array} array of objects with matching property value + */ + getSubArray = function (targetArray, objProperty, value) { + var i, totalItems = targetArray.length, idxArr = []; + for (i = 0; i < totalItems; i++) { + if (targetArray[i][objProperty] === value) { + idxArr.push(targetArray[i]); + } + } + return idxArr; + }; + /** + * sort an array of objects based on an object property + * + * @param {array} targetArray - array to sort + * @param {string} objProperty - property whose value to sort on + * @return {array} the sorted array + */ + sortArray = function (targetArray, objProperty) { + targetArray.sort(function (a, b) { + var propA = a[objProperty].toLowerCase(), propB = b[objProperty].toLowerCase(); + // sort ascending; reverse propA and propB to sort descending + if (propA < propB) { + return -1; + } else if (propA > propB) { + return 1; + } + return 0; + }); + return targetArray; + }; + /** + * create an element + * + * @param {string} type - the element type + * @param {object} attributes - attributes to add to the element + * @return {object} the HTML element + */ + createEl = function (type, attributes) { + var el; + if (isDefined(type)) { + el = document.createElement(type); + if (isDefined(attributes)) { + var attr; + for (attr in attributes) { + el.setAttribute(attr, attributes[attr]); + } + } + return el; + } + }; + /** + * creates a text node and adds it to an element + * @param {object|node} el - the node (element) to add the text to + * @param {string} str - the text to add + */ + addText = function (el, str) { + var text = document.createTextNode(str); + el.appendChild(text); + }; + /** + * finds the objects in the doc data for a fileName + * + * @param {array} arr - the array of objects to search + * @param {string} filename - the filename to look for in the meta object + * @return {array} - array of the objects found + */ + findClassObjects = function (arr, filename) { + var i, totalItems = arr.length, newArr = []; + for (i = 0; i < totalItems; i++) { + if (isDefined(arr[i].meta)) { + if (arr[i].meta.filename === filename) { + newArr.push(arr[i]); + } + } + + } + return newArr; + + }; + /** + * add the class header content + */ + addHeaderContent = function () { + var topSection = createEl('section', {id: 'top', class: 'section'}), + headerData = doc_data.thisClass.headerInfo, + header = createEl('h1'), + extendsNode = createEl('p'), + extendsLink, + definedIn = createEl('p'), + definedInLink = createEl('a', {href: docsPath + classFilePath + '#L' + headerData.meta.lineno}), + description = createEl('div', {style: 'border:none', id: 'classDescription'}), + descriptionEl, + constructorHeader = createEl('h3'), + constructorPre = createEl('pre'), + constructorCode = createEl('code'), + constructorParamsHeader = createEl('h4'), + constructorParams = [], + text; + // add main content wrapper + doc_body.appendChild(mainContent); + main = document.getElementById('main'); + // add elements + topSection.appendChild(header); + topSection.appendChild(description); + // source file + topSection.appendChild(definedIn); + addText(definedIn, 'DEFINED IN: '); + definedIn.appendChild(definedInLink); + addText(definedInLink, headerData.meta.filename + ' line number: ' + headerData.meta.lineno); + mainContent.appendChild(topSection); + // page header + addText(header, headerData.name); + // parent info if this class extends another + if (isDefined(doc_data.parentClasses)) { + topSection.appendChild(extendsNode); + addText(extendsNode, 'EXTENDS: '); + extendsLink = createEl('a', {href: parentClassFilePath + doc_data.parentClasses[0].headerInfo.meta.filename}); + extendsNode.appendChild(extendsLink); + addText(extendsLink, doc_data.parentClasses[0].headerInfo.meta.filename); + } + // constructor info - don't add for video.js + if (doc_data.thisClass.headerInfo.name !== 'videojs') { + topSection.appendChild(constructorHeader); + topSection.appendChild(constructorPre); + constructorPre.appendChild(constructorCode); + // create the constructor info + addText(constructorHeader, 'Constructor'); + + // get constructor params if any + if (isDefined(headerData.params)) { + var paramTableHeaders = ['name', 'Type', 'Required', 'Description'], + paramTable = createEl('table'), + paramThead = createEl('thead'), + paramTbody = createEl('tbody'), + paramTheadRow = createEl('tr'), + paramTbodyRow = createEl('tr'), + paramTH, + paramTD, + k, + kMax; + + addText(constructorParamsHeader, 'Parameters'); + paramTable.appendChild(paramThead); + paramTable.appendChild(paramTbody); + paramThead.appendChild(paramTheadRow); + // set the table headers + kMax = paramTableHeaders.length; + for (k = 0; k < kMax; k++) { + paramTH = createEl('th'); + paramTheadRow.appendChild(paramTH); + addText(paramTH, paramTableHeaders[k]); + } + // now the table info + kMax = headerData.params.length; + for (k = 0; k < kMax; k++) { + paramTbodyRow = createEl('tr'); + paramTbody.appendChild(paramTbodyRow); + paramTD = createEl('td'); + addText(paramTD, headerData.params[k].name); + paramTbodyRow.appendChild(paramTD); + paramTD = createEl('td'); + addText(paramTD, headerData.params[k].type.names.join('|')); + paramTbodyRow.appendChild(paramTD); + paramTD = createEl('td'); + if (headerData.params[k].optional) { + text = document.createTextNode('no'); + constructorParams.push('[' + headerData.params[k].name + ']'); + } else { + text = document.createTextNode('yes'); + constructorParams.push(headerData.params[k].name); + } + paramTD.appendChild(text); + if (isDefined(headerData.params[k].description)) { + paramTbodyRow.appendChild(paramTD); + paramTD = createEl('td'); + addText(paramTD, headerData.params[k].description.slice(3, headerData.params[k].description.indexOf('</p>'))); + paramTbodyRow.appendChild(paramTD); + } + paramTbody.appendChild(paramTbodyRow); + } + topSection.appendChild(constructorParamsHeader); + topSection.appendChild(paramTable); + } + } + // add constructor params to signature if any + if (constructorParams.length > 0) { + text = document.createTextNode(headerData.name + '( ' + constructorParams.join(',') + ' )'); + } else { + text = document.createTextNode(headerData.name + '()'); + } + constructorCode.appendChild(text); + descriptionEl = document.getElementById('classDescription'); + descriptionEl.innerHTML = headerData.description; + }; + /** + * add the side nav + */ + addIndex = function () { + var section = createEl('section', {id: 'index', class: 'side-nav'}), + navHeader = createEl('h2', {class: 'sideNavHeader'}), + navHeaderLink = createEl('a', {href: 'index.html'}), + memberIndex = createEl('div', {id: 'memberIndex', class: 'member-index'}), + thisMember, + addedMembers = {}, + item, + thisParent, + parentList, + header, + listItem, + listLink, + classHeader, + parentHeader, + i, + iMax, + j, + jMax, + // helper functions + classHasMembers = function (member) { + if (doc_data.thisClass[member].length > 0) { + return true; + } + return false; + }, + parentsHaveMembers = function () { + if (doc_data.parentClasses.length > 0) { + for (i = 0; i < doc_data.parentClasses.length; i++) { + if (doc_data.parentClasses[i][thisMember].length > 0) { + return true; + } + } + return false; + } + }, + makeList = function (classArr, parentArr, member, list) { + thisMember = member.toLowerCase(); + if (classArr.length > 0 || (isDefined(doc_data.parentClass) && parentArr.length > 0)) { + // add member list header + if (classHasMembers(thisMember) || parentsHaveMembers(thisMember)) { + header = createEl('h3'); + addText(header, doc_data.thisClass.headerInfo.name + ' ' + member); + } else { + return; + } + if (classHasMembers(thisMember)) { + classHeader = createEl('h4'); + addText(classHeader, 'Class ' + member); + memberIndex.appendChild(header); + memberIndex.appendChild(classHeader); + // add the list & items + list = createEl('ul', {id: list}); + memberIndex.appendChild(list); + iMax = classArr.length; + for (i = 0; i < iMax; i++) { + item = classArr[i].name; + if (!isItemInArray(addedMembers[member], item)) { + // keep track of added members to remove overridden ones + addedMembers[member].push(item); + listItem = createEl('li'); + listLink = createEl('a', {href: '#' + member + item}); + addText(listLink, item); + listItem.appendChild(listLink); + list.appendChild(listItem); + } + } + } + + // add inherited items if any + if (isDefined(parentArr) && parentArr.length > 0) { + jMax = parentArr.length; + for (j = 0; j < jMax; j++) { + thisParent = parentArr[j]; + if (thisParent[thisMember].length > 0) { + parentHeader = createEl('h4'); + addText(parentHeader, 'Inherited ' + member + ' from ' + thisParent.headerInfo.name); + memberIndex.appendChild(parentHeader); + parentList = createEl('ul'); + memberIndex.appendChild(parentList); + iMax = thisParent[thisMember].length; + for (i = 0; i < iMax; i++) { + item = thisParent[thisMember][i].name; + if (!isItemInArray(addedMembers[member], item)) { + addedMembers[member].push(item); + listItem = createEl('li'); + listLink = createEl('a', {href: '#' + member + item}); + listItem.appendChild(listLink); + addText(listLink, item); + parentList.appendChild(listItem); + } + + } + } + + } + + } + } + }; + // data structure to track members already added + addedMembers.Methods = []; + addedMembers.Properties = []; + addedMembers.Events = []; + + navHeader.appendChild(navHeaderLink); + addText(navHeaderLink, 'API Index'); + // add parent class members if any + if (isDefined(doc_data.parentClasses)) { + makeList(doc_data.thisClass.properties, doc_data.parentClasses, 'Properties', 'propertiesList'); + makeList(doc_data.thisClass.methods, doc_data.parentClasses, 'Methods', 'methodsList'); + makeList(doc_data.thisClass.events, doc_data.parentClasses, 'Events', 'eventsList'); + } else { + makeList(doc_data.thisClass.properties, [], 'Properties', 'propertiesList'); + makeList(doc_data.thisClass.methods, [], 'Methods', 'methodsList'); + makeList(doc_data.thisClass.events, [], 'Events', 'eventsList'); + } + section.appendChild(navHeader); + section.appendChild(memberIndex); + doc_body.appendChild(section); + + }; + /** + * add the member content + */ + addMembersContent = function () { + var members = [{name: 'Properties', data: 'properties'}, {name: 'Methods', data: 'methods'}, {name: 'Events', data: 'events'}], + member, + addedMembers = {}, + section, + header, + headerSuffix, + item, + itemWrapper, + itemHeader, + itemHeaderStr, + itemParams = [], + itemParamsHeader, + itemDescription, + itemDescriptionEl, + itemFooter, + itemFooterLink, + itemFooterContent, + paramTable, + paramThead, + paramTbody, + paramTheadRow, + paramTbodyRow, + paramTH, + paramTD, + paramTableHeaders = ['name', 'Type', 'Required', 'Description'], + text, + i, + iMax, + j, + jMax, + k, + kMax, + m, + mMax, + topLinkP, + topLinkA, + // helper function + createMemberItem = function (classData, member) { + bclslog('member', member); + // create the class member items + jMax = classData[member.data].length; + for (j = 0; j < jMax; j++) { + item = classData[member.data][j]; + if (!isItemInArray(addedMembers[member.name], item.name)) { + addedMembers[member.name].push(item.name); + itemWrapper = createEl('div', {id: member.name + item.name}); + section.appendChild(itemWrapper); + itemHeader = createEl('h3', {id: item.name + 'Header'}); + itemHeaderStr = item.name; + itemWrapper.appendChild(itemHeader); + itemDescription = createEl('div', {id: item.name + 'Description', class: 'description'}); + itemWrapper.appendChild(itemDescription); + itemFooter = createEl('p', {class: 'vjs-only'}); + itemFooterLink = createEl('a', {href: docsPath + item.meta.filename + '#L' + item.meta.lineno}); + itemFooterContent = createEl('em', {id: item.name + 'Footer'}); + itemFooter.appendChild(itemFooterContent); + topLinkP = createEl('p'); + topLinkA = createEl('a', {href: '#top'}); + addText(topLinkA, '[back to top]'); + topLinkP.appendChild(topLinkA); + // for methods only handle params if any + if (member.name === 'Methods' && isDefined(item.params)) { + itemParams = []; + itemParamsHeader = createEl('h4'); + addText(itemParamsHeader, 'Parameters'); + paramTable = createEl('table'); + paramThead = createEl('thead'); + paramTbody = createEl('tbody'); + paramTable.appendChild(paramThead); + paramTable.appendChild(paramTbody); + paramTheadRow = createEl('tr'); + paramThead.appendChild(paramTheadRow); + // set the table headers + kMax = paramTableHeaders.length; + for (k = 0; k < kMax; k++) { + paramTH = createEl('th'); + paramTheadRow.appendChild(paramTH); + addText(paramTH, paramTableHeaders[k]); + } + // now the table info + kMax = item.params.length; + for (k = 0; k < kMax; k++) { + paramTbodyRow = createEl('tr'); + paramTbody.appendChild(paramTbodyRow); + paramTD = createEl('td'); + addText(paramTD, item.params[k].name); + paramTbodyRow.appendChild(paramTD); + paramTD = createEl('td'); + addText(paramTD, item.params[k].type.names.join('|')); + paramTbodyRow.appendChild(paramTD); + paramTD = createEl('td'); + if (item.params[k].optional) { + text = document.createTextNode('no'); + itemParams.push('[' + item.params[k].name + ']'); + } else { + text = document.createTextNode('yes'); + itemParams.push(item.params[k].name); + } + paramTD.appendChild(text); + if (isDefined(item.params[k].description)) { + paramTbodyRow.appendChild(paramTD); + paramTD = createEl('td'); + addText(paramTD, item.params[k].description.slice(3, item.params[k].description.indexOf('</p>'))); + paramTbodyRow.appendChild(paramTD); + } + paramTbody.appendChild(paramTbodyRow); + } + itemHeaderStr += '( ' + itemParams.join(', ') + ' )'; + if (item.scope === 'static') { + itemHeaderStr = 'static ' + itemHeaderStr; + } + itemWrapper.appendChild(itemParamsHeader); + itemWrapper.appendChild(paramTable); + } else if (member.name === 'Methods') { + itemHeaderStr += '()'; + } + itemWrapper.appendChild(itemFooter); + itemWrapper.appendChild(topLinkP); + addText(itemHeader, itemHeaderStr); + if (isDefined(item.deprecated)) { + headerSuffix = createEl('em', {class: 'deprecated'}); + text = document.createTextNode(); + addText(headerSuffix, ' (deprecated)'); + itemHeader.appendChild(headerSuffix); + } + itemDescriptionEl = document.getElementById(item.name + 'Description'); + itemDescriptionEl.innerHTML = item.description; + addText(itemFooterContent, 'Defined in '); + itemFooterContent.appendChild(itemFooterLink); + addText(itemFooterLink, 'src/js/' + item.meta.filename + ' line number: ' + item.meta.lineno); + } + } + }; + // data structure to track members already added + addedMembers.Methods = []; + addedMembers.Properties = []; + addedMembers.Events = []; + iMax = members.length; + for (i = 0; i < iMax; i++) { + member = members[i]; + if (doc_data.thisClass[member.data].length > 0) { + // create the member section + section = createEl('section', {id: member.name.toLowerCase(), class: 'section'}); + main.appendChild(section); + header = createEl('h2'); + addText(header, member.name); + section.appendChild(header); + // create the member items + createMemberItem(doc_data.thisClass, member); + if (isDefined(doc_data.parentClasses)) { + mMax = doc_data.parentClasses.length; + for (m = 0; m < mMax; m++) { + if (doc_data.parentClasses[m][member.data].length > 0) { + createMemberItem(doc_data.parentClasses[m], member); + } + } + } + } + } + }; + /** + * use hljs to highlight the syntax in code blocks + */ + highlightCode = function () { + var codeBlocks = document.querySelectorAll('pre code'), + i, + iMax; + if (isDefined(codeBlocks)) { + iMax = codeBlocks.length; + for (i = 0; i < iMax; i++) { + hljs.highlightBlock(codeBlocks[i]); + } + } + }; + /** + * init gets things going + */ + init = function () { + var fileName, + srcFileName, + parent_class_name, + privateItems = [], + idx, + text, + j, + parentCounter = 0, + // helper function to get the chain of parent classes + getAncestorData = function (parent_class) { + // get data objects for the class + classes.parentClasses[parentCounter] = findClassObjects(docData, parent_class + '.js'); + // check to see if there are any parent class items + if (classes.parentClasses[parentCounter].length > 0) { + doc_data.parentClasses[parentCounter] = {}; + // get parent header info + idx = findObjectInArray(classes.parentClasses[parentCounter], 'kind', 'class'); + doc_data.parentClasses[parentCounter].headerInfo = copyObj(classes.parentClasses[parentCounter][idx]); + // get parent class path + idx = findObjectInArray(classes.parentClasses[parentCounter], 'kind', 'file'); + if (idx > -1) { + parentClassFilePath = classes.parentClasses[parentCounter][idx].name; + } else { + parentClassFilePath = doc_data.parentClasses[parentCounter].headerInfo.meta.filename; + } + // remove any private items + privateItems = findObjectsInArray(classes.parentClasses[parentCounter], 'access', 'private'); + j = privateItems.length; + while (j > 0) { + j--; + classes.parentClasses[parentCounter].splice(privateItems[j], 1); + } + // now get the member arrays + doc_data.parentClasses[parentCounter].methods = getSubArray(classes.parentClasses[parentCounter], 'kind', 'function'); + doc_data.parentClasses[parentCounter].methods = sortArray(doc_data.parentClasses[parentCounter].methods, 'name'); + doc_data.parentClasses[parentCounter].events = getSubArray(classes.parentClasses[parentCounter], 'kind', 'event'); + doc_data.parentClasses[parentCounter].events = sortArray(doc_data.parentClasses[parentCounter].events, 'name'); + doc_data.parentClasses[parentCounter].properties = getSubArray(classes.parentClasses[parentCounter], 'kind', 'property'); + doc_data.parentClasses[parentCounter].properties = sortArray(doc_data.parentClasses[parentCounter].properties, 'name'); + } + // get parent class, if any, and anything it inherits + if (isDefined(doc_data.parentClasses[parentCounter].headerInfo.augments)) { + idx = findObjectInArray(docData, 'name', doc_data.parentClasses[parentCounter].headerInfo.augments[0]); + parent_class_name = docData[idx].meta.filename.replace('.js', ''); + parentCounter++; + getAncestorData(parent_class_name); + } + }; + // content wrapper + mainContent = createEl('div', {id: 'main', class: 'section'}); + // get the class name from the file name + fileName = path[path.length - 1]; + doc_class = fileName.substring(0, fileName.indexOf('.')); + srcFileName = doc_class + '.js'; + bclslog('srcFileName', srcFileName); + // video.js is a special case - all others will be the same + if (srcFileName === 'video.js') { + // for doc purposes, treat video like a class, though it's not + // get the data objects for this class + classes.thisClass = findClassObjects(docData, srcFileName); + bclslog('classes', classes); + idx = findObjectInArray(classes.thisClass, 'name', 'videojs'); + doc_data.thisClass = {}; + // get the class overview object + doc_data.thisClass.headerInfo = copyObj(classes.thisClass[idx]); + doc_data.thisClass.headerInfo.name = 'videojs'; + idx = findObjectInArray(classes.thisClass, 'kind', 'file'); + if (idx > -1) { + classFilePath = classes.thisClass[idx].name; + } else { + classFilePath = doc_data.thisClass.headerInfo.meta.filename; + } + // set the doc title + text = document.createTextNode(doc_data.thisClass.headerInfo.name); + title.appendChild(text); + // remove any private items + privateItems = findObjectsInArray(classes.thisClass, 'access', 'private'); + j = privateItems.length; + while (j > 0) { + j--; + classes.thisClass.splice(privateItems[j], 1); + } + // now get the member arrays + doc_data.thisClass.methods = getSubArray(classes.thisClass, 'kind', 'function'); + doc_data.thisClass.methods = sortArray(doc_data.thisClass.methods, 'name'); + doc_data.thisClass.events = getSubArray(classes.thisClass, 'kind', 'event'); + doc_data.thisClass.events = sortArray(doc_data.thisClass.events, 'name'); + doc_data.thisClass.properties = getSubArray(classes.thisClass, 'kind', 'property'); + doc_data.thisClass.properties = sortArray(doc_data.thisClass.properties, 'name'); + bclslog('thisClass', doc_data.thisClass); + } else { + // get the data objects for this class + classes.thisClass = findClassObjects(docData, srcFileName); + bclslog('classes', classes); + idx = findObjectInArray(classes.thisClass, 'kind', 'class'); + doc_data.thisClass = {}; + doc_data.thisClass.headerInfo = copyObj(classes.thisClass[idx]); + // get the file path from @file object + idx = findObjectInArray(classes.thisClass, 'kind', 'file'); + if (idx > -1) { + classFilePath = classes.thisClass[idx].name; + } else { + classFilePath = doc_data.thisClass.headerInfo.meta.filename; + } + // set the doc title + text = document.createTextNode(doc_data.thisClass.headerInfo.name); + title.appendChild(text); + // remove any private items + privateItems = findObjectsInArray(classes.thisClass, 'access', 'private'); + j = privateItems.length; + while (j > 0) { + j--; + classes.thisClass.splice(privateItems[j], 1); + } + // now get the member arrays + doc_data.thisClass.methods = getSubArray(classes.thisClass, 'kind', 'function'); + doc_data.thisClass.methods = sortArray(doc_data.thisClass.methods, 'name'); + doc_data.thisClass.events = getSubArray(classes.thisClass, 'kind', 'event'); + doc_data.thisClass.events = sortArray(doc_data.thisClass.events, 'name'); + doc_data.thisClass.properties = getSubArray(classes.thisClass, 'kind', 'property'); + doc_data.thisClass.properties = sortArray(doc_data.thisClass.properties, 'name'); + bclslog('thisClass', doc_data.thisClass); + // get parent class, if any, and anything it inherits + if (isDefined(doc_data.thisClass.headerInfo.augments)) { + doc_data.parentClass = {}; + doc_data.parentClasses = []; + classes.parentClasses = []; + idx = findObjectInArray(docData, 'name', doc_data.thisClass.headerInfo.augments[0]); + parent_class_name = docData[idx].meta.filename.replace('.js', ''); + getAncestorData(parent_class_name); + } + bclslog('parentClasses', doc_data.parentClasses); + } + // now we're ready to roll + addIndex(); + addHeaderContent(); + addMembersContent(); + highlightCode(); + }; + // initialize + init(); + return { + + }; +})(window, document, docData, hljs); |
