build: Replace JSDuck with JSDoc
* jsdoc.json was copied from Minerva. The markdown plugin from that config was removed since there no usages of that in Vector. * Added latest jsdoc dependency to package.json * Copied 'jsdoc' task from Minerva into Vector. Revised storybook output so that multiple docs (storybook + jsdoc) could be in /docs * Made collapsibleTabs.js JSDoc compliant (This was really the only thing using jsduck syntax) * Modified Gruntfile stylelinter to ignore docs folder Bug: T239258 Change-Id: Id07d591ffe7bf0ac021109051e89b91ffdcf4c78
This commit is contained in:
parent
1609747972
commit
a79bb8dff4
|
@ -25,6 +25,7 @@ module.exports = function ( grunt ) {
|
|||
'*.{less,css}',
|
||||
'**/*.{less,css}',
|
||||
'!node_modules/**',
|
||||
'!docs/**',
|
||||
'!skinStyles/jquery.ui/**',
|
||||
'!vendor/**'
|
||||
]
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"opts": {
|
||||
"destination": "docs/js",
|
||||
"package": "package.json",
|
||||
"pedantic": true,
|
||||
"readme": "README.md",
|
||||
"recurse": true
|
||||
},
|
||||
"source": {
|
||||
"include": [ "resources" ]
|
||||
},
|
||||
"templates": {
|
||||
"cleverLinks": true,
|
||||
"default": {
|
||||
"useLongnameInNav": true
|
||||
}
|
||||
}
|
||||
}
|
10
jsduck.json
10
jsduck.json
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"--title": "Vector skin - Documentation",
|
||||
"--output": "docs",
|
||||
"--processes": "0",
|
||||
"--warnings-exit-nonzero": true,
|
||||
"--warnings": ["-nodoc(class,public)"],
|
||||
"--": [
|
||||
"./resources/skins.vector.js/collapsibleTabs.js"
|
||||
]
|
||||
}
|
|
@ -3213,6 +3213,15 @@
|
|||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"catharsis": {
|
||||
"version": "0.8.11",
|
||||
"resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.11.tgz",
|
||||
"integrity": "sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash": "^4.17.14"
|
||||
}
|
||||
},
|
||||
"ccount": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz",
|
||||
|
@ -7636,12 +7645,60 @@
|
|||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"js2xmlparser": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz",
|
||||
"integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"xmlcreate": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"jsbn": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
|
||||
"dev": true
|
||||
},
|
||||
"jsdoc": {
|
||||
"version": "3.6.3",
|
||||
"resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.3.tgz",
|
||||
"integrity": "sha512-Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/parser": "^7.4.4",
|
||||
"bluebird": "^3.5.4",
|
||||
"catharsis": "^0.8.11",
|
||||
"escape-string-regexp": "^2.0.0",
|
||||
"js2xmlparser": "^4.0.0",
|
||||
"klaw": "^3.0.0",
|
||||
"markdown-it": "^8.4.2",
|
||||
"markdown-it-anchor": "^5.0.2",
|
||||
"marked": "^0.7.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"requizzle": "^0.2.3",
|
||||
"strip-json-comments": "^3.0.1",
|
||||
"taffydb": "2.6.2",
|
||||
"underscore": "~1.9.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"escape-string-regexp": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
||||
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
||||
"dev": true
|
||||
},
|
||||
"klaw": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
|
||||
"integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.9"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsesc": {
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
|
||||
|
@ -7825,6 +7882,15 @@
|
|||
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
|
||||
"dev": true
|
||||
},
|
||||
"linkify-it": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
|
||||
"integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"uc.micro": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"load-json-file": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
|
||||
|
@ -8031,6 +8097,25 @@
|
|||
"integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==",
|
||||
"dev": true
|
||||
},
|
||||
"markdown-it": {
|
||||
"version": "8.4.2",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz",
|
||||
"integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"entities": "~1.1.1",
|
||||
"linkify-it": "^2.0.0",
|
||||
"mdurl": "^1.0.1",
|
||||
"uc.micro": "^1.0.5"
|
||||
}
|
||||
},
|
||||
"markdown-it-anchor": {
|
||||
"version": "5.2.5",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz",
|
||||
"integrity": "sha512-xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ==",
|
||||
"dev": true
|
||||
},
|
||||
"markdown-table": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
|
||||
|
@ -8047,6 +8132,12 @@
|
|||
"unquote": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"marked": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
|
||||
"integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==",
|
||||
"dev": true
|
||||
},
|
||||
"mathml-tag-names": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz",
|
||||
|
@ -8073,6 +8164,12 @@
|
|||
"unist-util-visit": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"mdurl": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
|
||||
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
|
||||
"dev": true
|
||||
},
|
||||
"media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
|
@ -10523,6 +10620,15 @@
|
|||
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
|
||||
"dev": true
|
||||
},
|
||||
"requizzle": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz",
|
||||
"integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash": "^4.17.14"
|
||||
}
|
||||
},
|
||||
"resize-observer-polyfill": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
|
||||
|
@ -12131,6 +12237,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"taffydb": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
|
||||
"integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
|
||||
"dev": true
|
||||
},
|
||||
"tapable": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
|
||||
|
@ -12498,6 +12610,12 @@
|
|||
"integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
|
||||
"dev": true
|
||||
},
|
||||
"uc.micro": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
|
||||
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
|
||||
"dev": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.4.10",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
|
||||
|
@ -12516,6 +12634,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"underscore": {
|
||||
"version": "1.9.2",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz",
|
||||
"integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==",
|
||||
"dev": true
|
||||
},
|
||||
"underscore.string": {
|
||||
"version": "3.3.5",
|
||||
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
|
||||
|
@ -13257,6 +13381,12 @@
|
|||
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
|
||||
"dev": true
|
||||
},
|
||||
"xmlcreate": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz",
|
||||
"integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==",
|
||||
"dev": true
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
"private": true,
|
||||
"scripts": {
|
||||
"storybook": "./dev-scripts/setup-storybook.sh && start-storybook -p 6006",
|
||||
"test": "grunt test && npm run build-storybook",
|
||||
"doc": "jsduck && npm run build-storybook",
|
||||
"build-storybook": "./dev-scripts/setup-storybook.sh && build-storybook -o docs/"
|
||||
"test": "grunt test && npm run doc",
|
||||
"jsdoc": "jsdoc -c jsdoc.json",
|
||||
"doc": "npm run jsdoc && npm run build-storybook",
|
||||
"build-storybook": "./dev-scripts/setup-storybook.sh && build-storybook -o docs/ui"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.7.7",
|
||||
|
@ -15,6 +16,7 @@
|
|||
"grunt-banana-checker": "0.8.1",
|
||||
"grunt-eslint": "22.0.0",
|
||||
"grunt-stylelint": "0.13.0",
|
||||
"jsdoc": "3.6.3",
|
||||
"less": "3.8.1",
|
||||
"less-loader": "4.1.0",
|
||||
"mustache": "3.0.1",
|
||||
|
|
|
@ -1,30 +1,18 @@
|
|||
/**
|
||||
* Collapsible Tabs for the Vector skin.
|
||||
*
|
||||
* @class jQuery.plugin.collapsibleTabs
|
||||
*/
|
||||
( function () {
|
||||
var boundEvent,
|
||||
isRTL = document.documentElement.dir === 'rtl',
|
||||
rAF = window.requestAnimationFrame || setTimeout;
|
||||
|
||||
/**
|
||||
* @event beforeTabCollapse
|
||||
*/
|
||||
|
||||
/**
|
||||
* @event afterTabCollapse
|
||||
*/
|
||||
|
||||
/**
|
||||
* A jQuery plugin that makes collapsible tabs for the Vector skin.
|
||||
*
|
||||
* @class jQuery.plugin.collapsibleTabs
|
||||
* @param {Object} [options]
|
||||
* @param {string} [options.expandedContainer="#p-views ul"] List of tabs
|
||||
* @param {string} [options.collapsedContainer="#p-cactions ul"] List of menu items
|
||||
* @param {string} [options.collapsible="li.collapsible"] Match tabs that are collapsible
|
||||
* @param {string} [options.expandedContainer=#p-views ul] List of tabs
|
||||
* @param {string} [options.collapsedContainer=#p-cactions ul] List of menu items
|
||||
* @param {string} [options.collapsible=li.collapsible] Match tabs that are collapsible
|
||||
* @param {Function} [options.expandCondition]
|
||||
* @param {Function} [options.collapseCondition]
|
||||
* @return {jQuery}
|
||||
* @chainable
|
||||
*/
|
||||
$.fn.collapsibleTabs = function ( options ) {
|
||||
// Merge options into the defaults
|
||||
|
@ -105,8 +93,14 @@
|
|||
|
||||
// if the two navigations are colliding
|
||||
if ( $el.children( data.collapsible ).length && data.collapseCondition() ) {
|
||||
/**
|
||||
* Fired before tabs are moved to "collapsedContainer".
|
||||
*
|
||||
* @event beforeTabCollapse
|
||||
* @memberof jQuery.plugin.collapsibleTabs
|
||||
*/
|
||||
$el.trigger( 'beforeTabCollapse' );
|
||||
// move the element to the dropdown menu
|
||||
// Move the element to the dropdown menu.
|
||||
$.collapsibleTabs.moveToCollapsed( $el.children( data.collapsible ).last() );
|
||||
}
|
||||
|
||||
|
@ -119,7 +113,12 @@
|
|||
$.collapsibleTabs.getSettings( $tab ).expandedWidth
|
||||
)
|
||||
) {
|
||||
// move the element from the dropdown to the tab
|
||||
/**
|
||||
* Fired before tabs are moved to "expandedContainer".
|
||||
*
|
||||
* @event beforeTabExpand
|
||||
* @memberof jQuery.plugin.collapsibleTabs
|
||||
*/
|
||||
$el.trigger( 'beforeTabExpand' );
|
||||
$.collapsibleTabs.moveToExpanded( $tab );
|
||||
}
|
||||
|
@ -222,10 +221,4 @@
|
|||
return rightStart - leftEnd;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @class jQuery
|
||||
* @mixins jQuery.plugin.collapsibleTabs
|
||||
*/
|
||||
|
||||
}() );
|
||||
|
|
Loading…
Reference in New Issue