UNPKG

@kieler/klighd-core

Version:

Core KLighD diagram visualization with Sprotty

577 lines 31.2 kB
"use strict"; /* * KIELER - Kiel Integrated Environment for Layout Eclipse RichClient * * http://rtsys.informatik.uni-kiel.de/kieler * * Copyright 2022-2023 by * + Kiel University * + Department of Computer Science * + Real-Time and Embedded Systems Group * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * SPDX-License-Identifier: EPL-2.0 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ProxyViewClusteringSweepLine = exports.ProxyViewClusteringCascading = exports.ProxyViewClusterTransparent = exports.ProxyViewCapScaleToOne = exports.ProxyViewOriginalNodeScale = exports.ProxyViewTransparentEdges = exports.ProxyViewEdgesToOffScreenPoint = exports.ProxyViewUseDetailLevel = exports.ProxyViewStackingOrderBySelected = exports.ProxyViewStackingOrderByOpacity = exports.ProxyViewStackingOrderByDistance = exports.ProxyViewShowProxiesEarlyNumber = exports.ProxyViewShowProxiesEarly = exports.ProxyViewShowProxiesImmediately = exports.ProxyViewCapProxyToParent = exports.ProxyViewSimpleAlongBorderRouting = exports.ProxyViewUseSynthesisProxyRendering = exports.ProxyViewOpacityBySelected = exports.ProxyViewHighlightSelected = exports.ProxyViewInteractiveProxies = exports.ProxyViewDebugCategory = exports.ProxyViewDrawEdgesAboveNodes = exports.ProxyViewTitleScaling = exports.ProxyViewEnableSegmentProxies = exports.ProxyViewEnableEdgeProxies = exports.ProxyViewDecreaseProxyClutter = exports.ProxyViewSize = exports.ProxyViewEnabled = exports.ProxyViewCategory = void 0; const option_models_1 = require("../options/option-models"); /** The category containing proxy-view options. */ class ProxyViewCategory { constructor() { this.id = ProxyViewCategory.ID; this.name = ProxyViewCategory.NAME; this.type = option_models_1.TransformationOptionType.CATEGORY; } } exports.ProxyViewCategory = ProxyViewCategory; ProxyViewCategory.ID = 'proxy-view-category'; ProxyViewCategory.NAME = 'Proxy-View'; ProxyViewCategory.INSTANCE = new ProxyViewCategory(); /** Whether the proxy-view is enabled. */ class ProxyViewEnabled { constructor() { this.id = ProxyViewEnabled.ID; this.name = ProxyViewEnabled.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewEnabled.DEFAULT; this.description = ProxyViewEnabled.DESCRIPTION; this.renderCategory = ProxyViewCategory.ID; this.currentValue = ProxyViewEnabled.DEFAULT; } } exports.ProxyViewEnabled = ProxyViewEnabled; ProxyViewEnabled.ID = 'proxy-view-enabled'; ProxyViewEnabled.NAME = 'Proxy View'; ProxyViewEnabled.DESCRIPTION = 'Enables proxies for off-screen elements.'; ProxyViewEnabled.DEFAULT = false; /** Part of calculating the proxies' size. */ class ProxyViewSize { constructor() { this.id = ProxyViewSize.ID; this.name = ProxyViewSize.NAME; this.type = option_models_1.TransformationOptionType.RANGE; this.initialValue = ProxyViewSize.DEFAULT; this.description = ProxyViewSize.DESCRIPTION; this.renderCategory = ProxyViewCategory.ID; this.range = ProxyViewSize.RANGE; this.stepSize = ProxyViewSize.STEPSIZE; this.values = []; this.currentValue = ProxyViewSize.DEFAULT; this.debug = true; } } exports.ProxyViewSize = ProxyViewSize; ProxyViewSize.ID = 'proxy-view-size'; ProxyViewSize.NAME = 'Size of Proxies in %'; ProxyViewSize.DESCRIPTION = "Percentage to which the proxies are scaled regarding the minimum of the canvas' height and width."; ProxyViewSize.DEFAULT = 8; ProxyViewSize.RANGE = { first: 1, second: 25 }; ProxyViewSize.STEPSIZE = 1; /** * What strategy to use to decrease proxy clutter. * Clustering clusters overlapping proxies into a single cluster. * Opacity by Distance increases transparency for distant proxies. */ class ProxyViewDecreaseProxyClutter { constructor() { this.id = ProxyViewDecreaseProxyClutter.ID; this.name = ProxyViewDecreaseProxyClutter.NAME; this.type = option_models_1.TransformationOptionType.CHOICE; this.initialValue = ProxyViewDecreaseProxyClutter.DEFAULT; this.description = ProxyViewDecreaseProxyClutter.DESCRIPTION; this.renderCategory = ProxyViewCategory.ID; this.values = ProxyViewDecreaseProxyClutter.CHOICES; this.debug = true; this.currentValue = ProxyViewDecreaseProxyClutter.DEFAULT; } } exports.ProxyViewDecreaseProxyClutter = ProxyViewDecreaseProxyClutter; ProxyViewDecreaseProxyClutter.ID = 'proxy-view-decrease-proxy-clutter'; ProxyViewDecreaseProxyClutter.NAME = 'Decrease Proxy Clutter'; ProxyViewDecreaseProxyClutter.DESCRIPTION = 'What strategy to use to decrease proxy clutter. ' + 'Clustering clusters overlapping proxies into a single cluster. ' + 'Opacity by Distance increases transparency for distant proxies.'; ProxyViewDecreaseProxyClutter.CHOICE_OFF = 'Off'; ProxyViewDecreaseProxyClutter.CHOICE_CLUSTERING = 'Clustering'; ProxyViewDecreaseProxyClutter.CHOICE_OPACITY = 'Opacity by Distance'; ProxyViewDecreaseProxyClutter.DEFAULT = ProxyViewDecreaseProxyClutter.CHOICE_OFF; ProxyViewDecreaseProxyClutter.CHOICES = [ ProxyViewDecreaseProxyClutter.CHOICE_OFF, ProxyViewDecreaseProxyClutter.CHOICE_CLUSTERING, ProxyViewDecreaseProxyClutter.CHOICE_OPACITY, ]; /** * What strategy to use for routing edge proxies, if enabled. * Edge proxies connect on-screen nodes with proxies instead of their off-screen counterparts. * Straight-Edge-Routing draws a straight line between node and proxy. * Along-Border-Routing reuses most of the original edge's path and routes the remaining path to the proxy along the border. */ class ProxyViewEnableEdgeProxies { constructor() { this.id = ProxyViewEnableEdgeProxies.ID; this.name = ProxyViewEnableEdgeProxies.NAME; this.type = option_models_1.TransformationOptionType.CHOICE; this.initialValue = ProxyViewEnableEdgeProxies.DEFAULT; this.description = ProxyViewEnableEdgeProxies.DESCRIPTION; this.renderCategory = ProxyViewCategory.ID; this.values = ProxyViewEnableEdgeProxies.CHOICES; this.debug = true; this.currentValue = ProxyViewEnableEdgeProxies.DEFAULT; } } exports.ProxyViewEnableEdgeProxies = ProxyViewEnableEdgeProxies; ProxyViewEnableEdgeProxies.ID = 'proxy-view-enable-edge-proxies'; ProxyViewEnableEdgeProxies.NAME = 'Enable Edge Proxies'; ProxyViewEnableEdgeProxies.DESCRIPTION = 'What strategy to use for routing edge proxies, if enabled. ' + 'Edge proxies connect on-screen nodes with proxies instead of their off-screen counterparts. ' + 'Straight-Edge-Routing draws a straight line between node and proxy. ' + "Along-Border-Routing reuses most of the original edge's path and routes the remaining path to the proxy along the border."; ProxyViewEnableEdgeProxies.CHOICE_OFF = 'Off'; ProxyViewEnableEdgeProxies.CHOICE_STRAIGHT_EDGE_ROUTING = 'Straight-Edge-Routing'; ProxyViewEnableEdgeProxies.CHOICE_ALONG_BORDER_ROUTING = 'Along-Border-Routing'; ProxyViewEnableEdgeProxies.DEFAULT = ProxyViewEnableEdgeProxies.CHOICE_OFF; ProxyViewEnableEdgeProxies.CHOICES = [ ProxyViewEnableEdgeProxies.CHOICE_OFF, ProxyViewEnableEdgeProxies.CHOICE_STRAIGHT_EDGE_ROUTING, ProxyViewEnableEdgeProxies.CHOICE_ALONG_BORDER_ROUTING, ]; /** * Whether segment proxies should be created. * Segment proxies connect off-screen segments of an edge. */ class ProxyViewEnableSegmentProxies { constructor() { this.id = ProxyViewEnableSegmentProxies.ID; this.name = ProxyViewEnableSegmentProxies.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewEnableSegmentProxies.DEFAULT; this.description = ProxyViewEnableSegmentProxies.DESCRIPTION; this.renderCategory = ProxyViewCategory.ID; this.debug = true; this.currentValue = ProxyViewEnableSegmentProxies.DEFAULT; } } exports.ProxyViewEnableSegmentProxies = ProxyViewEnableSegmentProxies; ProxyViewEnableSegmentProxies.ID = 'proxy-view-enable-segment-proxies'; ProxyViewEnableSegmentProxies.NAME = 'Enable Segment Proxies'; ProxyViewEnableSegmentProxies.DESCRIPTION = 'Whether segment proxies should be created. Segment proxies connect off-screen segments of an edge.'; ProxyViewEnableSegmentProxies.DEFAULT = true; /** Whether to use title scaling if smart zoom is enabled. */ class ProxyViewTitleScaling { constructor() { this.id = ProxyViewTitleScaling.ID; this.name = ProxyViewTitleScaling.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewTitleScaling.DEFAULT; this.description = ProxyViewTitleScaling.DESCRIPTION; this.renderCategory = ProxyViewCategory.ID; this.debug = true; this.currentValue = ProxyViewTitleScaling.DEFAULT; } } exports.ProxyViewTitleScaling = ProxyViewTitleScaling; ProxyViewTitleScaling.ID = 'proxy-view-title-scaling'; ProxyViewTitleScaling.NAME = 'Scale Proxy Titles'; ProxyViewTitleScaling.DESCRIPTION = "Whether a proxy's title should be scaled if smart zoom is enabled."; ProxyViewTitleScaling.DEFAULT = true; /** Whether edge proxies should be drawn above node proxies. */ class ProxyViewDrawEdgesAboveNodes { constructor() { this.id = ProxyViewDrawEdgesAboveNodes.ID; this.name = ProxyViewDrawEdgesAboveNodes.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewDrawEdgesAboveNodes.DEFAULT; this.description = ProxyViewDrawEdgesAboveNodes.DESCRIPTION; this.renderCategory = ProxyViewCategory.ID; this.debug = true; this.currentValue = ProxyViewDrawEdgesAboveNodes.DEFAULT; } } exports.ProxyViewDrawEdgesAboveNodes = ProxyViewDrawEdgesAboveNodes; ProxyViewDrawEdgesAboveNodes.ID = 'proxy-view-draw-edges-above-nodes'; ProxyViewDrawEdgesAboveNodes.NAME = 'Draw Edges Over Nodes'; ProxyViewDrawEdgesAboveNodes.DESCRIPTION = 'Whether edge proxies should be drawn above node proxies.'; ProxyViewDrawEdgesAboveNodes.DEFAULT = false; /// ///// DEBUG //////// /** The category containing debug proxy-view options. */ class ProxyViewDebugCategory { constructor() { this.id = ProxyViewDebugCategory.ID; this.name = ProxyViewDebugCategory.NAME; this.type = option_models_1.TransformationOptionType.CATEGORY; this.debug = true; } } exports.ProxyViewDebugCategory = ProxyViewDebugCategory; ProxyViewDebugCategory.ID = 'proxy-view-debug-category'; ProxyViewDebugCategory.NAME = 'Proxy-View Debug Options'; ProxyViewDebugCategory.INSTANCE = new ProxyViewDebugCategory(); /** Whether proxies should be interactable. */ class ProxyViewInteractiveProxies { constructor() { this.id = ProxyViewInteractiveProxies.ID; this.name = ProxyViewInteractiveProxies.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewInteractiveProxies.DEFAULT; this.description = ProxyViewInteractiveProxies.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewInteractiveProxies.DEFAULT; } } exports.ProxyViewInteractiveProxies = ProxyViewInteractiveProxies; ProxyViewInteractiveProxies.ID = 'proxy-view-interactive-proxies'; ProxyViewInteractiveProxies.NAME = 'Interactive Proxies'; ProxyViewInteractiveProxies.DESCRIPTION = 'Whether proxies should be interactable. Clicking on a proxy hops to its off-screen counterpart.'; ProxyViewInteractiveProxies.DEFAULT = true; /** Whether to highlight proxies that are connected to the selected node. */ class ProxyViewHighlightSelected { constructor() { this.id = ProxyViewHighlightSelected.ID; this.name = ProxyViewHighlightSelected.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewHighlightSelected.DEFAULT; this.description = ProxyViewHighlightSelected.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewHighlightSelected.DEFAULT; } } exports.ProxyViewHighlightSelected = ProxyViewHighlightSelected; ProxyViewHighlightSelected.ID = 'proxy-view-highlight-selected'; ProxyViewHighlightSelected.NAME = 'Highlight Proxies by Selection'; ProxyViewHighlightSelected.DESCRIPTION = 'Whether proxies that are connected to the selected node should be highlighted.'; ProxyViewHighlightSelected.DEFAULT = false; /** Whether to decrease opacity of proxies that are not connected to the selected node and increase otherwise. */ class ProxyViewOpacityBySelected { constructor() { this.id = ProxyViewOpacityBySelected.ID; this.name = ProxyViewOpacityBySelected.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewOpacityBySelected.DEFAULT; this.description = ProxyViewOpacityBySelected.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewOpacityBySelected.DEFAULT; } } exports.ProxyViewOpacityBySelected = ProxyViewOpacityBySelected; ProxyViewOpacityBySelected.ID = 'proxy-view-opacity-by-selected'; ProxyViewOpacityBySelected.NAME = 'Transparent Proxies by Selection'; ProxyViewOpacityBySelected.DESCRIPTION = 'Whether proxies that are not connected to the selected node should be more transparent.'; ProxyViewOpacityBySelected.DEFAULT = true; /** Whether to use the synthesis specified proxy-rendering. */ class ProxyViewUseSynthesisProxyRendering { constructor() { this.id = ProxyViewUseSynthesisProxyRendering.ID; this.name = ProxyViewUseSynthesisProxyRendering.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewUseSynthesisProxyRendering.DEFAULT; this.description = ProxyViewUseSynthesisProxyRendering.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewUseSynthesisProxyRendering.DEFAULT; } } exports.ProxyViewUseSynthesisProxyRendering = ProxyViewUseSynthesisProxyRendering; ProxyViewUseSynthesisProxyRendering.ID = 'proxy-view-use-synthesis-proxy-rendering'; ProxyViewUseSynthesisProxyRendering.NAME = 'Use Synthesis Proxy-Rendering'; ProxyViewUseSynthesisProxyRendering.DESCRIPTION = 'Whether proxies should be rendered as specified by the synthesis (if specified).'; ProxyViewUseSynthesisProxyRendering.DEFAULT = true; /** Whether to use a simple version of Along-Border-Routing. Can cause strange artifacts if an edge e.g. oscillates. */ class ProxyViewSimpleAlongBorderRouting { constructor() { this.id = ProxyViewSimpleAlongBorderRouting.ID; this.name = ProxyViewSimpleAlongBorderRouting.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewSimpleAlongBorderRouting.DEFAULT; this.description = ProxyViewSimpleAlongBorderRouting.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewSimpleAlongBorderRouting.DEFAULT; } } exports.ProxyViewSimpleAlongBorderRouting = ProxyViewSimpleAlongBorderRouting; ProxyViewSimpleAlongBorderRouting.ID = 'proxy-view-simple-along-border-routing'; ProxyViewSimpleAlongBorderRouting.NAME = 'Use Simple Along-Border-Routing'; ProxyViewSimpleAlongBorderRouting.DESCRIPTION = 'Whether to use a simple version of Along-Border-Routing. Can cause strange artifacts if an edge e.g. oscillates.'; ProxyViewSimpleAlongBorderRouting.DEFAULT = false; /** Whether to cap proxies in their parent node. */ class ProxyViewCapProxyToParent { constructor() { this.id = ProxyViewCapProxyToParent.ID; this.name = ProxyViewCapProxyToParent.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewCapProxyToParent.DEFAULT; this.description = ProxyViewCapProxyToParent.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewCapProxyToParent.DEFAULT; } } exports.ProxyViewCapProxyToParent = ProxyViewCapProxyToParent; ProxyViewCapProxyToParent.ID = 'proxy-view-cap-proxy-to-parent'; ProxyViewCapProxyToParent.NAME = 'Cap Proxy to Parent'; ProxyViewCapProxyToParent.DESCRIPTION = 'Whether proxies should be capped inside their parent node.'; ProxyViewCapProxyToParent.DEFAULT = true; /** Whether to show proxies immediately, e.g. whether proxies should be created once a node is partially off-screen. */ class ProxyViewShowProxiesImmediately { constructor() { this.id = ProxyViewShowProxiesImmediately.ID; this.name = ProxyViewShowProxiesImmediately.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewShowProxiesImmediately.DEFAULT; this.description = ProxyViewShowProxiesImmediately.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewShowProxiesImmediately.DEFAULT; } } exports.ProxyViewShowProxiesImmediately = ProxyViewShowProxiesImmediately; ProxyViewShowProxiesImmediately.ID = 'proxy-view-show-proxies-immediately'; ProxyViewShowProxiesImmediately.NAME = 'Show Proxies Immediately'; ProxyViewShowProxiesImmediately.DESCRIPTION = 'Whether proxies should be created once a node is partially off-screen.'; ProxyViewShowProxiesImmediately.DEFAULT = false; /** Whether to show proxies early, e.g. whether proxies should be created before a node is fully off-screen. */ class ProxyViewShowProxiesEarly { constructor() { this.id = ProxyViewShowProxiesEarly.ID; this.name = ProxyViewShowProxiesEarly.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewShowProxiesEarly.DEFAULT; this.description = ProxyViewShowProxiesEarly.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewShowProxiesEarly.DEFAULT; } } exports.ProxyViewShowProxiesEarly = ProxyViewShowProxiesEarly; ProxyViewShowProxiesEarly.ID = 'proxy-view-show-proxies-early'; ProxyViewShowProxiesEarly.NAME = 'Show Proxies Early'; ProxyViewShowProxiesEarly.DESCRIPTION = 'Whether proxies should be created before a node is fully off-screen.'; ProxyViewShowProxiesEarly.DEFAULT = false; /** The amount by which to show proxies early if enabled. The number indicates a percentage of the minimum of the canvas' dimensions. */ class ProxyViewShowProxiesEarlyNumber { constructor() { this.id = ProxyViewShowProxiesEarlyNumber.ID; this.name = ProxyViewShowProxiesEarlyNumber.NAME; this.type = option_models_1.TransformationOptionType.RANGE; this.initialValue = ProxyViewShowProxiesEarlyNumber.DEFAULT; this.description = ProxyViewShowProxiesEarlyNumber.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.range = ProxyViewShowProxiesEarlyNumber.RANGE; this.stepSize = ProxyViewShowProxiesEarlyNumber.STEPSIZE; this.values = []; this.debug = true; this.currentValue = ProxyViewShowProxiesEarlyNumber.DEFAULT; } } exports.ProxyViewShowProxiesEarlyNumber = ProxyViewShowProxiesEarlyNumber; ProxyViewShowProxiesEarlyNumber.ID = 'proxy-view-decrease-canvas-size-number'; ProxyViewShowProxiesEarlyNumber.NAME = 'Show Proxies Early Number'; ProxyViewShowProxiesEarlyNumber.DESCRIPTION = "The amount by which to show proxies early if enabled. The number indicates a percentage of the minimum of the canvas' dimensions."; ProxyViewShowProxiesEarlyNumber.DEFAULT = 5; ProxyViewShowProxiesEarlyNumber.RANGE = { first: 1, second: 15 }; ProxyViewShowProxiesEarlyNumber.STEPSIZE = 1; /** Whether to change stacking order such that close proxies are stacked above distant ones. */ class ProxyViewStackingOrderByDistance { constructor() { this.id = ProxyViewStackingOrderByDistance.ID; this.name = ProxyViewStackingOrderByDistance.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewStackingOrderByDistance.DEFAULT; this.description = ProxyViewStackingOrderByDistance.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewStackingOrderByDistance.DEFAULT; } } exports.ProxyViewStackingOrderByDistance = ProxyViewStackingOrderByDistance; ProxyViewStackingOrderByDistance.ID = 'proxy-view-stacking-order-by-distance'; ProxyViewStackingOrderByDistance.NAME = 'Render Close Nodes At Top'; ProxyViewStackingOrderByDistance.DESCRIPTION = 'Whether close proxies should be stacked above distant proxies.'; ProxyViewStackingOrderByDistance.DEFAULT = true; /** Whether to change stacking order such that fully opaque proxies are stacked above transparent ones. */ class ProxyViewStackingOrderByOpacity { constructor() { this.id = ProxyViewStackingOrderByOpacity.ID; this.name = ProxyViewStackingOrderByOpacity.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewStackingOrderByOpacity.DEFAULT; this.description = ProxyViewStackingOrderByOpacity.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewStackingOrderByOpacity.DEFAULT; } } exports.ProxyViewStackingOrderByOpacity = ProxyViewStackingOrderByOpacity; ProxyViewStackingOrderByOpacity.ID = 'proxy-view-stacking-order-by-opacity'; ProxyViewStackingOrderByOpacity.NAME = 'Render Opaque Nodes At Top'; ProxyViewStackingOrderByOpacity.DESCRIPTION = 'Whether fully opaque proxies should be stacked above transparent proxies.'; ProxyViewStackingOrderByOpacity.DEFAULT = true; /** Whether to change stacking order such that selected proxies are stacked above others. */ class ProxyViewStackingOrderBySelected { constructor() { this.id = ProxyViewStackingOrderBySelected.ID; this.name = ProxyViewStackingOrderBySelected.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewStackingOrderBySelected.DEFAULT; this.description = ProxyViewStackingOrderBySelected.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewStackingOrderBySelected.DEFAULT; } } exports.ProxyViewStackingOrderBySelected = ProxyViewStackingOrderBySelected; ProxyViewStackingOrderBySelected.ID = 'proxy-view-stacking-order-by-selected'; ProxyViewStackingOrderBySelected.NAME = 'Render Selected Nodes At Top'; ProxyViewStackingOrderBySelected.DESCRIPTION = 'Whether selected proxies should be stacked above other proxies.'; ProxyViewStackingOrderBySelected.DEFAULT = true; /** Whether proxies should be shown for nodes that aren't rendered because of the parent's detail level. */ class ProxyViewUseDetailLevel { constructor() { this.id = ProxyViewUseDetailLevel.ID; this.name = ProxyViewUseDetailLevel.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewUseDetailLevel.DEFAULT; this.description = ProxyViewUseDetailLevel.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewUseDetailLevel.DEFAULT; } } exports.ProxyViewUseDetailLevel = ProxyViewUseDetailLevel; ProxyViewUseDetailLevel.ID = 'proxy-view-use-detail-level'; ProxyViewUseDetailLevel.NAME = 'Use Detail Level'; ProxyViewUseDetailLevel.DESCRIPTION = "Whether proxies should be shown for nodes that aren't rendered because of the parent's detail level."; ProxyViewUseDetailLevel.DEFAULT = true; /** Whether edge proxies should be drawn when the source or target point is off-screen. */ class ProxyViewEdgesToOffScreenPoint { constructor() { this.id = ProxyViewEdgesToOffScreenPoint.ID; this.name = ProxyViewEdgesToOffScreenPoint.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewEdgesToOffScreenPoint.DEFAULT; this.description = ProxyViewEdgesToOffScreenPoint.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewEdgesToOffScreenPoint.DEFAULT; } } exports.ProxyViewEdgesToOffScreenPoint = ProxyViewEdgesToOffScreenPoint; ProxyViewEdgesToOffScreenPoint.ID = 'proxy-view-draw-edges-to-off-screen-point'; ProxyViewEdgesToOffScreenPoint.NAME = 'Draw Edges to Off-Screen Point'; ProxyViewEdgesToOffScreenPoint.DESCRIPTION = 'Whether edge proxies should be drawn when the source or target point is off-screen.'; ProxyViewEdgesToOffScreenPoint.DEFAULT = true; /** Whether edges should become transparent when the corresponding edge proxies are on-screen. This actually modifies the diagram. */ class ProxyViewTransparentEdges { constructor() { this.id = ProxyViewTransparentEdges.ID; this.name = ProxyViewTransparentEdges.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewTransparentEdges.DEFAULT; this.description = ProxyViewTransparentEdges.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewTransparentEdges.DEFAULT; } } exports.ProxyViewTransparentEdges = ProxyViewTransparentEdges; ProxyViewTransparentEdges.ID = 'proxy-view-transparent-edges'; ProxyViewTransparentEdges.NAME = 'Fade Out Edges'; ProxyViewTransparentEdges.DESCRIPTION = 'Whether edges should become transparent when the corresponding edge proxies are on-screen. This actually modifies the diagram.'; ProxyViewTransparentEdges.DEFAULT = false; /** Whether proxies should be as big as their corresponding node. */ class ProxyViewOriginalNodeScale { constructor() { this.id = ProxyViewOriginalNodeScale.ID; this.name = ProxyViewOriginalNodeScale.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewOriginalNodeScale.DEFAULT; this.description = ProxyViewOriginalNodeScale.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewOriginalNodeScale.DEFAULT; } } exports.ProxyViewOriginalNodeScale = ProxyViewOriginalNodeScale; ProxyViewOriginalNodeScale.ID = 'proxy-view-original-node-scale'; ProxyViewOriginalNodeScale.NAME = 'Original Node Scale'; ProxyViewOriginalNodeScale.DESCRIPTION = 'Whether proxies should be as big as their corresponding node.'; ProxyViewOriginalNodeScale.DEFAULT = false; /** Whether to cap scaling of proxies to 1. */ class ProxyViewCapScaleToOne { constructor() { this.id = ProxyViewCapScaleToOne.ID; this.name = ProxyViewCapScaleToOne.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewCapScaleToOne.DEFAULT; this.description = ProxyViewCapScaleToOne.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewCapScaleToOne.DEFAULT; } } exports.ProxyViewCapScaleToOne = ProxyViewCapScaleToOne; ProxyViewCapScaleToOne.ID = 'proxy-view-cap-scale-to-one'; ProxyViewCapScaleToOne.NAME = 'Cap Scaling to 1'; ProxyViewCapScaleToOne.DESCRIPTION = 'Whether proxies should be upscaled more than their original size.'; ProxyViewCapScaleToOne.DEFAULT = true; /** Whether clusters should be transparent according to the average of their contained proxies' opacities. */ class ProxyViewClusterTransparent { constructor() { this.id = ProxyViewClusterTransparent.ID; this.name = ProxyViewClusterTransparent.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewClusterTransparent.DEFAULT; this.description = ProxyViewClusterTransparent.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewClusterTransparent.DEFAULT; } } exports.ProxyViewClusterTransparent = ProxyViewClusterTransparent; ProxyViewClusterTransparent.ID = 'proxy-view-cluster-transparent'; ProxyViewClusterTransparent.NAME = 'Allow Transparent Cluster'; ProxyViewClusterTransparent.DESCRIPTION = "Whether clusters should be transparent according to the average of their contained proxies' opacities."; ProxyViewClusterTransparent.DEFAULT = false; /** Whether cascading clustering should be used, i.e. take transitive overlap into consideration. */ class ProxyViewClusteringCascading { constructor() { this.id = ProxyViewClusteringCascading.ID; this.name = ProxyViewClusteringCascading.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewClusteringCascading.DEFAULT; this.description = ProxyViewClusteringCascading.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewClusteringCascading.DEFAULT; } } exports.ProxyViewClusteringCascading = ProxyViewClusteringCascading; ProxyViewClusteringCascading.ID = 'proxy-view-clustering-cascading'; ProxyViewClusteringCascading.NAME = 'Cascading Clustering'; ProxyViewClusteringCascading.DESCRIPTION = 'Whether clustering should be cascading.'; ProxyViewClusteringCascading.DEFAULT = false; /** Whether the sweep line algorithm should be used for clustering. Defaults to false since evaluated to be slower in the current implementation as-is. */ class ProxyViewClusteringSweepLine { constructor() { this.id = ProxyViewClusteringSweepLine.ID; this.name = ProxyViewClusteringSweepLine.NAME; this.type = option_models_1.TransformationOptionType.CHECK; this.initialValue = ProxyViewClusteringSweepLine.DEFAULT; this.description = ProxyViewClusteringSweepLine.DESCRIPTION; this.renderCategory = ProxyViewDebugCategory.ID; this.debug = true; this.currentValue = ProxyViewClusteringSweepLine.DEFAULT; } } exports.ProxyViewClusteringSweepLine = ProxyViewClusteringSweepLine; ProxyViewClusteringSweepLine.ID = 'proxy-view-clustering-sweep-line'; ProxyViewClusteringSweepLine.NAME = 'Sweep Line Clustering'; ProxyViewClusteringSweepLine.DESCRIPTION = 'Whether clustering should be done via sweep line algorithm.'; ProxyViewClusteringSweepLine.DEFAULT = false; //# sourceMappingURL=proxy-view-options.js.map