UNPKG

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.

52 lines (43 loc) 1.45 kB
import ArrayReader from '../../readers/ArrayReader'; import ValueReader from '../../readers/ValueReader'; export default function ActiveItemsTask(itemsSizesOptionTask, readTemplatesTask) { var _data = { items: [] }, _hash = {}; var _dataTemplate = new ArrayReader( new ValueReader(["string", "number"], true), true ); function process() { var context = { isChanged: false, hash: _hash }, itemsSizesOptions = itemsSizesOptionTask.getOptions(), items = itemsSizesOptions.items; _data.items = _dataTemplate.read(_data.items, collectActiveItems(itemsSizesOptions, items), "items", context); return context.isChanged; } function collectActiveItems(itemsSizesOptions, items) { var result = [], index, len; for (index = 0, len = items.length; index < len; index += 1) { var itemConfig = items[index], template = readTemplatesTask.getTemplate(itemConfig.templateName, itemsSizesOptions.defaultTemplateName, readTemplatesTask.DefaultWidgetTemplateName), templateConfig = template.templateConfig, isActive = itemConfig.isActive && templateConfig.isActive; if (isActive) { result.push(itemConfig.id); } } return result; } function getActiveItems() { return _hash.items; } return { process: process, getActiveItems: getActiveItems }; };