Carga
Carga
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
/* *
|
||||
*
|
||||
* Organization chart module
|
||||
*
|
||||
* (c) 2018-2021 Torstein Honsi
|
||||
*
|
||||
* License: www.highcharts.com/license
|
||||
*
|
||||
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
||||
*
|
||||
* */
|
||||
'use strict';
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
||||
var SankeyPointClass = SeriesRegistry.seriesTypes.sankey.prototype.pointClass;
|
||||
import U from '../../Core/Utilities.js';
|
||||
var defined = U.defined, find = U.find, pick = U.pick;
|
||||
/**
|
||||
* Get columns offset including all sibiling and cousins etc.
|
||||
*
|
||||
* @private
|
||||
* @param node Point
|
||||
*/
|
||||
function getOffset(node) {
|
||||
var offset = node.linksFrom.length;
|
||||
node.linksFrom.forEach(function (link) {
|
||||
if (link.id === link.toNode.linksTo[0].id) {
|
||||
// Node has children, that hangs directly from it:
|
||||
offset += getOffset(link.toNode);
|
||||
}
|
||||
else {
|
||||
// If the node hangs from multiple parents, and this is not
|
||||
// the last one, ignore it:
|
||||
offset--;
|
||||
}
|
||||
});
|
||||
return offset;
|
||||
}
|
||||
/* *
|
||||
*
|
||||
* Class
|
||||
*
|
||||
* */
|
||||
var OrganizationPoint = /** @class */ (function (_super) {
|
||||
__extends(OrganizationPoint, _super);
|
||||
function OrganizationPoint() {
|
||||
/* *
|
||||
*
|
||||
* Properties
|
||||
*
|
||||
* */
|
||||
var _this = _super !== null && _super.apply(this, arguments) || this;
|
||||
_this.fromNode = void 0;
|
||||
_this.linksFrom = void 0;
|
||||
_this.linksTo = void 0;
|
||||
_this.options = void 0;
|
||||
_this.series = void 0;
|
||||
_this.toNode = void 0;
|
||||
return _this;
|
||||
/* eslint-enable valid-jsdoc */
|
||||
}
|
||||
/* *
|
||||
*
|
||||
* Functions
|
||||
*
|
||||
* */
|
||||
/* eslint-disable valid-jsdoc */
|
||||
/**
|
||||
* All nodes in an org chart are equal width.
|
||||
* @private
|
||||
*/
|
||||
OrganizationPoint.prototype.getSum = function () {
|
||||
return 1;
|
||||
};
|
||||
/**
|
||||
* Set node.column for hanging layout
|
||||
* @private
|
||||
*/
|
||||
OrganizationPoint.prototype.setNodeColumn = function () {
|
||||
_super.prototype.setNodeColumn.call(this);
|
||||
var node = this, fromNode = node.getFromNode().fromNode;
|
||||
// Hanging layout
|
||||
if (
|
||||
// Not defined by user
|
||||
!defined(node.options.column) &&
|
||||
// Has links to
|
||||
node.linksTo.length !== 0 &&
|
||||
// And parent uses hanging layout
|
||||
fromNode &&
|
||||
fromNode.options.layout === 'hanging') {
|
||||
// Default all children of the hanging node
|
||||
// to have hanging layout
|
||||
node.options.layout = pick(node.options.layout, 'hanging');
|
||||
node.hangsFrom = fromNode;
|
||||
var i_1 = -1;
|
||||
find(fromNode.linksFrom, function (link, index) {
|
||||
var found = link.toNode === node;
|
||||
if (found) {
|
||||
i_1 = index;
|
||||
}
|
||||
return found;
|
||||
});
|
||||
// For all siblings' children (recursively)
|
||||
// increase the column offset to prevent overlapping
|
||||
for (var j = 0; j < fromNode.linksFrom.length; j++) {
|
||||
var link = fromNode.linksFrom[j];
|
||||
if (link.toNode.id === node.id) {
|
||||
// Break
|
||||
j = fromNode.linksFrom.length;
|
||||
}
|
||||
else {
|
||||
i_1 += getOffset(link.toNode);
|
||||
}
|
||||
}
|
||||
node.column = (node.column || 0) + i_1;
|
||||
}
|
||||
};
|
||||
return OrganizationPoint;
|
||||
}(SankeyPointClass));
|
||||
/* *
|
||||
*
|
||||
* Default Export
|
||||
*
|
||||
* */
|
||||
export default OrganizationPoint;
|
||||
Reference in New Issue
Block a user