ancient-graph-spreading
Version:
Automatic maintenance spreading of graph according other graphs.
111 lines (85 loc) • 7.02 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>launched.js - Documentation</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="GraphSpreading.html">GraphSpreading</a><ul class='methods'><li data-type='method'><a href="GraphSpreading.html#_getFromFields">_getFromFields</a></li><li data-type='method'><a href="GraphSpreading.html#_getToFields">_getToFields</a></li><li data-type='method'><a href="GraphSpreading.html#_spreadByPathLink">_spreadByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#_spreadFromSpreadLinkByPathGraph">_spreadFromSpreadLinkByPathGraph</a></li><li data-type='method'><a href="GraphSpreading.html#_spreadFromSpreadLinkByPathLink">_spreadFromSpreadLinkByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#_wrapPathQuery">_wrapPathQuery</a></li><li data-type='method'><a href="GraphSpreading.html#_wrapSpreadQuery">_wrapSpreadQuery</a></li><li data-type='method'><a href="GraphSpreading.html#addPathGraph">addPathGraph</a></li><li data-type='method'><a href="GraphSpreading.html#each">each</a></li><li data-type='method'><a href="GraphSpreading.html#spreadByPathLink">spreadByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadFromSpreadLink">spreadFromSpreadLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadFromSpreadLinkByPathGraph">spreadFromSpreadLinkByPathGraph</a></li><li data-type='method'><a href="GraphSpreading.html#spreadFromSpreadLinkByPathLink">spreadFromSpreadLinkByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadNewSpreadLink">spreadNewSpreadLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadTo">spreadTo</a></li><li data-type='method'><a href="GraphSpreading.html#unspread">unspread</a></li><li data-type='method'><a href="GraphSpreading.html#unspreadByPathId">unspreadByPathId</a></li><li data-type='method'><a href="GraphSpreading.html#unspreadFromRemovedSpreadLinkByPrevId">unspreadFromRemovedSpreadLinkByPrevId</a></li></ul></li><li><a href="PathGraph.html">PathGraph</a></li><li><a href="QueueSpreading.html">QueueSpreading</a><ul class='methods'><li data-type='method'><a href="QueueSpreading.html#_getGraph">_getGraph</a></li><li data-type='method'><a href="QueueSpreading.html#removeFromLaunched">removeFromLaunched</a></li><li data-type='method'><a href="QueueSpreading.html#spreadByPath">spreadByPath</a></li><li data-type='method'><a href="QueueSpreading.html#spreadBySpread">spreadBySpread</a></li><li data-type='method'><a href="QueueSpreading.html#spreadBySpreader">spreadBySpreader</a></li><li data-type='method'><a href="QueueSpreading.html#unspreadByPath">unspreadByPath</a></li><li data-type='method'><a href="QueueSpreading.html#unspreadBySpread">unspreadBySpread</a></li><li data-type='method'><a href="QueueSpreading.html#unspreadBySpreader">unspreadBySpreader</a></li></ul></li><li><a href="SpreaderGraph.html">SpreaderGraph</a></li><li><a href="SpreadGraph.html">SpreadGraph</a><ul class='methods'><li data-type='method'><a href="SpreadGraph.html#_spreadingHandler">_spreadingHandler</a></li><li data-type='method'><a href="SpreadGraph.html#_unspreadingHandler">_unspreadingHandler</a></li><li data-type='method'><a href="SpreadGraph.html#insert">insert</a></li><li data-type='method'><a href="SpreadGraph.html#remove">remove</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#factoryLaunchedGraph">factoryLaunchedGraph</a></li><li><a href="global.html#factoryPathGraph">factoryPathGraph</a></li><li><a href="global.html#factoryRespreadGraph">factoryRespreadGraph</a></li><li><a href="global.html#factorySpreaderGraph">factorySpreaderGraph</a></li><li><a href="global.html#factorySpreadGraph">factorySpreadGraph</a></li></ul>
</nav>
<div id="main">
<h1 class="page-title">launched.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* This method allows you to use LaunchedGraph class to its inheritance chain.
* Field launched is required!
* Manage field launched.
*
* @param {Class} ParentClassGraph
* @return {Class} LaunchedGraph
* @description `import { factoryLaunchedGraph } from 'ancient-graph-spreading';`
*/
function factoryLaunchedGraph(ParentClassGraph) {
class LaunchedGraph extends ParentClassGraph {
/**
* Parent insert with added launched field. You can override it field in modifier.
*/
insert(modifier, callback, context) {
if (!modifier[this.config.aliases.launched]) modifier[this.config.aliases.launched] = ['spread'];
else {
if (Object.prototype.toString.call(modifier[this.config.aliases.launched]) !== '[object Array]') {
modifier[this.config.aliases.launched] = [modifier[this.config.aliases.launched]]
}
modifier[this.config.aliases.launched].push('spread');
}
return super.insert(modifier, callback, context);
}
/**
* Parent update, but if source or target changed, then to the launched field will be added values unspread and spread. You can override it field in modifier.
*/
update(selector, modifier, callback, context) {
if (!modifier.hasOwnProperty(this.config.aliases.launched)) {
modifier[this.config.aliases.launched] = { add: ['unspread', 'spread'] };
}
return super.update(selector, modifier, callback, context);
}
/**
* The method is strictly designed so that the class inherits from ExistedGraph.
* Adds to launched field unspread value.
*/
remove(selector, callback, context) {
if (!context) var context = {};
if (!context.modifier) context.modifier = {};
context.modifier[this.config.aliases.launched] = ['unspread'];
return super.remove(selector, callback, context);
}
}
return LaunchedGraph;
};
export { factoryLaunchedGraph };</code></pre>
</article>
</section>
</div>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Sun Dec 04 2016 20:09:10 GMT+0000 (UTC) using the Minami theme.
</footer>
<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
</body>
</html>