basicprimitives
Version:
Basic Primitives Diagrams for JavaScript - data visualization components library that implements organizational chart and multi-parent dependency diagrams, contains implementations of JavaScript Controls and PDF rendering plugins.
68 lines (54 loc) • 2.25 kB
JavaScript
import FamilyMatrixesExtractor from './familyTransformations/FamilyMatrixesExtractor';
export default function ExtractNestedLayoutsTask(extractNestedLayoutsOptionTask, bindFamilyConnectorsTask) {
var _data = {
maximumId: null, /* maximum of OrgItem.id */
logicalFamily: null
},
_familyMatrixesExtractor = new FamilyMatrixesExtractor(false);
function process(debug) {
var logicalFamily = bindFamilyConnectorsTask.getLogicalFamily(),
maximumId = bindFamilyConnectorsTask.getMaximumId(),
extractNestedLayoutsOptions = extractNestedLayoutsOptionTask.getOptions();
var options = {
enableMatrixLayout: extractNestedLayoutsOptions.enableMatrixLayout,
minimumMatrixSize: extractNestedLayoutsOptions.minimumMatrixSize,
maximumColumnsInMatrix: extractNestedLayoutsOptions.maximumColumnsInMatrix
};
logicalFamily = logicalFamily.clone();
var { maximumId, layouts, nestedLayoutParentConnectorIds, nestedLayoutBottomConnectorIds, bundles } = _familyMatrixesExtractor.extract(options, extractNestedLayoutsOptionTask.getConfig, logicalFamily, maximumId);
_data.logicalFamily = logicalFamily;
_data.maximumId = maximumId;
_data.layouts = layouts;
_data.nestedLayoutParentConnectorIds = nestedLayoutParentConnectorIds;
_data.nestedLayoutBottomConnectorIds = nestedLayoutBottomConnectorIds;
_data.bundles = bundles;
return true;
}
function getLogicalFamily() {
return _data.logicalFamily;
}
function getLayouts() {
return _data.layouts;
}
function getNestedLayoutParentConnectorIds() {
return _data.nestedLayoutParentConnectorIds;
}
function getNestedLayoutBottomConnectorIds() {
return _data.nestedLayoutBottomConnectorIds;
}
function getBundles() {
return _data.bundles;
}
function getMaximumId() {
return _data.maximumId;
}
return {
process: process,
getLogicalFamily: getLogicalFamily,
getMaximumId: getMaximumId,
getLayouts: getLayouts,
getNestedLayoutParentConnectorIds: getNestedLayoutParentConnectorIds,
getNestedLayoutBottomConnectorIds: getNestedLayoutBottomConnectorIds,
getBundles: getBundles
};
};