@visuallyjs/browser-ui-angular 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, ElementRef, EventEmitter, Input, NgZone, Output, ViewContainerRef, inject, reflectComponentType } from "@angular/core";
|
|
2
|
-
import { EVENT_EDGE_UPDATED, EVENT_GROUP_UPDATED, EVENT_NODE_UPDATED, EVENT_PORT_ADDED, EVENT_PORT_UPDATED, extend, renderSurface,
|
|
2
|
+
import { EVENT_EDGE_UPDATED, EVENT_GROUP_UPDATED, EVENT_NODE_UPDATED, EVENT_PORT_ADDED, EVENT_PORT_UPDATED, extend, renderSurface, OVERLAY_TYPE_CUSTOM, isGroup, EVENT_INTERNAL_CONNECTION, EVENT_DATA_LOAD_END, ELEMENT_DIV } from "@visuallyjs/browser-ui";
|
|
3
3
|
import { AngularComponentOverlayType, } from "./overlay-component";
|
|
4
4
|
import { DefaultGroupComponent } from "./default-group-component";
|
|
5
5
|
import { DefaultNodeComponent } from "./default-node-component";
|
|
@@ -90,7 +90,7 @@ export class SurfaceComponent {
|
|
|
90
90
|
const fo = o;
|
|
91
91
|
if (fo.type === AngularComponentOverlayType) {
|
|
92
92
|
const newSpec = Object.assign(fo, {
|
|
93
|
-
type:
|
|
93
|
+
type: OVERLAY_TYPE_CUSTOM,
|
|
94
94
|
});
|
|
95
95
|
newSpec.options = (newSpec.options || {});
|
|
96
96
|
newSpec.options.create = (connection) => {
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, inject, ElementRef, Component, Input, ChangeDetectorRef, signal, computed, Directive, EventEmitter, ViewContainerRef, NgZone, reflectComponentType, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { log, Surface, Paper, MiniviewPlugin, EVENT_ZOOM, EVENT_PORT_UPDATED, BrowserUIModel,
|
|
5
|
+
import { log, Surface, Paper, MiniviewPlugin, EVENT_ZOOM, EVENT_PORT_UPDATED, BrowserUIModel, OVERLAY_TYPE_CUSTOM, ELEMENT_DIV, isGroup, extend, renderSurface, EVENT_NODE_UPDATED, EVENT_PORT_ADDED, EVENT_GROUP_UPDATED, EVENT_DATA_LOAD_END, EVENT_EDGE_UPDATED, EVENT_INTERNAL_CONNECTION, ShapeLibraryDefaults, ShapePalette, DEFAULT_LABEL_FILL_RATIO, convertToMultilineText, LassoPlugin, EVENT_SURFACE_MODE_CHANGED, EVENT_UNDOREDO_UPDATE, TRUE, FALSE, EVENT_SELECT, EVENT_DESELECT, EVENT_SELECTION_CLEARED, SURFACE_MODE_PAN, SURFACE_MODE_SELECT, supportsPathEditing, PAN_VIEW_BOX, PAN_PATH, LASSO_VIEW_BOX, LASSO_PATH, ZOOM_TO_FIT_VIEW_BOX, ZOOM_TO_FIT_PATH, ZOOM_IN_OUT_VIEW_BOX, ZOOM_IN_PATH, ZOOM_OUT_PATH, CLASS_CONTROLS_RESET_SELECTION, RESET_SELECTION_VIEW_BOX, RESET_SELECTION_PATH, CLEAR_VIEW_BOX, CLEAR_PATH, INSPECTOR_CONTEXT_EDGE_PROPERTY_MAPPINGS, EdgeTypePicker, Palette, SvgExportUI, ImageExportUI, CLASS_CONTROLS, CLASS_EXPORT_CONTROLS, INSPECTOR_CONTEXT_RECENT_COLORS, EVENT_CONTEXT_UPDATE, CLASS_COLOR_PICKER, CLASS_COLOR_PICKER_SWATCHES, CLASS_COLOR_PICKER_SWATCH, createDiagram, ColumnChart, BarChart, DiagramPalette, CategoryValueChart, LineChart, AreaChart, PieChart, ScatterChart, BubbleChart, SankeyChart, Edge, Node, Group, Port, Inspector } from '@visuallyjs/browser-ui';
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class VisuallyJsService {
|
|
@@ -610,7 +610,7 @@ class SurfaceComponent {
|
|
|
610
610
|
const fo = o;
|
|
611
611
|
if (fo.type === AngularComponentOverlayType) {
|
|
612
612
|
const newSpec = Object.assign(fo, {
|
|
613
|
-
type:
|
|
613
|
+
type: OVERLAY_TYPE_CUSTOM,
|
|
614
614
|
});
|
|
615
615
|
newSpec.options = (newSpec.options || {});
|
|
616
616
|
newSpec.options.create = (connection) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visuallyjs-browser-ui-angular.mjs","sources":["../../../../projects/visuallyjs/browser-ui-angular/src/lib/vjs-service.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/miniview-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/overlay-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.vertex.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.group.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/default-group-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.node.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/default-node-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.port.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/model.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/surface-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/shape.palette.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/shape.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/controls-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/edge.type.picker.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/palette.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/export-controls-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/color.tag.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/diagram-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/column.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/bar.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/diagram-palette-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/xy.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/line.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/area.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/pie.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/scatter.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/bubble.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/sankey.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/decorator-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/browser-ui-angular.module.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/common.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/inspector.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/index.ts","../../../../projects/visuallyjs/browser-ui-angular/src/visuallyjs-browser-ui-angular.ts"],"sourcesContent":["import {BrowserUI, Diagram, Inspector, log, Paper, Surface, BrowserUIModel} from \"@visuallyjs/browser-ui\";\nimport {Injectable} from \"@angular/core\";\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VisuallyJsService {\n\n private $model:BrowserUIModel\n private $surface:Surface\n private $paper:Paper\n private $diagram:Diagram\n private $inspector:Inspector\n\n private inspectorListeners:Array<(i:Inspector) => any> = []\n private surfaceListeners:Array<(s:Surface) => any> = []\n private paperListeners:Array<(p:Paper) => any> = []\n private modelListeners:Array<(m:BrowserUIModel) => any> = []\n private diagramListeners:Array<(d:Diagram) => any> = []\n private uiListeners:Array<(b:BrowserUI) => any> = []\n\n $setInspector(i:Inspector):void {\n this.$inspector = i\n this.$notifyInspector()\n }\n\n private $notifyInspector():void {\n this.inspectorListeners.forEach(sl => {\n try {\n sl(this.$inspector)\n } catch (e) {\n log(`WARN: could not notify Inspector listener ${e}`)\n }\n })\n\n this.inspectorListeners.length = 0\n }\n\n $setSurface(s:Surface):void {\n // @ts-ignore\n this.$setModel(s.model)\n this.$surface = s\n this.$notifySurface()\n }\n\n private $notifySurface():void {\n this.surfaceListeners.forEach(sl => {\n try {\n sl(this.$surface)\n } catch (e) {\n log(`WARN: could not notify Surface listener ${e}`)\n }\n })\n\n this.surfaceListeners.length = 0\n\n this.$notifyUI(this.$surface)\n }\n\n \n getSurface(cb:(s:Surface) => any):void {\n if (this.$surface != null) {\n cb(this.$surface)\n } else {\n this.surfaceListeners.push(cb)\n }\n }\n\n \n getInspector(cb:(s:Inspector) => any):void {\n if (this.$inspector != null) {\n cb(this.$inspector)\n } else {\n this.inspectorListeners.push(cb)\n }\n }\n\n $setPaper(p:Paper):void {\n // @ts-ignore\n this.$setModel(p.model)\n this.$paper = p\n this.$notifyPaper()\n }\n\n private $notifyPaper():void {\n this.paperListeners.forEach(sl => {\n try {\n sl(this.$paper)\n } catch (e) {\n log(`WARN: could not notify Paper listener ${e}`)\n }\n })\n\n this.paperListeners.length = 0\n\n this.$notifyUI(this.$paper)\n }\n\n \n getPaper(cb:(p:Paper) => any):void {\n if (this.$paper != null) {\n cb(this.$paper)\n } else {\n this.paperListeners.push(cb)\n }\n }\n\n $setDiagram(d:Diagram):void {\n this.$diagram = d\n if (d.$ui instanceof Surface) {\n this.$setSurface(d.$ui as Surface)\n }\n if (d.$ui instanceof Paper) {\n this.$setPaper(d.$ui as Paper)\n }\n this.$notifyDiagram()\n }\n\n private $notifyDiagram():void {\n this.diagramListeners.forEach(sl => {\n try {\n sl(this.$diagram)\n } catch (e) {\n log(`WARN: could not notify Diagram listener ${e}`)\n }\n })\n\n this.diagramListeners.length = 0\n }\n\n \n getDiagram(cb:(p:Diagram) => any):void {\n if (this.$diagram != null) {\n cb(this.$diagram)\n } else {\n this.diagramListeners.push(cb)\n }\n }\n\n \n getModel(cb:(p:BrowserUIModel) => any):void {\n if (this.$model != null) {\n cb(this.$model)\n } else {\n this.modelListeners.push(cb)\n }\n }\n\n \n $setModel(m:BrowserUIModel):void {\n this.$model = m\n this.$notifyModel()\n }\n\n private $notifyModel():void {\n this.modelListeners.forEach(sl => {\n try {\n sl(this.$model)\n } catch (e) {\n log(`WARN: could not notify Model listener ${e}`)\n }\n })\n this.modelListeners.length = 0\n }\n\n private $notifyUI(ui:BrowserUI):void {\n this.uiListeners.forEach(sl => {\n try {\n sl(ui)\n } catch (e) {\n log(`WARN: could not notify UI listener ${e}`)\n }\n })\n this.uiListeners.length = 0\n }\n\n \n getUI(cb:(b:BrowserUI) => any):void {\n const ui = this.$surface || this.$paper\n if (ui != null) {\n cb(ui)\n } else {\n this.uiListeners.push(cb)\n }\n }\n\n\n}\n","import {AfterViewInit, Component, ElementRef, inject, Input, NgZone} from \"@angular/core\"\nimport {MiniviewPlugin, Group, Node, BrowserUI, MiniviewPluginOptions} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector: 'vjs-miniview',\n template: `<div></div>`\n})\nexport class MiniviewComponent implements AfterViewInit {\n\n\n \n @Input() elementFilter?: (obj: Node|Group) => boolean;\n\n \n @Input() typeFunction?:(obj:Node|Group) => string;\n\n \n @Input() activeTracking? = true;\n\n \n @Input() clickToCenter? = true;\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n $miniview:MiniviewPlugin\n\n constructor(private ngZone:NgZone) { }\n\n \n ngAfterViewInit():void {\n\n this.ngZone.runOutsideAngular(() => {\n // this.$service.addMiniview(this.surfaceId, {\n // container: this.el.nativeElement.childNodes[0],\n // elementFilter: this.elementFilter,\n // typeFunction: this.typeFunction,\n // activeTracking: this.activeTracking,\n // clickToCenter: this.clickToCenter !== false\n // })\n this.$vjs.getUI((b:BrowserUI) => {\n this.$miniview = b.addPlugin<MiniviewPluginOptions, MiniviewPlugin>(\n {\n type: MiniviewPlugin.type,\n options: {\n container: this.$el.nativeElement.childNodes[0],\n elementFilter: this.elementFilter,\n typeFunction: this.typeFunction,\n activeTracking: this.activeTracking,\n clickToCenter: this.clickToCenter !== false\n },\n },\n );\n })\n })\n\n }\n\n \n redraw():void {\n if(this.$miniview != null) {\n this.$miniview.invalidate()\n }\n }\n}\n","import {Edge, ObjectData, Surface} from \"@visuallyjs/browser-ui\"\nimport {ChangeDetectorRef, inject} from \"@angular/core\"\nimport {VisuallyJsModel} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsAngularComponent} from \"./surface-component\"\n\n\nexport const AngularComponentOverlayType = \"AngularComponent\"\n\n\nexport interface AngularOverlayComponent extends VisuallyJsAngularComponent {\n \n edge:Edge\n}\n\n\nexport abstract class BaseAngularOverlayComponent implements AngularOverlayComponent {\n \n model:VisuallyJsModel\n \n surface:Surface\n \n data:ObjectData\n \n edge:Edge\n\n \n changeDetectorRef = inject(ChangeDetectorRef)\n\n \n updateEdge(updates:ObjectData):void {\n this.model.updateEdge(this.edge, updates)\n }\n\n \n removeEdge():void {\n this.model.removeEdge(this.edge)\n }\n}\n","\nimport {\n ChangeDetectorRef,\n inject,\n Injectable,\n Input,\n OnDestroy,\n OnInit,\n signal,\n} from \"@angular/core\";\nimport {\n ObjectData,\n Node,\n Surface,\n BrowserElement,\n VisuallyJsModel, SurfaceVertexCloneOptions,\n Port,\n EVENT_ZOOM,\n PanZoomEventPayload,\n} from \"@visuallyjs/browser-ui\"\n\n\n@Injectable()\nexport abstract class BaseVertexComponent<T extends Node>\n implements OnInit, OnDestroy\n{\n \n @Input() data: ObjectData;\n\n \n @Input() model: VisuallyJsModel;\n\n \n @Input() surface: Surface;\n\n \n @Input() modelObject: T;\n\n \n _el: BrowserElement;\n\n \n changeDetectorRef = inject(ChangeDetectorRef);\n\n \n readonly $data = signal<ObjectData>(undefined!);\n\n \n zoom = signal(1)\n\n \n private _zoomHandler:(p:{zoom:number}) => any\n\n \n ngOnInit(): void {\n this.$data.set(this.data);\n this._zoomHandler = (p:PanZoomEventPayload) => {\n this.zoom.set(p.zoom)\n }\n this.zoom.set(this.surface.getZoom())\n this.surface.bind(EVENT_ZOOM, this._zoomHandler)\n }\n\n \n getVertex(): T {\n return this._getVertex();\n }\n\n \n abstract _getVertex(): T;\n\n \n ngOnDestroy(): void {\n this.surface.unbind(EVENT_ZOOM, this._zoomHandler)\n delete (this._el as any)._visuallyJsNgComponent._el;\n delete this._el;\n delete this.model;\n delete this.surface;\n }\n\n \n removeVertex(): void {\n this.model.remove(this.getVertex());\n }\n\n \n addNewPort(type: string, data: ObjectData): void {\n this.model.addNewPort(this.getVertex(), type, data);\n }\n\n \n addPort(data:ObjectData):Port {\n return this.model.addPort(this.getVertex(), data)\n }\n\n \n setAsSelection():void {\n this.model.setSelection(this.getVertex())\n }\n\n \n addToSelection():void {\n this.model.addToSelection(this.getVertex())\n }\n\n \n removeFromSelection():void {\n this.model.removeFromSelection(this.getVertex())\n }\n\n \n updateVertex(data: ObjectData): void {\n this.model.updateVertex(this.getVertex(), data);\n }\n\n \n cloneVertex(options?:SurfaceVertexCloneOptions):void {\n this.surface.cloneVertex(this.getVertex(), options)\n }\n\n \n flashVertex(duration:number, animName?:string) :void {\n this.surface.flashVertex(this.getVertex(), duration, animName)\n }\n}\n","\nimport {\n Group, Node,\n ObjectData, Port, SurfaceVertexCloneOptions\n} from \"@visuallyjs/browser-ui\"\nimport {Injectable} from \"@angular/core\"\nimport {BaseVertexComponent} from \"./base.vertex.component\"\n\n\n\n@Injectable()\nexport abstract class BaseGroupComponent extends BaseVertexComponent<Group> {\n\n \n getGroup():Group { return this.model.getGroup(this.model.getGroupId(this.data)); }\n\n \n getMembers():Array<Node> { return this.getGroup().getMembers()}\n\n \n _getVertex(): Group {\n return this.getGroup()\n }\n\n \n updateGroup(data:ObjectData):void {\n this.updateVertex(data)\n }\n\n \n removeGroup():void {\n this.removeVertex()\n }\n\n \n cloneGroup(options?:SurfaceVertexCloneOptions):void {\n this.cloneVertex(options)\n }\n\n \n flashGroup(duration:number, animName?:string) :void {\n this.flashVertex(duration, animName)\n }\n\n \n removePort(portId:string):void {\n this.model.removePort(this.getGroup(), portId)\n }\n\n \n getPort(portId:string):Port {\n return this.getGroup().getPort(portId)\n }\n\n}\n","\nimport {Component, computed} from \"@angular/core\"\nimport {BaseGroupComponent} from \"./base.group.component\"\n\n\n@Component({\n template:`<div class=\"vjs-default-group\">{{label()}}</div>`\n})\nexport class DefaultGroupComponent extends BaseGroupComponent {\n\n readonly label = computed( () =>\n this.$data().label || \"\"\n );\n\n}\n","\nimport {\n Node,\n ObjectData, Port, SurfaceVertexCloneOptions\n} from \"@visuallyjs/browser-ui\"\nimport {Injectable, Input} from \"@angular/core\"\nimport {BaseVertexComponent} from \"./base.vertex.component\"\n\n\n\n@Injectable()\nexport abstract class BaseNodeComponent extends BaseVertexComponent<Node> {\n\n \n getNode():Node { return this.model.getNode(this.model.getNodeId(this.data)); }\n\n \n _getVertex(): Node {\n return this.getNode()\n }\n\n \n updateNode(data:ObjectData):void {\n this.updateVertex(data)\n }\n\n \n removeNode():void {\n this.removeVertex()\n }\n\n \n removePort(portId:string):void {\n this.model.removePort(this.getNode(), portId)\n }\n\n \n getPort(portId:string):Port {\n return this.getNode().getPort(portId)\n }\n\n \n cloneNode(options?:SurfaceVertexCloneOptions):void {\n this.cloneVertex(options)\n }\n\n \n flashNode(duration:number, animName?:string) :void {\n this.flashVertex(duration, animName)\n }\n}\n","\nimport {Component, computed} from \"@angular/core\"\nimport {BaseNodeComponent} from \"./base.node.component\"\n\n\n@Component({\n template:`<div class=\"vjs-default-node\">{{label()}}</div>`\n})\nexport class DefaultNodeComponent extends BaseNodeComponent {\n\n readonly label = computed( () =>\n this.$data().label || \"\"\n );\n\n}\n","import {\n ObjectData,\n Port,\n Node,\n Group,\n EVENT_PORT_UPDATED,\n PortUpdatedParams,\n log,\n} from \"@visuallyjs/browser-ui\";\n\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n OnInit,\n signal,\n} from \"@angular/core\";\nimport { BaseVertexComponent } from \"./base.vertex.component\";\n\n\n@Directive({\n selector: \"vjs-base-port\",\n})\nexport class BasePortComponent<O = ObjectData> implements OnInit, OnDestroy {\n \n changeDetectorRef = inject(ChangeDetectorRef);\n\n \n private _signalBinder!: (params: PortUpdatedParams) => any;\n\n \n readonly $data = signal<O>(undefined!);\n\n \n @Input() parent: BaseVertexComponent<Node | Group>;\n\n \n @Input() data: O;\n\n constructor(public el: ElementRef) {\n el.nativeElement._visuallyJsNgComponent = this;\n }\n\n \n private _signalBinding(n: PortUpdatedParams): void {\n if (this.parent != null) {\n \n if (n.vertex.id === this.parent.data.id && n.port.id === this.data[\"id\"]) {\n this.$data.set(this.data);\n }\n }\n }\n\n \n ngOnInit(): void {\n if (this.data == null) {\n log(`WARN: cannot instantiate port component; \"data\" not set`);\n return;\n }\n\n if (this.parent == null) {\n log(\n `WARN: cannot instantiate port component; \"parent\" not set (you need to set parent to be a BaseNodeComponent or BaseGroupComponent on this component in your template)`,\n );\n return;\n }\n\n this.$data.set(this.data);\n this._signalBinder = this._signalBinding.bind(this);\n this.parent.model.bind(EVENT_PORT_UPDATED, this._signalBinder);\n }\n\n \n getPort(): Port {\n return this.parent\n .getVertex()\n .getPort(this.parent.model.getPortId(this.data));\n }\n\n \n getPortId(): string {\n return this.parent.model.getPortId(this.data);\n }\n\n \n updatePort(data: ObjectData): void {\n this.parent.model.updatePort(this.getPort(), data);\n }\n\n \n removePort(): void {\n this.parent.model.removePort(this.parent.getVertex(), this.getPortId());\n }\n\n \n ngOnDestroy(): void {\n this.parent.model.unbind(EVENT_PORT_UPDATED, this._signalBinder);\n }\n}\n","import {\n BrowserUIModel,\n Surface,\n SurfaceOptions,\n log\n} from \"@visuallyjs/browser-ui\";\n\n\n\nexport class BrowserUIAngularModel extends BrowserUIModel {\n render(container: Element, options?: SurfaceOptions): Surface {\n log(\n \"render called directly on BrowserUIAngularModel class: should not happen. UI should use internal render.\",\n );\n return null;\n }\n}\n\n","import {\n AfterViewInit,\n Component,\n ComponentRef,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewContainerRef,\n ChangeDetectorRef, WritableSignal, inject, reflectComponentType\n} from \"@angular/core\"\n\nimport {\n EdgeUpdatedParams,\n EVENT_EDGE_UPDATED,\n EVENT_GROUP_UPDATED,\n EVENT_NODE_UPDATED,\n EVENT_PORT_ADDED,\n EVENT_PORT_UPDATED,\n extend,\n ObjectData,\n PortUpdatedParams,\n Vertex,\n VertexUpdatedParams,\n FullOverlaySpec,\n OverlaySpec,\n renderSurface,\n Surface,\n TemplateRenderer,\n CustomOverlay,\n isGroup,\n BrowserElement,\n EVENT_INTERNAL_CONNECTION,\n VisuallyJsModel,\n ModelOptions,\n EVENT_DATA_LOAD_END,\n SurfaceSaveData, ExportOptions, SaveOptions, CustomOverlayOptions, ELEMENT_DIV, Connection, HTMLElementOverlayHolder,\n BrowserUIModel\n} from \"@visuallyjs/browser-ui\"\nimport {\n AngularRenderOptions,\n AngularViewOptions,\n AngularNodeMapping, AngularGroupMapping,\n} from \"./common\";\n\nimport {\n AngularComponentOverlayType,\n AngularOverlayComponent,\n} from \"./overlay-component\";\nimport { DefaultGroupComponent } from \"./default-group-component\";\nimport { DefaultNodeComponent } from \"./default-node-component\";\nimport { BasePortComponent } from \"./base.port.component\";\nimport {VisuallyJsService} from \"./vjs-service\";\nimport {BrowserUIAngularModel} from \"./model\";\n\n\ntype VisuallyJsAngularDOMElement = BrowserElement & {\n _visuallyJsNgComponent:any\n _ref:ComponentRef<any>\n}\n\n\nexport interface VisuallyJsAngularComponent {\n model:VisuallyJsModel\n surface:Surface\n data:ObjectData\n $data?:WritableSignal<ObjectData>\n changeDetectorRef?:ChangeDetectorRef\n}\n\n\nexport interface VisuallyJsAngularVertexComponent extends VisuallyJsAngularComponent {\n modelObject:Vertex\n _el:VisuallyJsAngularDOMElement\n}\n\n\n@Component({\n selector: \"vjs-surface\",\n template:`<ng-content></ng-content>`\n})\nexport class SurfaceComponent<\n RO extends AngularRenderOptions = AngularRenderOptions,\n >\n implements AfterViewInit, OnDestroy\n{\n\n \n @Input() viewOptions?: AngularViewOptions;\n \n @Input() renderOptions?: AngularRenderOptions;\n\n \n @Input() modelOptions?: ModelOptions;\n\n \n @Input() data?: Record<string, any>;\n\n \n @Input() url?: string;\n\n \n @Output() vertexEvent = new EventEmitter<{\n \n vertex: Vertex;\n \n event: string;\n \n payload: any;\n \n component: ComponentRef<any>;\n }>();\n\n \n model: BrowserUIModel;\n\n \n surface: Surface;\n\n // we keep these refs in order to be able to cleanup listeners properly.\n nodeUpdateFn: (a: any, e?: any) => any;\n groupUpdateFn: (a: any, e?: any) => any;\n portAddedFn: (a: any, e?: any) => any;\n portUpdateFn: (a: any, e?: any) => any;\n dataLoadEndFn: () => any;\n\n edgeUpdateFn: (a: any, e?: any) => any;\n edgeAddFn: (a: any, e?: any) => any;\n\n $el = inject(ElementRef)\n $viewContainerRef = inject(ViewContainerRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n \n getNativeElement(component: any): VisuallyJsAngularDOMElement {\n return component.location.nativeElement.childNodes[0];\n }\n\n private _getComponent(el:BrowserElement, tryParent:boolean):VisuallyJsAngularComponent {\n if (el == null) {\n return null\n } else {\n let vjc = (el as any)._visuallyJsNgComponent\n if (vjc == null && tryParent && el.parentNode != null) {\n vjc = (el.parentNode as any)._visuallyJsNgComponent\n }\n return vjc\n }\n }\n\n private _getComponentThen(el:BrowserElement, then:(component:VisuallyJsAngularComponent) => any, tryParent:boolean):void {\n const c = this._getComponent(el, tryParent)\n if (c != null) {\n then(c)\n }\n }\n\n \n nodeOrGroupUpdated(params: VertexUpdatedParams): void {\n const info = this.surface.getObjectInfo(params.vertex, false);\n\n this._getComponentThen(info.el, (component:VisuallyJsAngularComponent) => {\n component.data = params.vertex.data\n component.$data?.set(component.data)\n if (component.changeDetectorRef) {\n component.changeDetectorRef.detectChanges();\n }\n }, false)\n\n }\n\n portUpdated(params: PortUpdatedParams): void {\n const info = this.surface.getObjectInfo(params.port, false);\n this._getComponentThen(info.el, (component:VisuallyJsAngularComponent) => {\n if (component instanceof BasePortComponent) {\n component.data = params.port.data;\n if (component.changeDetectorRef) {\n component.changeDetectorRef.detectChanges();\n }\n }\n }, true)\n }\n\n \n private edgeUpdated(params: EdgeUpdatedParams): void {\n const connection = this.surface.getRenderedConnection(params.edge.id);\n if (connection) {\n for (let id in connection.overlays) {\n const canvas = (connection.overlays[id] as HTMLElementOverlayHolder).contentElement;\n\n this._getComponentThen(canvas, (component) => {\n if (component.changeDetectorRef != null) {\n component.changeDetectorRef.detectChanges();\n }\n }, false)\n }\n }\n }\n\n \n private _processAngularOverlays(\n view: AngularViewOptions,\n ): AngularViewOptions {\n const self = this;\n const edgeTypes = view.edges || {};\n for (let edgeTypeId in edgeTypes) {\n const edgeType = edgeTypes[edgeTypeId];\n if (edgeType.overlays != null) {\n edgeType.overlays = edgeType.overlays.map((o: OverlaySpec) => {\n if (typeof o === \"string\") {\n return o;\n } else {\n const fo = o as FullOverlaySpec;\n if (fo.type === AngularComponentOverlayType) {\n const newSpec = Object.assign(fo as any, {\n type: CustomOverlay.type,\n }) as FullOverlaySpec\n newSpec.options = (newSpec.options || {}) as CustomOverlayOptions<BrowserElement>\n newSpec.options.create = (connection: Connection<BrowserElement>) => {\n const el = document.createElement(ELEMENT_DIV);\n\n let createdComponent = self.$viewContainerRef.createComponent(\n newSpec.options.component,\n );\n\n let angularOverlayComponent = createdComponent.instance as AngularOverlayComponent;\n\n let nativeEl = createdComponent.location.nativeElement.childNodes[0];\n el.appendChild(nativeEl);\n (el as any)._visuallyJsNgComponent = angularOverlayComponent;\n\n \n if (connection != null) {\n const edge = connection.edge\n angularOverlayComponent.edge = edge;\n angularOverlayComponent.data = edge.data;\n }\n\n angularOverlayComponent.model = self.model;\n angularOverlayComponent.surface = self.surface;\n\n createdComponent.changeDetectorRef.detectChanges();\n\n return el;\n };\n\n return newSpec;\n } else {\n return fo;\n }\n }\n });\n }\n }\n\n return view;\n }\n\n \n save(options:SaveOptions): void {\n this.surface.save(options)\n }\n\n \n exportData(options:ExportOptions):SurfaceSaveData {\n return this.surface.model.exportData(options)\n }\n\n \n dataLoadEnd(): void {\n setTimeout(() => {\n if (this.surface != null) {\n this.surface.repaintEverything();\n }\n }, 0);\n }\n\n private $removeNgElement(el:any):void {\n if (el._ref != null) {\n el._ref.destroy();\n }\n\n if (el.parentNode != null) {\n el.parentNode.removeChild(el);\n }\n }\n\n \n ngAfterViewInit(): void {\n this.$ngZone.runOutsideAngular(() => {\n const view = this._processAngularOverlays(this.viewOptions || {});\n const self = this;\n this.renderOptions = this.renderOptions || ({} as RO);\n\n const render = (\n directiveId: string,\n data: any,\n instance: VisuallyJsModel,\n objectType: string,\n surface: Surface,\n def: AngularNodeMapping|AngularGroupMapping,\n modelObject: Vertex,\n eventInfo?: any,\n ) => {\n let component;\n if (def.component == null) {\n if (isGroup(modelObject)) {\n component = DefaultGroupComponent;\n } else {\n component = DefaultNodeComponent;\n }\n } else {\n component = def.component;\n }\n\n let createdComponent: ComponentRef<any> = self.$viewContainerRef.createComponent(component)\n let _componentRef = createdComponent.instance as VisuallyJsAngularVertexComponent\n\n _componentRef.data = data || {};\n _componentRef.model = model;\n _componentRef.surface = surface;\n _componentRef.modelObject = modelObject;\n\n // get the reflection data for the component\n const componentInfo = reflectComponentType(component)\n // ..and populate any declared inputs from data\n componentInfo.inputs.forEach((pt) => {\n const pv = _componentRef.data[pt.propName];\n if (pv != null) {\n _componentRef[pt.propName] = pv;\n }\n });\n // map to any outputs\n componentInfo.outputs.forEach((pt) => {\n _componentRef[pt.propName].subscribe((d) =>\n self.vertexEvent.emit({\n vertex: modelObject,\n event: pt.propName,\n payload: d,\n component: createdComponent,\n }),\n );\n });\n\n // if angular def has 'inputs' set, set them on the component. this is different to the mechanism above, in which values are extracted from\n // each node's backing data. here we inject values either as a string or from some arbitrary function.\n if (def.inputs != null) {\n for (let k in def.inputs) {\n const v = def.inputs[k];\n const value = typeof v === \"string\" ? v : v(modelObject);\n _componentRef[k] = value;\n }\n }\n\n createdComponent.changeDetectorRef.detectChanges();\n\n // TODO this should not be necessary\n const nativeElement = self.getNativeElement(createdComponent);\n _componentRef._el = nativeElement;\n _componentRef._el._visuallyJsNgComponent = _componentRef;\n _componentRef._el._ref = createdComponent; // we store _ref so we can call `destroy` on it later if the node is removed.\n\n surface.$vertexRendered(modelObject, nativeElement, def as any, eventInfo);\n }\n\n const templateRenderer: TemplateRenderer<any> = {\n asynchronous: false,\n reactive: true,\n usesWrapperElement:false,\n update: (el: any, data: ObjectData, v: Vertex, renderer: Surface) => {},\n render,\n rerender: (\n directiveId: string,\n data: any,\n instance: VisuallyJsModel,\n objectType: string,\n surface: Surface,\n def: AngularNodeMapping|AngularGroupMapping,\n modelObject: Vertex,\n eventInfo: any,\n originalElement:BrowserElement\n ) => {\n this.$removeNgElement(originalElement)\n render(directiveId, data, instance, objectType, surface, def, modelObject, eventInfo)\n },\n cleanupVertex: (objId: string, el: any) => {\n this.$removeNgElement(el)\n },\n cleanupPort: (objId: string, el: any) => {\n this.$removeNgElement(el)\n },\n };\n\n const renderParams = extend<any>(this.renderOptions || {}, {\n view: view,\n });\n\n let model = new BrowserUIAngularModel(this.modelOptions);\n this.model = model;\n\n this.surface = renderSurface(\n model,\n self.$el.nativeElement,\n templateRenderer,\n renderParams,\n );\n //this.$service.addSurface(this.surfaceId, this.surface);\n\n // new\n this.$vjs.$setSurface(this.surface)\n\n // ----------------\n\n this.nodeUpdateFn = this.nodeOrGroupUpdated.bind(this);\n model.bind(EVENT_NODE_UPDATED, this.nodeUpdateFn);\n model.bind(EVENT_PORT_ADDED, this.nodeUpdateFn);\n model.bind(EVENT_GROUP_UPDATED, this.nodeUpdateFn);\n\n this.dataLoadEndFn = this.dataLoadEnd.bind(this);\n model.bind(EVENT_DATA_LOAD_END, this.dataLoadEndFn);\n\n this.portUpdateFn = this.portUpdated.bind(this);\n model.bind(EVENT_PORT_UPDATED, this.portUpdateFn);\n\n this.edgeUpdateFn = this.edgeUpdated.bind(this);\n model.bind(EVENT_EDGE_UPDATED, this.edgeUpdateFn);\n\n if (this.data) {\n this.model.load({ data: this.data });\n } else if (this.url) {\n this.model.load({ url: this.url });\n }\n });\n }\n\n \n ngOnDestroy(): void {\n this.surface.destroy()\n this.model.unbind(EVENT_NODE_UPDATED, this.nodeUpdateFn);\n this.model.unbind(EVENT_GROUP_UPDATED, this.nodeUpdateFn);\n this.model.unbind(EVENT_PORT_ADDED, this.nodeUpdateFn);\n this.model.unbind(EVENT_PORT_UPDATED, this.portUpdateFn);\n this.model.unbind(EVENT_EDGE_UPDATED, this.edgeUpdateFn);\n this.model.unbind(EVENT_DATA_LOAD_END, this.dataLoadEndFn);\n this.surface.unbind(EVENT_INTERNAL_CONNECTION, this.edgeAddFn);\n }\n}\n","import {AfterViewInit, Component, ElementRef, inject, Input} from \"@angular/core\"\nimport {\n ObjectData,\n Size,\n ShapePalette,\n ShapeLibraryDefaults,\n DataGeneratorFunction, OnVertexAddedCallback, PreparedShape\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n template:`<div></div>`,\n selector:`vjs-shape-palette`\n})\nexport class ShapePaletteComponent implements AfterViewInit {\n\n \n @Input() initialSet?:string\n\n \n @Input() dragSize:Size = { width:150, height:100 }\n\n \n @Input() iconSize:Size = { width:150, height:100 }\n\n \n @Input() fill?:string = ShapeLibraryDefaults.FILL\n\n \n @Input() outline?:string = ShapeLibraryDefaults.STROKE\n\n \n @Input() showAllMessage? = \"Show all\"\n\n \n @Input() selectAfterDrop? = true\n\n \n @Input() paletteStrokeWidth? = 1\n\n \n @Input() onVertexAdded?:OnVertexAddedCallback\n\n \n @Input() dataGenerator?:DataGeneratorFunction<ObjectData> = undefined\n\n \n @Input() preparedShapes?:Array<PreparedShape>\n\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n\n ngAfterViewInit(): void {\n\n this.$vjs.getUI((ui) => {\n \n new ShapePalette<ObjectData>(ui, {\n container:this.$el.nativeElement,\n initialSet:this.initialSet,\n dragSize: this.dragSize,\n iconSize:this.iconSize,\n fill: this.fill,\n outline: this.outline,\n shapeLibrary:ui.getShapeLibrary(),\n showAllMessage: this.showAllMessage,\n selectAfterDrop: this.selectAfterDrop,\n paletteStrokeWidth: this.paletteStrokeWidth,\n dataGenerator:this.dataGenerator,\n onVertexAdded:this.onVertexAdded,\n preparedShapes:this.preparedShapes\n })\n })\n\n }\n\n\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input,\n OnChanges,\n SimpleChanges,\n} from \"@angular/core\";\nimport {\n ObjectData,\n ShapeLibrary,\n DEFAULT_LABEL_FILL_RATIO,\n convertToMultilineText,\n BrowserUI, BrowserElement, FontSpec\n} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n template: `<svg:svg\n [attr.stroke-width]=\"obj.outlineWidth || 2\"\n attr.fill=\"{{ obj.fill }}\"\n attr.stroke=\"{{ obj.outline }}\"\n style=\"width:100%;height:100%;inset:0;position:absolute;\"\n preserveAspectRatio=\"none\"\n attr.viewBox=\"0 0 {{ width }} {{ height }}\"\n ></svg:svg>`,\n selector: `vjs-shape`,\n})\nexport class ShapeComponent implements AfterViewInit, OnChanges {\n\n \n @Input() obj: ObjectData;\n \n @Input() width: number;\n\n \n @Input() height: number;\n\n \n @Input() showLabels? = false;\n\n \n @Input() labelProperty? = \"label\";\n\n \n @Input() labelStrokeWidth?: string;\n\n \n @Input() label?: string;\n\n \n @Input() multilineLabels? = true\n\n \n @Input() labelFillRatio = DEFAULT_LABEL_FILL_RATIO\n\n \n @Input() font?:FontSpec\n\n private shapeLibrary: ShapeLibrary<ObjectData>\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n private _render(): void {\n if (this.shapeLibrary != null) {\n const svg = this.$el.nativeElement.childNodes[0];\n const el = this.shapeLibrary.renderCompiledShape(\n this.obj,\n this.obj.outlineWidth || 2,\n );\n svg.replaceChildren(el);\n if (this.showLabels) {\n const lbl = this.shapeLibrary.renderShapeLabel(\n this.obj,\n this.labelProperty,\n this.labelStrokeWidth,\n this.label,\n this.obj.color || \"#000000\",\n this.obj.color || \"#000000\",\n this.font\n );\n svg.appendChild(lbl);\n if (this.multilineLabels !== false) {\n convertToMultilineText(lbl, this.label || this.obj[this.labelProperty] || \"\", this.width * this.labelFillRatio)\n }\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.$vjs.getUI((b:BrowserUI) => {\n this.shapeLibrary = b.getShapeLibrary()\n this._render()\n })\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._render();\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n Input,\n OnInit,\n} from \"@angular/core\";\n\nimport {\n EVENT_UNDOREDO_UPDATE,\n UndoRedoUpdateParams,\n EVENT_SURFACE_MODE_CHANGED,\n FALSE,\n TRUE,\n SURFACE_MODE_PAN,\n SURFACE_MODE_SELECT,\n ControlsComponentButtons,\n SurfaceMode,\n LASSO_PATH,\n LASSO_VIEW_BOX,\n PAN_PATH,\n PAN_VIEW_BOX,\n LassoPlugin,\n BrowserElement,\n ZOOM_TO_FIT_VIEW_BOX,\n ZOOM_TO_FIT_PATH,\n BrowserUI,\n ZOOM_IN_OUT_VIEW_BOX,\n ZOOM_IN_PATH,\n ZOOM_OUT_PATH,\n RESET_SELECTION_PATH,\n RESET_SELECTION_VIEW_BOX,\n CLEAR_PATH,\n CLEAR_VIEW_BOX,\n CLASS_CONTROLS_RESET_SELECTION, EVENT_SELECT,\n EVENT_DESELECT, EVENT_SELECTION_CLEARED, supportsPathEditing\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\nconst ATTRIBUTE_CAN_UNDO = \"can-undo\";\nconst ATTRIBUTE_CAN_REDO = \"can-redo\";\nconst CLASS_SELECTED_MODE = \"vjs-selected-mode\";\nconst ATTRIBUTE_HAS_SELECTION = \"vjs-controls-has-selection\"\n\n\n@Component({\n selector: \"vjs-controls\",\n template: `<div class=\"vjs-controls\" [attr.data-vjs-orientation]=\"orientation\">\n <i *ngIf=\"showPanButton\" class=\"vjs-pan-mode ${CLASS_SELECTED_MODE}\" data-mode=\"${SURFACE_MODE_PAN}\" title=\"Pan Mode\" (click)=\"panMode()\">\n <svg viewBox=\"${PAN_VIEW_BOX}\" stroke=\"currentColor\" fill=\"none\">\n <path d=\"${PAN_PATH}\"></path>\n </svg>\n </i>\n <i *ngIf=\"showLassoButton\" class=\"vjs-select-mode\" data-mode=\"${SURFACE_MODE_SELECT}\" title=\"Select Mode\" (click)=\"selectMode()\">\n <svg fill=\"currentColor\" viewBox=\"${LASSO_VIEW_BOX}\" stroke=\"currentColor\">\n <path d=\"${LASSO_PATH}\"></path>\n </svg>\n </i>\n\n <i *ngFor=\"let button of modeButtons\" data-mode=\"{{ button.mode }}\" class=\"{{ button.class }}\" title=\"{{ button.title }}\"></i>\n\n <i *ngIf=\"zoomToExtents\" class=\"vjs-zoom-to-fit\" data-reset=\"true\"title=\"Zoom To Fit\" (click)=\"zoomToFit()\">\n <svg viewBox=\"${ZOOM_TO_FIT_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${ZOOM_TO_FIT_PATH}\"></path></svg>\n </i>\n\n <i *ngIf=\"zoomButtons\" class=\"vjs-zoom-in\" data-zoom-in=\"true\" title=\"Zoom In\" (click)=\"zoomIn()\">\n <svg viewBox=\"${ZOOM_IN_OUT_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${ZOOM_IN_PATH}\"></path></svg>\n </i>\n\n <i *ngIf=\"zoomButtons\" class=\"vjs-zoom-out\" data-zoom-out=\"true\" title=\"Zoom Out\" (click)=\"zoomOut()\">\n <svg viewBox=\"${ZOOM_IN_OUT_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${ZOOM_OUT_PATH}\"></path></svg>\n </i>\n\n <i *ngIf=\"undoRedo\" class=\"vjs-undo\" data-undo=\"true\" title=\"Undo last action\" (click)=\"undo()\"></i>\n <i *ngIf=\"undoRedo\" class=\"vjs-redo\" data-redo=\"true\" title=\"Redo last action\" (click)=\"redo()\"></i>\n <i class=\"${CLASS_CONTROLS_RESET_SELECTION}\" title=\"Clear selection\" (click)=\"resetSelection()\">\n <svg viewBox=\"${RESET_SELECTION_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${RESET_SELECTION_PATH}\"></path></svg>\n </i>\n <i *ngIf=\"clear\" class=\"vjs-clear-dataset\" [title]=\"clearMessage\" (click)=\"doClear()\">\n <svg viewBox=\"${CLEAR_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${CLEAR_PATH}\"></path></svg>\n </i>\n <i *ngFor=\"let button of otherButtons\" class=\"{{ button.class }}\" title=\"{{ button.title }}\"></i>\n </div>`,\n})\nexport class ControlsComponent implements OnInit {\n \n @Input() undoRedo? = true;\n \n @Input() zoomToExtents? = true;\n\n \n @Input() zoomButtons? = false;\n \n @Input() clear? = true;\n \n @Input() clearMessage? = \"Clear dataset?\";\n \n @Input() buttons?: ControlsComponentButtons = [];\n \n @Input() orientation? = \"row\";\n\n modeButtons: ControlsComponentButtons;\n otherButtons: ControlsComponentButtons;\n\n ui: BrowserUI;\n\n showPanButton = true;\n showLassoButton = true;\n\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n $cdr = inject(ChangeDetectorRef)\n\n updateSelectionState():void {\n const controls = this.getNativeElement(this.$el);\n if (this.ui.model.getSelection().isEmpty()) {\n controls.removeAttribute(ATTRIBUTE_HAS_SELECTION)\n } else {\n controls.setAttribute(ATTRIBUTE_HAS_SELECTION, \"true\")\n }\n }\n\n ngOnInit(): void {\n this.modeButtons = this.buttons.filter((b) => b.mode != null);\n this.otherButtons = this.buttons.filter((b) => b.mode == null);\n\n this.$vjs.getUI((ui: BrowserUI) => {\n this.ui = ui;\n\n this.showLassoButton = ui.getPlugin(LassoPlugin.type) != null;\n this.showPanButton = this.showLassoButton === true;\n\n this.ui.bind(EVENT_SURFACE_MODE_CHANGED, (mode: SurfaceMode) => {\n const controls = this.getNativeElement(this.$el);\n\n const modeButtons = this.ui.$getSelector(controls, \"[data-mode]\");\n\n this.ui.removeClass(modeButtons, CLASS_SELECTED_MODE);\n\n this.ui.addClass(\n this.ui.$getSelector(controls, `[data-mode='${mode}']`),\n CLASS_SELECTED_MODE,\n );\n });\n\n this.ui.model.bind(\n EVENT_UNDOREDO_UPDATE,\n (state: UndoRedoUpdateParams) => {\n const controls = this.getNativeElement(this.$el);\n controls.setAttribute(\n ATTRIBUTE_CAN_UNDO,\n state.undoCount > 0 ? TRUE : FALSE,\n );\n controls.setAttribute(\n ATTRIBUTE_CAN_REDO,\n state.redoCount > 0 ? TRUE : FALSE,\n );\n },\n );\n\n this.ui.model.bind(EVENT_SELECT, () => this.updateSelectionState())\n this.ui.model.bind(EVENT_DESELECT, () => this.updateSelectionState())\n this.ui.model.bind(EVENT_SELECTION_CLEARED, () => this.updateSelectionState())\n\n this.$cdr.detectChanges();\n });\n }\n\n getNativeElement(component: any): BrowserElement {\n return (\n component.nativeElement ||\n component._nativeElement ||\n component.location.nativeElement\n ).childNodes[0];\n }\n\n panMode(): void {\n this.ui.setMode(SURFACE_MODE_PAN);\n }\n\n selectMode(): void {\n this.ui.setMode(SURFACE_MODE_SELECT);\n }\n\n zoomToFit(): void {\n this.ui.model.clearSelection();\n this.ui.zoomToFit();\n }\n\n zoomIn():void {\n this.ui.zoomIn()\n }\n\n zoomOut():void {\n this.ui.zoomOut()\n }\n\n resetSelection():void {\n this.ui.model.clearSelection()\n if (supportsPathEditing(this.ui)) {\n this.ui.stopEditingPath()\n }\n }\n\n undo(): void {\n this.ui.model.undo();\n }\n\n redo(): void {\n this.ui.model.redo();\n }\n\n doClear(): void {\n const t = this.ui.model;\n if (\n (t.getNodeCount() === 0 && t.getGroupCount() === 0) ||\n confirm(this.clearMessage)\n ) {\n t.clear();\n }\n }\n}\n","\nimport {AfterViewInit, Component, ElementRef, Input, Output, EventEmitter, inject} from \"@angular/core\"\nimport { INSPECTOR_CONTEXT_EDGE_PROPERTY_MAPPINGS, EdgeTypePicker, EdgePropertyMappings, Inspector } from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector:\"vjs-edge-type\",\n template:`<div [attr.vjs-att]=\"propertyName\"></div>`\n})\nexport class EdgeTypePickerComponent implements AfterViewInit {\n \n @Input() propertyName:string\n \n @Input() edgeMappings?:EdgePropertyMappings\n\n \n @Output() changeEvent = new EventEmitter<string>()\n\n private edgeTypePicker:EdgeTypePicker\n\n $vjs = inject(VisuallyJsService)\n\n inspector:Inspector\n\n constructor(private el:ElementRef) { }\n\n private resolveMappings():EdgePropertyMappings {\n const mappings = this.edgeMappings || this.inspector.getFromContext<EdgePropertyMappings>(INSPECTOR_CONTEXT_EDGE_PROPERTY_MAPPINGS)\n return mappings || this.inspector.$ui.$getEdgePropertyMappings()\n }\n\n ngAfterViewInit():void {\n\n this.$vjs.getInspector(inspector => {\n this.inspector = inspector\n this.inspector.onChange(() => {\n this.edgeTypePicker.select(this.propertyName, this.inspector.getValue(this.propertyName))\n })\n\n const current = this.inspector.getValue(this.propertyName) || ''\n this.edgeTypePicker = new EdgeTypePicker(this.inspector.$ui, this.el.nativeElement,\n this.resolveMappings(), current, (p:string, v:string) => {\n this.inspector.setValue(this.propertyName, v)\n this.changeEvent.emit(v)\n })\n this.edgeTypePicker.render(this.propertyName, this.inspector._currentCommonData)\n })\n\n\n\n }\n}\n","import {AfterViewInit, Directive, ElementRef, inject, Input} from \"@angular/core\";\nimport {\n DataGeneratorFunction,\n GroupIdentifierFunction,\n OnVertexAddedCallback,\n Palette,\n PaletteOptions,\n Size,\n Surface,\n TypeGeneratorFunction,\n CanvasDropFilter, PaletteMode,\n} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Directive({\n selector: \"[vjs-palette]\",\n})\nexport class PaletteComponent<T> implements AfterViewInit {\n\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n\n \n @Input() selector?: string;\n\n \n @Input() dataGenerator?: DataGeneratorFunction<T>;\n\n \n @Input() typeGenerator?: TypeGeneratorFunction<T>;\n\n \n @Input() groupIdentifier?: GroupIdentifierFunction<T>;\n\n \n palette: Palette<T>;\n\n \n @Input() allowDropOnEdge?: boolean;\n \n @Input() allowDropOnGroup?: boolean;\n \n @Input() allowDropOnCanvas?: boolean;\n \n @Input() allowDropOnNode?: boolean;\n\n \n @Input() onVertexAdded?: OnVertexAddedCallback;\n\n \n @Input() dragSize?: Size;\n\n \n @Input() canvasDropFilter?: CanvasDropFilter<T>;\n\n \n @Input() mode?:PaletteMode;\n\n \n @Input() selectAfterAdd?:boolean\n\n \n @Input() allowClickToAdd?:boolean\n\n \n @Input() clickToAddOnly?:boolean\n\n \n ngAfterViewInit(): void {\n\n this.$vjs.getSurface( (surface: Surface) => {\n let self = this;\n\n let params: PaletteOptions<T> = {\n source:self.$el.nativeElement,\n selector: self.selector,\n\n allowDropOnEdge: this.allowDropOnEdge,\n allowDropOnCanvas: this.allowDropOnCanvas,\n allowDropOnGroup: this.allowDropOnGroup,\n allowDropOnNode: this.allowDropOnNode,\n mode:this.mode,\n selectAfterAdd:this.selectAfterAdd,\n allowClickToAdd:this.allowClickToAdd,\n clickToAddOnly:this.clickToAddOnly\n };\n\n if (this.dataGenerator != null) {\n params.dataGenerator = this.dataGenerator;\n }\n\n if (this.typeGenerator != null) {\n params.typeGenerator = this.typeGenerator;\n }\n\n if (this.groupIdentifier != null) {\n params.groupIdentifier = this.groupIdentifier;\n }\n\n if (this.onVertexAdded != null) {\n params.onVertexAdded = this.onVertexAdded;\n }\n\n if (this.dragSize != null) {\n params.dragSize = this.dragSize;\n }\n\n if (this.canvasDropFilter != null) {\n params.canvasDropFilter = this.canvasDropFilter;\n }\n\n this.palette = new Palette(surface, params);\n });\n }\n}\n","import {\n Component,\n ElementRef, inject,\n Input,\n OnInit,\n} from \"@angular/core\";\nimport {\n BrowserUI,\n CLASS_CONTROLS,\n CLASS_EXPORT_CONTROLS, ImageExportUI,\n ImageExportUIOptions,\n PointXY,\n SvgExportUI,\n SvgExportUIOptions,\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector: \"vjs-export-controls\",\n template: `<div class=\"${CLASS_CONTROLS} ${CLASS_EXPORT_CONTROLS}\">\n <span *ngIf=\"showLabel\">{{ label }}</span>\n <i *ngIf=\"allowSvgExport\"\n ><a href=\"#\" id=\"exportSvg\" (click)=\"exportSVG()\">SVG</a></i\n >\n <i *ngIf=\"allowPngExport\"\n ><a href=\"#\" id=\"exportPng\" (click)=\"exportPNG()\">PNG</a></i\n >\n <i *ngIf=\"allowJpgExport\"\n ><a href=\"#\" id=\"exportJpg\" (click)=\"exportJPG()\">JPG</a></i\n >\n </div>`,\n})\nexport class ExportControlsComponent implements OnInit {\n\n \n @Input() showLabel? = true;\n \n @Input() label? = \"Export:\";\n\n \n @Input() margins?: PointXY;\n \n @Input() svgOptions?: SvgExportUIOptions;\n \n @Input() imageOptions?: ImageExportUIOptions;\n \n @Input() allowSvgExport? = true;\n \n @Input() allowPngExport? = true;\n \n @Input() allowJpgExport? = true;\n\n\n \n ui: BrowserUI;\n\n // new\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n\n\n ngOnInit(): void {\n this.$vjs.getUI((b: BrowserUI) => {\n this.ui = b;\n });\n }\n\n exportSVG(): void {\n new SvgExportUI(this.ui).export(this.svgOptions)\n }\n\n exportPNG(): void {\n\n new ImageExportUI(this.ui).export(this.imageOptions)\n }\n\n exportJPG(): void {\n new ImageExportUI(this.ui).export(Object.assign(this.imageOptions || {}, {\n type: \"image/jpeg\",\n }))\n }\n}\n","\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n signal,\n ChangeDetectorRef, inject\n} from \"@angular/core\"\nimport {\n CLASS_COLOR_PICKER,\n CLASS_COLOR_PICKER_SWATCH, CLASS_COLOR_PICKER_SWATCHES,\n EVENT_CONTEXT_UPDATE,\n Inspector,\n INSPECTOR_CONTEXT_RECENT_COLORS\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector:\"vjs-color\",\n template:`<div class=\"${CLASS_COLOR_PICKER}\">\n <input type=\"color\" [attr.vjs-att]=\"propertyName\"/>\n <div class=\"${CLASS_COLOR_PICKER_SWATCHES}\">\n <div *ngFor=\"let swatch of swatches()\" class=\"${CLASS_COLOR_PICKER_SWATCH}\" attr.data-color=\"{{swatch}}\" style=\"background-color:{{swatch}}\" (click)=\"selectColor(swatch)\"></div>\n </div>\n </div>`\n})\nexport class ColorPickerComponent implements AfterViewInit {\n\n \n @Input() propertyName:string\n \n @Input() maxColors? = 10\n \n @Output() changeEvent = new EventEmitter<string>()\n\n swatches = signal<Array<string>>([]);\n\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n $cdr = inject(ChangeDetectorRef)\n\n private $getInspector(cb:(i:Inspector) => any):void {\n this.$vjs.getInspector(cb)\n }\n\n selectColor(color:string):void {\n this.$getInspector(inspector => {\n inspector.setValue(this.propertyName, color)\n this.$el.nativeElement.querySelector(\"[type='color']\").value = color\n })\n }\n\n private pushColor(color:string):void {\n this.$getInspector(inspector => {\n const rc = inspector.getFromContext(INSPECTOR_CONTEXT_RECENT_COLORS)\n if (rc != null) {\n if (rc.find((c: string) => c === color) == null) {\n const cc = rc.slice()\n cc.unshift(color)\n if (cc.length >= this.maxColors) {\n cc.length = this.maxColors\n }\n\n inspector.updateContext(INSPECTOR_CONTEXT_RECENT_COLORS, cc)\n }\n }\n })\n }\n\n ngAfterViewInit():void {\n\n this.$getInspector(inspector => {\n this.swatches.set(inspector.ensureContext(INSPECTOR_CONTEXT_RECENT_COLORS, () => []))\n inspector.bind(EVENT_CONTEXT_UPDATE, (p:{key:string, value:any}) => {\n if (p.key === INSPECTOR_CONTEXT_RECENT_COLORS) {\n this.swatches.set(p.value)\n this.$cdr.detectChanges()\n }\n })\n\n const colorInput = this.$el.nativeElement.querySelector(\"[type='color']\")\n colorInput.onchange = () => {\n const color = colorInput.value\n this.pushColor(color)\n inspector.setValue(this.propertyName, color, true)\n }\n\n setTimeout(() => {\n // if there is a color, maybe push to context\n const v = inspector.getValue(this.propertyName)\n if (v != null) {\n this.pushColor(v)\n }\n })\n })\n\n\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy,\n OnInit\n} from \"@angular/core\"\nimport {\n createDiagram,\n Diagram,\n DiagramOptions,\n DiagramSaveData,\n DiagramSaveOptions, ModelOptions,\n SaveOptions\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector:\"vjs-diagram\",\n template:`<ng-content></ng-content>`\n})\nexport class DiagramComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() options?:DiagramOptions\n \n @Input() data?:any\n \n @Input() url?:string\n\n \n @Input() modelOptions?:ModelOptions\n\n \n diagram:Diagram\n\n $ngZone = inject(NgZone)\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n ngAfterViewInit(): void {\n\n this.$ngZone.runOutsideAngular(() => {\n this.diagram = createDiagram(this.$el.nativeElement, this.options, this.modelOptions)\n\n this.$vjs.$setDiagram(this.diagram)\n\n if (this.data != null) {\n this.diagram.load({data:this.data})\n } else if (this.url != null) {\n this.diagram.load({url:this.url})\n }\n })\n\n }\n\n ngOnDestroy(): void {\n this.diagram.destroy()\n }\n\n \n save(options?:DiagramSaveOptions):DiagramSaveData {\n return this.diagram.save(options)\n }\n\n \n saveToUrl(options:SaveOptions):void {\n this.diagram.saveToUrl(options)\n }\n\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy\n} from \"@angular/core\"\nimport {\n BrowserUIModel,\n ColumnChart,\n ColumnChartOptions,\n DataSource,\n ObjectData\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface ColumnChartComponentOptions extends Omit<ColumnChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-column-chart\",\n template:`<div></div>`\n})\nexport class ColumnChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:ColumnChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:ColumnChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new ColumnChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {BarChart, BarChartOptions, BrowserUIModel, DataSource, ObjectData} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface BarChartComponentOptions extends Omit<BarChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-bar-chart\",\n template:`<div></div>`\n})\nexport class BarChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n\n \n @Input() options:BarChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n $vjs = inject(VisuallyJsService)\n\n private chart:BarChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new BarChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {Diagram, DiagramCell, DiagramPalette, Size, PaletteMode, OnVertexAddedCallback, PreparedShape} from \"@visuallyjs/browser-ui\"\nimport {AfterViewInit, Component, ElementRef, inject, Input} from \"@angular/core\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n@Component({\n selector: \"vjs-diagram-palette\",\n template: `<div></div>`,\n})\nexport class DiagramPaletteComponent implements AfterViewInit {\n\n \n @Input() fill?:string\n \n @Input() outline?:string\n \n @Input() dragSize?:Size\n \n @Input() inspector?:boolean\n \n @Input() iconSize?:Size\n \n @Input() showLabels?:boolean\n \n @Input() paletteStrokeWidth?:number\n \n @Input() showAllMessage?:string\n \n @Input() onCellAdded?:(dc:DiagramCell) => any\n \n @Input() mode?:PaletteMode\n\n \n @Input() allowClickToAdd?:boolean\n\n \n @Input() autoExitDrawMode?:boolean\n\n \n @Input() selectAfterAdd?:boolean\n\n \n @Input() diagram?:Diagram\n\n \n @Input() onVertexAdded?:OnVertexAddedCallback\n\n \n @Input() preparedShapes?:Array<PreparedShape>\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n private $init():void {\n \n new DiagramPalette(this.$el.nativeElement, this.diagram, {\n fill: this.fill,\n outline: this.outline,\n dragSize: this.dragSize,\n inspector: this.inspector,\n iconSize: this.iconSize,\n showLabels: this.showLabels,\n paletteStrokeWidth: this.paletteStrokeWidth,\n showAllMessage: this.showAllMessage,\n onCellAdded: this.onCellAdded,\n mode: this.mode,\n allowClickToAdd: this.allowClickToAdd,\n autoExitDrawMode: this.autoExitDrawMode,\n selectAfterAdd: this.selectAfterAdd,\n onVertexAdded:this.onVertexAdded,\n preparedShapes:this.preparedShapes\n })\n }\n\n ngAfterViewInit(): void {\n if (this.diagram != null) {\n this.$init()\n } else {\n this.$vjs.getDiagram((d: Diagram) => {\n this.diagram = d\n this.$init()\n })\n }\n\n }\n\n\n}\n\n\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {CategoryValueChart, CategoryValueChartOptions, ObjectData} from \"@visuallyjs/browser-ui\"\n\nexport interface XYChartComponentOptions extends Omit<CategoryValueChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-xy-chart\",\n template:`<div></div>`\n})\nexport class XYChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n\n \n @Input() options:XYChartComponentOptions\n\n private chart:CategoryValueChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n \n ngAfterViewInit(): void {\n this.$ngZone.runOutsideAngular(() => {\n this.chart = new CategoryValueChart(this.$el.nativeElement, this.options)\n if (this.data) {\n this.chart.load({data:this.data})\n } else if (this.url) {\n this.chart.load({url:this.url})\n }\n })\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {BrowserUIModel, DataSource, LineChart, LineChartOptions, ObjectData} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface LineChartComponentOptions extends Omit<LineChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-line-chart\",\n template:`<div></div>`\n})\nexport class LineChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:LineChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:LineChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new LineChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {AreaChart, AreaChartOptions, BrowserUIModel, DataSource,ObjectData} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\n\nexport interface AreaChartComponentOptions extends Omit<AreaChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-area-chart\",\n template:`<div></div>`\n})\nexport class AreaChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:AreaChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n $vjs = inject(VisuallyJsService)\n\n private chart:AreaChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new AreaChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {PieChart, PieChartOptions, ObjectData, DataSource, BrowserUIModel} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface PieChartComponentOptions extends Omit<PieChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-pie-chart\",\n template:`<div></div>`\n})\nexport class PieChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n\n \n @Input() options:PieChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:PieChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new PieChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy\n} from \"@angular/core\"\nimport {\n ScatterChart,\n ScatterChartOptions,\n ObjectData,\n DataSource,\n BrowserUIModel\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface ScatterChartComponentOptions extends Omit<ScatterChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-scatter-chart\",\n template:`<div></div>`\n})\nexport class ScatterChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:ScatterChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:ScatterChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new ScatterChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy\n} from \"@angular/core\"\nimport {\n BrowserUIModel,\n BubbleChart,\n BubbleChartOptions,\n DataSource,\n ObjectData\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface BubbleChartComponentOptions extends Omit<BubbleChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-bubble-chart\",\n template:`<div></div>`\n})\nexport class BubbleChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:BubbleChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:BubbleChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new BubbleChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n Component, inject,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges,\n AfterViewInit, OnDestroy, NgZone\n} from \"@angular/core\"\nimport {\n SankeyChart,\n SankeyOptions,\n VisuallyJsDefaultJSON,\n BrowserUIModel, DataSource\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface SankeyChartComponentOptions extends Omit<SankeyOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-sankey-chart\",\n template:`<div></div>`\n})\nexport class SankeyChartComponent implements AfterViewInit, OnDestroy, OnChanges {\n\n \n @Input() csvData?: string\n\n \n @Input() jsonData?: VisuallyJsDefaultJSON\n\n \n @Input() url?: string\n\n \n @Input() interactive?: boolean\n\n \n @Input() pivot?: string\n\n \n @Input() options:SankeyChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:SankeyChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n $vjs = inject(VisuallyJsService)\n\n \n private _init(dataSource?:DataSource, csvData?:string, jsonData?:VisuallyJsDefaultJSON, url?:string): void {\n this.$ngZone.runOutsideAngular(() => {\n const options = Object.assign({}, this.options)\n if (this.interactive != null) {\n options.interactive = this.interactive\n }\n if (this.pivot != null) {\n options.pivot = this.pivot\n }\n Object.assign(options, {\n csvData,\n jsonData,\n dataSource,\n url\n })\n this.chart = new SankeyChart(this.$el.nativeElement, options)\n })\n }\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null, null)\n })\n } else {\n this._init(null, this.csvData, this.jsonData, this.url)\n }\n\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // @ts-ignore\n if (changes['pivot'] && this.chart) {\n // @ts-ignore\n this.chart.pivot(changes['pivot'].currentValue)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n Component,\n Input,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n inject\n} from \"@angular/core\";\nimport {PointXY, FixedElementConstraints, Surface} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n@Component({\n selector: \"vjs-decorator\",\n template: `\n <div style=\"display:inline-block;\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class DecoratorComponent implements AfterViewInit, OnDestroy {\n \n @Input() placement: 'fixed' | 'floating' = 'floating';\n\n \n @Input() position: PointXY = { x: 0, y: 0 };\n\n \n @Input() constraints?: FixedElementConstraints;\n\n private el = inject(ElementRef);\n\n private surface!:Surface\n\n service = inject(VisuallyJsService)\n\n ngAfterViewInit(): void {\n\n this.service.getSurface(s => {\n const nativeElement = this.el.nativeElement.firstElementChild as HTMLElement;\n\n if (this.placement === 'fixed') {\n s.fixElement(nativeElement, this.position, this.constraints);\n } else {\n s.floatElement(nativeElement, this.position);\n }\n })\n }\n\n ngOnDestroy(): void {\n if (this.surface && this.placement === 'fixed') {\n this.surface.unfixElement(this.el.nativeElement.firstElementChild as HTMLElement);\n }\n }\n // Note: Surface.floatElement typically appends to a layer that is cleaned up\n // when the surface is destroyed, but manual DOM removal of the element\n // handled by Angular's lifecycle is usually sufficient here.\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from \"@angular/common\"\n\nimport {MiniviewComponent} from \"./miniview-component\"\nimport {SurfaceComponent} from \"./surface-component\"\nimport {ShapePaletteComponent} from \"./shape.palette.component\"\nimport {ShapeComponent} from \"./shape.component\"\nimport {ControlsComponent} from \"./controls-component\"\nimport {EdgeTypePickerComponent} from \"./edge.type.picker.component\"\nimport {DefaultNodeComponent} from \"./default-node-component\"\nimport {DefaultGroupComponent} from \"./default-group-component\"\nimport {BasePortComponent} from \"./base.port.component\"\nimport {PaletteComponent} from \"./palette.component\"\nimport {ExportControlsComponent} from \"./export-controls-component\"\nimport {ColorPickerComponent} from \"./color.tag.component\"\nimport {DiagramComponent} from \"./diagram-component\"\nimport {ColumnChartComponent} from \"./charts/column.chart.component\"\nimport {BarChartComponent} from \"./charts/bar.chart.component\"\nimport { DiagramPaletteComponent } from \"./diagram-palette-component\";\nimport {XYChartComponent} from \"./charts/xy.chart.component\";\nimport {LineChartComponent} from \"./charts/line.chart.component\";\nimport {AreaChartComponent} from \"./charts/area.chart.component\";\nimport {PieChartComponent} from \"./charts/pie.chart.component\";\nimport {ScatterChartComponent} from \"./charts/scatter.chart.component\";\nimport {BubbleChartComponent} from \"./charts/bubble.chart.component\";\nimport {SankeyChartComponent} from \"./charts/sankey.chart.component\";\nimport {DecoratorComponent} from \"./decorator-component\";\n\n\n@NgModule({\n imports:[ CommonModule ],\n declarations: [\n DefaultNodeComponent,\n DefaultGroupComponent,\n BasePortComponent,\n MiniviewComponent,\n SurfaceComponent,\n PaletteComponent,\n ShapePaletteComponent,\n DiagramPaletteComponent,\n ShapeComponent,\n ControlsComponent,\n EdgeTypePickerComponent,\n PaletteComponent,\n ExportControlsComponent,\n ColorPickerComponent,\n DiagramComponent,\n ColumnChartComponent,\n BarChartComponent,\n XYChartComponent,\n LineChartComponent,\n AreaChartComponent,\n PieChartComponent,\n ScatterChartComponent,\n BubbleChartComponent,\n SankeyChartComponent,\n DecoratorComponent\n ],\n exports: [\n MiniviewComponent,\n SurfaceComponent,\n PaletteComponent,\n DiagramPaletteComponent,\n ShapeComponent,\n ShapePaletteComponent,\n ControlsComponent,\n ExportControlsComponent,\n EdgeTypePickerComponent,\n ColorPickerComponent,\n DiagramComponent,\n ColumnChartComponent,\n BarChartComponent,\n XYChartComponent,\n LineChartComponent,\n AreaChartComponent,\n PieChartComponent,\n ScatterChartComponent,\n BubbleChartComponent,\n SankeyChartComponent,\n DecoratorComponent\n ]\n})\nexport class VisuallyJsModule { }\n","import {\n BrowserElement,\n SurfaceOptions,\n Vertex,\n GroupMapping,\n NodeMapping,\n PortMapping,\n ViewSpec,\n} from \"@visuallyjs/browser-ui\";\n\n\nexport interface AngularNodeMapping\n extends Omit<NodeMapping<BrowserElement>, \"templateIdResolver\" | \"template\" | \"templateId\" | \"parameters\"> {\n \n component?: any;\n\n \n inputs?: Record<string, string | ((v: Vertex) => string)>;\n}\n\n\nexport interface AngularGroupMapping\n extends Omit<GroupMapping<any>, \"templateIdResolver\" | \"template\" | \"templateId\" | \"parameters\"> {\n \n component?: any;\n\n \n inputs?: Record<string, string | ((v: Vertex) => string)>;\n}\n\n\nexport interface AngularPortMapping\n extends Omit<PortMapping<any>, \"templateIdResolver\" | \"template\" | \"templateId\" | \"parameters\"> {\n \n component?: any;\n}\n\n\nexport interface AngularViewOptions extends ViewSpec<BrowserElement> {\n \n nodes?: Record<string, AngularNodeMapping>;\n \n groups?: Record<string, AngularGroupMapping>;\n \n ports?: Record<string, AngularPortMapping>;\n}\n\n\nexport interface AngularRenderOptions\n extends Pick<\n SurfaceOptions,\n Exclude<\n keyof SurfaceOptions,\n [\"view\", \"tags\", \"container\"]\n >\n > {}\n\n// [\"view\", \"tags\", \"container\", \"directRender\", \"storePositionsInModel\"]\n\n\n","import {\n ChangeDetectorRef,\n ElementRef,\n Input,\n inject,\n Directive,\n AfterViewInit,\n} from \"@angular/core\";\nimport {Inspector, Base, Edge, Node, Group, Port, BrowserUI} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Directive()\nexport class InspectorComponent<T extends Base = Base>\n implements AfterViewInit\n{\n \n currentObj: T;\n\n \n currentType = \"\";\n\n \n currentObjectType = \"\";\n\n \n EDGE = Edge.objectType\n\n \n NODE = Node.objectType\n\n \n GROUP = Group.objectType\n\n \n PORT = Port.objectType\n\n \n @Input() cssClass?:string\n\n \n @Input() showCloseButton?: boolean;\n\n \n @Input() context?:Record<string, any> = {}\n\n \n inspector!: Inspector;\n\n \n changeDetector = inject(ChangeDetectorRef);\n\n \n el = inject(ElementRef);\n\n ui!: BrowserUI;\n\n // new\n $vjs = inject(VisuallyJsService)\n\n \n ngAfterViewInit(): void {\n this.$vjs.getUI((ui) => {\n this.ui = ui;\n this.inspector = new Inspector({\n context:this.context,\n container: this.el.nativeElement,\n cssClass:this.cssClass,\n showCloseButton: this.showCloseButton,\n ui,\n renderEmptyContainer: () => {\n this.reset();\n this.changeDetector.detectChanges();\n },\n refresh: (obj: Base, cb: () => void) => {\n this.currentObj = obj as T;\n this.refresh(obj);\n setTimeout(cb, 0);\n this.changeDetector.detectChanges();\n },\n afterUpdate: () => this.afterUpdate(ui),\n });\n\n this.$vjs.$setInspector(this.inspector)\n });\n }\n\n \n refresh(obj: Base): void {\n this.currentType = obj.data.type;\n this.currentObjectType = obj.objectType;\n }\n\n \n reset(): void {\n this.currentType = \"\";\n this.currentObjectType = ''\n }\n\n \n afterUpdate(ui: BrowserUI): void {}\n}\n","\nexport * from './lib/browser-ui-angular.module'\nexport * from './lib/model'\nexport * from './lib/vjs-service'\nexport * from './lib/base.node.component'\nexport * from './lib/base.vertex.component'\nexport * from './lib/base.group.component'\nexport * from './lib/base.port.component'\nexport * from './lib/default-node-component'\nexport * from './lib/default-group-component'\nexport * from './lib/common'\nexport * from './lib/miniview-component'\nexport * from './lib/surface-component'\nexport * from './lib/overlay-component'\nexport * from './lib/palette.component';\nexport * from './lib/decorator-component';\nexport * from './lib/shape.component';\nexport * from './lib/shape.palette.component';\nexport * from './lib/diagram-palette-component';\nexport * from './lib/controls-component';\nexport * from './lib/export-controls-component';\nexport * from './lib/edge.type.picker.component';\nexport * from './lib/inspector.component';\nexport * from './lib/color.tag.component';\nexport * from './lib/diagram-component';\nexport * from './lib/charts/column.chart.component'\nexport * from './lib/charts/bar.chart.component'\nexport * from './lib/charts/line.chart.component'\nexport * from './lib/charts/area.chart.component'\nexport * from './lib/charts/xy.chart.component'\nexport * from './lib/charts/pie.chart.component'\nexport * from './lib/charts/scatter.chart.component'\nexport * from './lib/charts/bubble.chart.component'\nexport * from './lib/charts/sankey.chart.component'\n\n","\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visuallyjs-browser-ui-angular.mjs","sources":["../../../../projects/visuallyjs/browser-ui-angular/src/lib/vjs-service.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/miniview-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/overlay-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.vertex.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.group.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/default-group-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.node.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/default-node-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/base.port.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/model.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/surface-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/shape.palette.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/shape.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/controls-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/edge.type.picker.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/palette.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/export-controls-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/color.tag.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/diagram-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/column.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/bar.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/diagram-palette-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/xy.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/line.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/area.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/pie.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/scatter.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/bubble.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/charts/sankey.chart.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/decorator-component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/browser-ui-angular.module.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/common.ts","../../../../projects/visuallyjs/browser-ui-angular/src/lib/inspector.component.ts","../../../../projects/visuallyjs/browser-ui-angular/src/index.ts","../../../../projects/visuallyjs/browser-ui-angular/src/visuallyjs-browser-ui-angular.ts"],"sourcesContent":["import {BrowserUI, Diagram, Inspector, log, Paper, Surface, BrowserUIModel} from \"@visuallyjs/browser-ui\";\nimport {Injectable} from \"@angular/core\";\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VisuallyJsService {\n\n private $model:BrowserUIModel\n private $surface:Surface\n private $paper:Paper\n private $diagram:Diagram\n private $inspector:Inspector\n\n private inspectorListeners:Array<(i:Inspector) => any> = []\n private surfaceListeners:Array<(s:Surface) => any> = []\n private paperListeners:Array<(p:Paper) => any> = []\n private modelListeners:Array<(m:BrowserUIModel) => any> = []\n private diagramListeners:Array<(d:Diagram) => any> = []\n private uiListeners:Array<(b:BrowserUI) => any> = []\n\n $setInspector(i:Inspector):void {\n this.$inspector = i\n this.$notifyInspector()\n }\n\n private $notifyInspector():void {\n this.inspectorListeners.forEach(sl => {\n try {\n sl(this.$inspector)\n } catch (e) {\n log(`WARN: could not notify Inspector listener ${e}`)\n }\n })\n\n this.inspectorListeners.length = 0\n }\n\n $setSurface(s:Surface):void {\n // @ts-ignore\n this.$setModel(s.model)\n this.$surface = s\n this.$notifySurface()\n }\n\n private $notifySurface():void {\n this.surfaceListeners.forEach(sl => {\n try {\n sl(this.$surface)\n } catch (e) {\n log(`WARN: could not notify Surface listener ${e}`)\n }\n })\n\n this.surfaceListeners.length = 0\n\n this.$notifyUI(this.$surface)\n }\n\n \n getSurface(cb:(s:Surface) => any):void {\n if (this.$surface != null) {\n cb(this.$surface)\n } else {\n this.surfaceListeners.push(cb)\n }\n }\n\n \n getInspector(cb:(s:Inspector) => any):void {\n if (this.$inspector != null) {\n cb(this.$inspector)\n } else {\n this.inspectorListeners.push(cb)\n }\n }\n\n $setPaper(p:Paper):void {\n // @ts-ignore\n this.$setModel(p.model)\n this.$paper = p\n this.$notifyPaper()\n }\n\n private $notifyPaper():void {\n this.paperListeners.forEach(sl => {\n try {\n sl(this.$paper)\n } catch (e) {\n log(`WARN: could not notify Paper listener ${e}`)\n }\n })\n\n this.paperListeners.length = 0\n\n this.$notifyUI(this.$paper)\n }\n\n \n getPaper(cb:(p:Paper) => any):void {\n if (this.$paper != null) {\n cb(this.$paper)\n } else {\n this.paperListeners.push(cb)\n }\n }\n\n $setDiagram(d:Diagram):void {\n this.$diagram = d\n if (d.$ui instanceof Surface) {\n this.$setSurface(d.$ui as Surface)\n }\n if (d.$ui instanceof Paper) {\n this.$setPaper(d.$ui as Paper)\n }\n this.$notifyDiagram()\n }\n\n private $notifyDiagram():void {\n this.diagramListeners.forEach(sl => {\n try {\n sl(this.$diagram)\n } catch (e) {\n log(`WARN: could not notify Diagram listener ${e}`)\n }\n })\n\n this.diagramListeners.length = 0\n }\n\n \n getDiagram(cb:(p:Diagram) => any):void {\n if (this.$diagram != null) {\n cb(this.$diagram)\n } else {\n this.diagramListeners.push(cb)\n }\n }\n\n \n getModel(cb:(p:BrowserUIModel) => any):void {\n if (this.$model != null) {\n cb(this.$model)\n } else {\n this.modelListeners.push(cb)\n }\n }\n\n \n $setModel(m:BrowserUIModel):void {\n this.$model = m\n this.$notifyModel()\n }\n\n private $notifyModel():void {\n this.modelListeners.forEach(sl => {\n try {\n sl(this.$model)\n } catch (e) {\n log(`WARN: could not notify Model listener ${e}`)\n }\n })\n this.modelListeners.length = 0\n }\n\n private $notifyUI(ui:BrowserUI):void {\n this.uiListeners.forEach(sl => {\n try {\n sl(ui)\n } catch (e) {\n log(`WARN: could not notify UI listener ${e}`)\n }\n })\n this.uiListeners.length = 0\n }\n\n \n getUI(cb:(b:BrowserUI) => any):void {\n const ui = this.$surface || this.$paper\n if (ui != null) {\n cb(ui)\n } else {\n this.uiListeners.push(cb)\n }\n }\n\n\n}\n","import {AfterViewInit, Component, ElementRef, inject, Input, NgZone} from \"@angular/core\"\nimport {MiniviewPlugin, Group, Node, BrowserUI, MiniviewPluginOptions} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector: 'vjs-miniview',\n template: `<div></div>`\n})\nexport class MiniviewComponent implements AfterViewInit {\n\n\n \n @Input() elementFilter?: (obj: Node|Group) => boolean;\n\n \n @Input() typeFunction?:(obj:Node|Group) => string;\n\n \n @Input() activeTracking? = true;\n\n \n @Input() clickToCenter? = true;\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n $miniview:MiniviewPlugin\n\n constructor(private ngZone:NgZone) { }\n\n \n ngAfterViewInit():void {\n\n this.ngZone.runOutsideAngular(() => {\n // this.$service.addMiniview(this.surfaceId, {\n // container: this.el.nativeElement.childNodes[0],\n // elementFilter: this.elementFilter,\n // typeFunction: this.typeFunction,\n // activeTracking: this.activeTracking,\n // clickToCenter: this.clickToCenter !== false\n // })\n this.$vjs.getUI((b:BrowserUI) => {\n this.$miniview = b.addPlugin<MiniviewPluginOptions, MiniviewPlugin>(\n {\n type: MiniviewPlugin.type,\n options: {\n container: this.$el.nativeElement.childNodes[0],\n elementFilter: this.elementFilter,\n typeFunction: this.typeFunction,\n activeTracking: this.activeTracking,\n clickToCenter: this.clickToCenter !== false\n },\n },\n );\n })\n })\n\n }\n\n \n redraw():void {\n if(this.$miniview != null) {\n this.$miniview.invalidate()\n }\n }\n}\n","import {Edge, ObjectData, Surface} from \"@visuallyjs/browser-ui\"\nimport {ChangeDetectorRef, inject} from \"@angular/core\"\nimport {VisuallyJsModel} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsAngularComponent} from \"./surface-component\"\n\n\nexport const AngularComponentOverlayType = \"AngularComponent\"\n\n\nexport interface AngularOverlayComponent extends VisuallyJsAngularComponent {\n \n edge:Edge\n}\n\n\nexport abstract class BaseAngularOverlayComponent implements AngularOverlayComponent {\n \n model:VisuallyJsModel\n \n surface:Surface\n \n data:ObjectData\n \n edge:Edge\n\n \n changeDetectorRef = inject(ChangeDetectorRef)\n\n \n updateEdge(updates:ObjectData):void {\n this.model.updateEdge(this.edge, updates)\n }\n\n \n removeEdge():void {\n this.model.removeEdge(this.edge)\n }\n}\n","\nimport {\n ChangeDetectorRef,\n inject,\n Injectable,\n Input,\n OnDestroy,\n OnInit,\n signal,\n} from \"@angular/core\";\nimport {\n ObjectData,\n Node,\n Surface,\n BrowserElement,\n VisuallyJsModel, SurfaceVertexCloneOptions,\n Port,\n EVENT_ZOOM,\n PanZoomEventPayload,\n} from \"@visuallyjs/browser-ui\"\n\n\n@Injectable()\nexport abstract class BaseVertexComponent<T extends Node>\n implements OnInit, OnDestroy\n{\n \n @Input() data: ObjectData;\n\n \n @Input() model: VisuallyJsModel;\n\n \n @Input() surface: Surface;\n\n \n @Input() modelObject: T;\n\n \n _el: BrowserElement;\n\n \n changeDetectorRef = inject(ChangeDetectorRef);\n\n \n readonly $data = signal<ObjectData>(undefined!);\n\n \n zoom = signal(1)\n\n \n private _zoomHandler:(p:{zoom:number}) => any\n\n \n ngOnInit(): void {\n this.$data.set(this.data);\n this._zoomHandler = (p:PanZoomEventPayload) => {\n this.zoom.set(p.zoom)\n }\n this.zoom.set(this.surface.getZoom())\n this.surface.bind(EVENT_ZOOM, this._zoomHandler)\n }\n\n \n getVertex(): T {\n return this._getVertex();\n }\n\n \n abstract _getVertex(): T;\n\n \n ngOnDestroy(): void {\n this.surface.unbind(EVENT_ZOOM, this._zoomHandler)\n delete (this._el as any)._visuallyJsNgComponent._el;\n delete this._el;\n delete this.model;\n delete this.surface;\n }\n\n \n removeVertex(): void {\n this.model.remove(this.getVertex());\n }\n\n \n addNewPort(type: string, data: ObjectData): void {\n this.model.addNewPort(this.getVertex(), type, data);\n }\n\n \n addPort(data:ObjectData):Port {\n return this.model.addPort(this.getVertex(), data)\n }\n\n \n setAsSelection():void {\n this.model.setSelection(this.getVertex())\n }\n\n \n addToSelection():void {\n this.model.addToSelection(this.getVertex())\n }\n\n \n removeFromSelection():void {\n this.model.removeFromSelection(this.getVertex())\n }\n\n \n updateVertex(data: ObjectData): void {\n this.model.updateVertex(this.getVertex(), data);\n }\n\n \n cloneVertex(options?:SurfaceVertexCloneOptions):void {\n this.surface.cloneVertex(this.getVertex(), options)\n }\n\n \n flashVertex(duration:number, animName?:string) :void {\n this.surface.flashVertex(this.getVertex(), duration, animName)\n }\n}\n","\nimport {\n Group, Node,\n ObjectData, Port, SurfaceVertexCloneOptions\n} from \"@visuallyjs/browser-ui\"\nimport {Injectable} from \"@angular/core\"\nimport {BaseVertexComponent} from \"./base.vertex.component\"\n\n\n\n@Injectable()\nexport abstract class BaseGroupComponent extends BaseVertexComponent<Group> {\n\n \n getGroup():Group { return this.model.getGroup(this.model.getGroupId(this.data)); }\n\n \n getMembers():Array<Node> { return this.getGroup().getMembers()}\n\n \n _getVertex(): Group {\n return this.getGroup()\n }\n\n \n updateGroup(data:ObjectData):void {\n this.updateVertex(data)\n }\n\n \n removeGroup():void {\n this.removeVertex()\n }\n\n \n cloneGroup(options?:SurfaceVertexCloneOptions):void {\n this.cloneVertex(options)\n }\n\n \n flashGroup(duration:number, animName?:string) :void {\n this.flashVertex(duration, animName)\n }\n\n \n removePort(portId:string):void {\n this.model.removePort(this.getGroup(), portId)\n }\n\n \n getPort(portId:string):Port {\n return this.getGroup().getPort(portId)\n }\n\n}\n","\nimport {Component, computed} from \"@angular/core\"\nimport {BaseGroupComponent} from \"./base.group.component\"\n\n\n@Component({\n template:`<div class=\"vjs-default-group\">{{label()}}</div>`\n})\nexport class DefaultGroupComponent extends BaseGroupComponent {\n\n readonly label = computed( () =>\n this.$data().label || \"\"\n );\n\n}\n","\nimport {\n Node,\n ObjectData, Port, SurfaceVertexCloneOptions\n} from \"@visuallyjs/browser-ui\"\nimport {Injectable, Input} from \"@angular/core\"\nimport {BaseVertexComponent} from \"./base.vertex.component\"\n\n\n\n@Injectable()\nexport abstract class BaseNodeComponent extends BaseVertexComponent<Node> {\n\n \n getNode():Node { return this.model.getNode(this.model.getNodeId(this.data)); }\n\n \n _getVertex(): Node {\n return this.getNode()\n }\n\n \n updateNode(data:ObjectData):void {\n this.updateVertex(data)\n }\n\n \n removeNode():void {\n this.removeVertex()\n }\n\n \n removePort(portId:string):void {\n this.model.removePort(this.getNode(), portId)\n }\n\n \n getPort(portId:string):Port {\n return this.getNode().getPort(portId)\n }\n\n \n cloneNode(options?:SurfaceVertexCloneOptions):void {\n this.cloneVertex(options)\n }\n\n \n flashNode(duration:number, animName?:string) :void {\n this.flashVertex(duration, animName)\n }\n}\n","\nimport {Component, computed} from \"@angular/core\"\nimport {BaseNodeComponent} from \"./base.node.component\"\n\n\n@Component({\n template:`<div class=\"vjs-default-node\">{{label()}}</div>`\n})\nexport class DefaultNodeComponent extends BaseNodeComponent {\n\n readonly label = computed( () =>\n this.$data().label || \"\"\n );\n\n}\n","import {\n ObjectData,\n Port,\n Node,\n Group,\n EVENT_PORT_UPDATED,\n PortUpdatedParams,\n log,\n} from \"@visuallyjs/browser-ui\";\n\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n OnInit,\n signal,\n} from \"@angular/core\";\nimport { BaseVertexComponent } from \"./base.vertex.component\";\n\n\n@Directive({\n selector: \"vjs-base-port\",\n})\nexport class BasePortComponent<O = ObjectData> implements OnInit, OnDestroy {\n \n changeDetectorRef = inject(ChangeDetectorRef);\n\n \n private _signalBinder!: (params: PortUpdatedParams) => any;\n\n \n readonly $data = signal<O>(undefined!);\n\n \n @Input() parent: BaseVertexComponent<Node | Group>;\n\n \n @Input() data: O;\n\n constructor(public el: ElementRef) {\n el.nativeElement._visuallyJsNgComponent = this;\n }\n\n \n private _signalBinding(n: PortUpdatedParams): void {\n if (this.parent != null) {\n \n if (n.vertex.id === this.parent.data.id && n.port.id === this.data[\"id\"]) {\n this.$data.set(this.data);\n }\n }\n }\n\n \n ngOnInit(): void {\n if (this.data == null) {\n log(`WARN: cannot instantiate port component; \"data\" not set`);\n return;\n }\n\n if (this.parent == null) {\n log(\n `WARN: cannot instantiate port component; \"parent\" not set (you need to set parent to be a BaseNodeComponent or BaseGroupComponent on this component in your template)`,\n );\n return;\n }\n\n this.$data.set(this.data);\n this._signalBinder = this._signalBinding.bind(this);\n this.parent.model.bind(EVENT_PORT_UPDATED, this._signalBinder);\n }\n\n \n getPort(): Port {\n return this.parent\n .getVertex()\n .getPort(this.parent.model.getPortId(this.data));\n }\n\n \n getPortId(): string {\n return this.parent.model.getPortId(this.data);\n }\n\n \n updatePort(data: ObjectData): void {\n this.parent.model.updatePort(this.getPort(), data);\n }\n\n \n removePort(): void {\n this.parent.model.removePort(this.parent.getVertex(), this.getPortId());\n }\n\n \n ngOnDestroy(): void {\n this.parent.model.unbind(EVENT_PORT_UPDATED, this._signalBinder);\n }\n}\n","import {\n BrowserUIModel,\n Surface,\n SurfaceOptions,\n log\n} from \"@visuallyjs/browser-ui\";\n\n\n\nexport class BrowserUIAngularModel extends BrowserUIModel {\n render(container: Element, options?: SurfaceOptions): Surface {\n log(\n \"render called directly on BrowserUIAngularModel class: should not happen. UI should use internal render.\",\n );\n return null;\n }\n}\n\n","import {\n AfterViewInit,\n Component,\n ComponentRef,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewContainerRef,\n ChangeDetectorRef, WritableSignal, inject, reflectComponentType\n} from \"@angular/core\"\n\nimport {\n EdgeUpdatedParams,\n EVENT_EDGE_UPDATED,\n EVENT_GROUP_UPDATED,\n EVENT_NODE_UPDATED,\n EVENT_PORT_ADDED,\n EVENT_PORT_UPDATED,\n extend,\n ObjectData,\n PortUpdatedParams,\n Vertex,\n VertexUpdatedParams,\n FullOverlaySpec,\n OverlaySpec,\n renderSurface,\n Surface,\n TemplateRenderer,\n OVERLAY_TYPE_CUSTOM,\n isGroup,\n BrowserElement,\n EVENT_INTERNAL_CONNECTION,\n VisuallyJsModel,\n ModelOptions,\n EVENT_DATA_LOAD_END,\n SurfaceSaveData, ExportOptions, SaveOptions, CustomOverlayOptions, ELEMENT_DIV, Connection, HTMLElementOverlayHolder,\n BrowserUIModel\n} from \"@visuallyjs/browser-ui\"\nimport {\n AngularRenderOptions,\n AngularViewOptions,\n AngularNodeMapping, AngularGroupMapping,\n} from \"./common\";\n\nimport {\n AngularComponentOverlayType,\n AngularOverlayComponent,\n} from \"./overlay-component\";\nimport { DefaultGroupComponent } from \"./default-group-component\";\nimport { DefaultNodeComponent } from \"./default-node-component\";\nimport { BasePortComponent } from \"./base.port.component\";\nimport {VisuallyJsService} from \"./vjs-service\";\nimport {BrowserUIAngularModel} from \"./model\";\n\n\ntype VisuallyJsAngularDOMElement = BrowserElement & {\n _visuallyJsNgComponent:any\n _ref:ComponentRef<any>\n}\n\n\nexport interface VisuallyJsAngularComponent {\n model:VisuallyJsModel\n surface:Surface\n data:ObjectData\n $data?:WritableSignal<ObjectData>\n changeDetectorRef?:ChangeDetectorRef\n}\n\n\nexport interface VisuallyJsAngularVertexComponent extends VisuallyJsAngularComponent {\n modelObject:Vertex\n _el:VisuallyJsAngularDOMElement\n}\n\n\n@Component({\n selector: \"vjs-surface\",\n template:`<ng-content></ng-content>`\n})\nexport class SurfaceComponent<\n RO extends AngularRenderOptions = AngularRenderOptions,\n >\n implements AfterViewInit, OnDestroy\n{\n\n \n @Input() viewOptions?: AngularViewOptions;\n \n @Input() renderOptions?: AngularRenderOptions;\n\n \n @Input() modelOptions?: ModelOptions;\n\n \n @Input() data?: Record<string, any>;\n\n \n @Input() url?: string;\n\n \n @Output() vertexEvent = new EventEmitter<{\n \n vertex: Vertex;\n \n event: string;\n \n payload: any;\n \n component: ComponentRef<any>;\n }>();\n\n \n model: BrowserUIModel;\n\n \n surface: Surface;\n\n // we keep these refs in order to be able to cleanup listeners properly.\n nodeUpdateFn: (a: any, e?: any) => any;\n groupUpdateFn: (a: any, e?: any) => any;\n portAddedFn: (a: any, e?: any) => any;\n portUpdateFn: (a: any, e?: any) => any;\n dataLoadEndFn: () => any;\n\n edgeUpdateFn: (a: any, e?: any) => any;\n edgeAddFn: (a: any, e?: any) => any;\n\n $el = inject(ElementRef)\n $viewContainerRef = inject(ViewContainerRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n \n getNativeElement(component: any): VisuallyJsAngularDOMElement {\n return component.location.nativeElement.childNodes[0];\n }\n\n private _getComponent(el:BrowserElement, tryParent:boolean):VisuallyJsAngularComponent {\n if (el == null) {\n return null\n } else {\n let vjc = (el as any)._visuallyJsNgComponent\n if (vjc == null && tryParent && el.parentNode != null) {\n vjc = (el.parentNode as any)._visuallyJsNgComponent\n }\n return vjc\n }\n }\n\n private _getComponentThen(el:BrowserElement, then:(component:VisuallyJsAngularComponent) => any, tryParent:boolean):void {\n const c = this._getComponent(el, tryParent)\n if (c != null) {\n then(c)\n }\n }\n\n \n nodeOrGroupUpdated(params: VertexUpdatedParams): void {\n const info = this.surface.getObjectInfo(params.vertex, false);\n\n this._getComponentThen(info.el, (component:VisuallyJsAngularComponent) => {\n component.data = params.vertex.data\n component.$data?.set(component.data)\n if (component.changeDetectorRef) {\n component.changeDetectorRef.detectChanges();\n }\n }, false)\n\n }\n\n portUpdated(params: PortUpdatedParams): void {\n const info = this.surface.getObjectInfo(params.port, false);\n this._getComponentThen(info.el, (component:VisuallyJsAngularComponent) => {\n if (component instanceof BasePortComponent) {\n component.data = params.port.data;\n if (component.changeDetectorRef) {\n component.changeDetectorRef.detectChanges();\n }\n }\n }, true)\n }\n\n \n private edgeUpdated(params: EdgeUpdatedParams): void {\n const connection = this.surface.getRenderedConnection(params.edge.id);\n if (connection) {\n for (let id in connection.overlays) {\n const canvas = (connection.overlays[id] as HTMLElementOverlayHolder).contentElement;\n\n this._getComponentThen(canvas, (component) => {\n if (component.changeDetectorRef != null) {\n component.changeDetectorRef.detectChanges();\n }\n }, false)\n }\n }\n }\n\n \n private _processAngularOverlays(\n view: AngularViewOptions,\n ): AngularViewOptions {\n const self = this;\n const edgeTypes = view.edges || {};\n for (let edgeTypeId in edgeTypes) {\n const edgeType = edgeTypes[edgeTypeId];\n if (edgeType.overlays != null) {\n edgeType.overlays = edgeType.overlays.map((o: OverlaySpec) => {\n if (typeof o === \"string\") {\n return o;\n } else {\n const fo = o as FullOverlaySpec;\n if (fo.type === AngularComponentOverlayType) {\n const newSpec = Object.assign(fo as any, {\n type: OVERLAY_TYPE_CUSTOM,\n }) as FullOverlaySpec\n newSpec.options = (newSpec.options || {}) as CustomOverlayOptions<BrowserElement>\n newSpec.options.create = (connection: Connection<BrowserElement>) => {\n const el = document.createElement(ELEMENT_DIV);\n\n let createdComponent = self.$viewContainerRef.createComponent(\n newSpec.options.component,\n );\n\n let angularOverlayComponent = createdComponent.instance as AngularOverlayComponent;\n\n let nativeEl = createdComponent.location.nativeElement.childNodes[0];\n el.appendChild(nativeEl);\n (el as any)._visuallyJsNgComponent = angularOverlayComponent;\n\n \n if (connection != null) {\n const edge = connection.edge\n angularOverlayComponent.edge = edge;\n angularOverlayComponent.data = edge.data;\n }\n\n angularOverlayComponent.model = self.model;\n angularOverlayComponent.surface = self.surface;\n\n createdComponent.changeDetectorRef.detectChanges();\n\n return el;\n };\n\n return newSpec;\n } else {\n return fo;\n }\n }\n });\n }\n }\n\n return view;\n }\n\n \n save(options:SaveOptions): void {\n this.surface.save(options)\n }\n\n \n exportData(options:ExportOptions):SurfaceSaveData {\n return this.surface.model.exportData(options)\n }\n\n \n dataLoadEnd(): void {\n setTimeout(() => {\n if (this.surface != null) {\n this.surface.repaintEverything();\n }\n }, 0);\n }\n\n private $removeNgElement(el:any):void {\n if (el._ref != null) {\n el._ref.destroy();\n }\n\n if (el.parentNode != null) {\n el.parentNode.removeChild(el);\n }\n }\n\n \n ngAfterViewInit(): void {\n this.$ngZone.runOutsideAngular(() => {\n const view = this._processAngularOverlays(this.viewOptions || {});\n const self = this;\n this.renderOptions = this.renderOptions || ({} as RO);\n\n const render = (\n directiveId: string,\n data: any,\n instance: VisuallyJsModel,\n objectType: string,\n surface: Surface,\n def: AngularNodeMapping|AngularGroupMapping,\n modelObject: Vertex,\n eventInfo?: any,\n ) => {\n let component;\n if (def.component == null) {\n if (isGroup(modelObject)) {\n component = DefaultGroupComponent;\n } else {\n component = DefaultNodeComponent;\n }\n } else {\n component = def.component;\n }\n\n let createdComponent: ComponentRef<any> = self.$viewContainerRef.createComponent(component)\n let _componentRef = createdComponent.instance as VisuallyJsAngularVertexComponent\n\n _componentRef.data = data || {};\n _componentRef.model = model;\n _componentRef.surface = surface;\n _componentRef.modelObject = modelObject;\n\n // get the reflection data for the component\n const componentInfo = reflectComponentType(component)\n // ..and populate any declared inputs from data\n componentInfo.inputs.forEach((pt) => {\n const pv = _componentRef.data[pt.propName];\n if (pv != null) {\n _componentRef[pt.propName] = pv;\n }\n });\n // map to any outputs\n componentInfo.outputs.forEach((pt) => {\n _componentRef[pt.propName].subscribe((d) =>\n self.vertexEvent.emit({\n vertex: modelObject,\n event: pt.propName,\n payload: d,\n component: createdComponent,\n }),\n );\n });\n\n // if angular def has 'inputs' set, set them on the component. this is different to the mechanism above, in which values are extracted from\n // each node's backing data. here we inject values either as a string or from some arbitrary function.\n if (def.inputs != null) {\n for (let k in def.inputs) {\n const v = def.inputs[k];\n const value = typeof v === \"string\" ? v : v(modelObject);\n _componentRef[k] = value;\n }\n }\n\n createdComponent.changeDetectorRef.detectChanges();\n\n // TODO this should not be necessary\n const nativeElement = self.getNativeElement(createdComponent);\n _componentRef._el = nativeElement;\n _componentRef._el._visuallyJsNgComponent = _componentRef;\n _componentRef._el._ref = createdComponent; // we store _ref so we can call `destroy` on it later if the node is removed.\n\n surface.$vertexRendered(modelObject, nativeElement, def as any, eventInfo);\n }\n\n const templateRenderer: TemplateRenderer<any> = {\n asynchronous: false,\n reactive: true,\n usesWrapperElement:false,\n update: (el: any, data: ObjectData, v: Vertex, renderer: Surface) => {},\n render,\n rerender: (\n directiveId: string,\n data: any,\n instance: VisuallyJsModel,\n objectType: string,\n surface: Surface,\n def: AngularNodeMapping|AngularGroupMapping,\n modelObject: Vertex,\n eventInfo: any,\n originalElement:BrowserElement\n ) => {\n this.$removeNgElement(originalElement)\n render(directiveId, data, instance, objectType, surface, def, modelObject, eventInfo)\n },\n cleanupVertex: (objId: string, el: any) => {\n this.$removeNgElement(el)\n },\n cleanupPort: (objId: string, el: any) => {\n this.$removeNgElement(el)\n },\n };\n\n const renderParams = extend<any>(this.renderOptions || {}, {\n view: view,\n });\n\n let model = new BrowserUIAngularModel(this.modelOptions);\n this.model = model;\n\n this.surface = renderSurface(\n model,\n self.$el.nativeElement,\n templateRenderer,\n renderParams,\n );\n //this.$service.addSurface(this.surfaceId, this.surface);\n\n // new\n this.$vjs.$setSurface(this.surface)\n\n // ----------------\n\n this.nodeUpdateFn = this.nodeOrGroupUpdated.bind(this);\n model.bind(EVENT_NODE_UPDATED, this.nodeUpdateFn);\n model.bind(EVENT_PORT_ADDED, this.nodeUpdateFn);\n model.bind(EVENT_GROUP_UPDATED, this.nodeUpdateFn);\n\n this.dataLoadEndFn = this.dataLoadEnd.bind(this);\n model.bind(EVENT_DATA_LOAD_END, this.dataLoadEndFn);\n\n this.portUpdateFn = this.portUpdated.bind(this);\n model.bind(EVENT_PORT_UPDATED, this.portUpdateFn);\n\n this.edgeUpdateFn = this.edgeUpdated.bind(this);\n model.bind(EVENT_EDGE_UPDATED, this.edgeUpdateFn);\n\n if (this.data) {\n this.model.load({ data: this.data });\n } else if (this.url) {\n this.model.load({ url: this.url });\n }\n });\n }\n\n \n ngOnDestroy(): void {\n this.surface.destroy()\n this.model.unbind(EVENT_NODE_UPDATED, this.nodeUpdateFn);\n this.model.unbind(EVENT_GROUP_UPDATED, this.nodeUpdateFn);\n this.model.unbind(EVENT_PORT_ADDED, this.nodeUpdateFn);\n this.model.unbind(EVENT_PORT_UPDATED, this.portUpdateFn);\n this.model.unbind(EVENT_EDGE_UPDATED, this.edgeUpdateFn);\n this.model.unbind(EVENT_DATA_LOAD_END, this.dataLoadEndFn);\n this.surface.unbind(EVENT_INTERNAL_CONNECTION, this.edgeAddFn);\n }\n}\n","import {AfterViewInit, Component, ElementRef, inject, Input} from \"@angular/core\"\nimport {\n ObjectData,\n Size,\n ShapePalette,\n ShapeLibraryDefaults,\n DataGeneratorFunction, OnVertexAddedCallback, PreparedShape\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n template:`<div></div>`,\n selector:`vjs-shape-palette`\n})\nexport class ShapePaletteComponent implements AfterViewInit {\n\n \n @Input() initialSet?:string\n\n \n @Input() dragSize:Size = { width:150, height:100 }\n\n \n @Input() iconSize:Size = { width:150, height:100 }\n\n \n @Input() fill?:string = ShapeLibraryDefaults.FILL\n\n \n @Input() outline?:string = ShapeLibraryDefaults.STROKE\n\n \n @Input() showAllMessage? = \"Show all\"\n\n \n @Input() selectAfterDrop? = true\n\n \n @Input() paletteStrokeWidth? = 1\n\n \n @Input() onVertexAdded?:OnVertexAddedCallback\n\n \n @Input() dataGenerator?:DataGeneratorFunction<ObjectData> = undefined\n\n \n @Input() preparedShapes?:Array<PreparedShape>\n\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n\n ngAfterViewInit(): void {\n\n this.$vjs.getUI((ui) => {\n \n new ShapePalette<ObjectData>(ui, {\n container:this.$el.nativeElement,\n initialSet:this.initialSet,\n dragSize: this.dragSize,\n iconSize:this.iconSize,\n fill: this.fill,\n outline: this.outline,\n shapeLibrary:ui.getShapeLibrary(),\n showAllMessage: this.showAllMessage,\n selectAfterDrop: this.selectAfterDrop,\n paletteStrokeWidth: this.paletteStrokeWidth,\n dataGenerator:this.dataGenerator,\n onVertexAdded:this.onVertexAdded,\n preparedShapes:this.preparedShapes\n })\n })\n\n }\n\n\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input,\n OnChanges,\n SimpleChanges,\n} from \"@angular/core\";\nimport {\n ObjectData,\n ShapeLibrary,\n DEFAULT_LABEL_FILL_RATIO,\n convertToMultilineText,\n BrowserUI, BrowserElement, FontSpec\n} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n template: `<svg:svg\n [attr.stroke-width]=\"obj.outlineWidth || 2\"\n attr.fill=\"{{ obj.fill }}\"\n attr.stroke=\"{{ obj.outline }}\"\n style=\"width:100%;height:100%;inset:0;position:absolute;\"\n preserveAspectRatio=\"none\"\n attr.viewBox=\"0 0 {{ width }} {{ height }}\"\n ></svg:svg>`,\n selector: `vjs-shape`,\n})\nexport class ShapeComponent implements AfterViewInit, OnChanges {\n\n \n @Input() obj: ObjectData;\n \n @Input() width: number;\n\n \n @Input() height: number;\n\n \n @Input() showLabels? = false;\n\n \n @Input() labelProperty? = \"label\";\n\n \n @Input() labelStrokeWidth?: string;\n\n \n @Input() label?: string;\n\n \n @Input() multilineLabels? = true\n\n \n @Input() labelFillRatio = DEFAULT_LABEL_FILL_RATIO\n\n \n @Input() font?:FontSpec\n\n private shapeLibrary: ShapeLibrary<ObjectData>\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n private _render(): void {\n if (this.shapeLibrary != null) {\n const svg = this.$el.nativeElement.childNodes[0];\n const el = this.shapeLibrary.renderCompiledShape(\n this.obj,\n this.obj.outlineWidth || 2,\n );\n svg.replaceChildren(el);\n if (this.showLabels) {\n const lbl = this.shapeLibrary.renderShapeLabel(\n this.obj,\n this.labelProperty,\n this.labelStrokeWidth,\n this.label,\n this.obj.color || \"#000000\",\n this.obj.color || \"#000000\",\n this.font\n );\n svg.appendChild(lbl);\n if (this.multilineLabels !== false) {\n convertToMultilineText(lbl, this.label || this.obj[this.labelProperty] || \"\", this.width * this.labelFillRatio)\n }\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.$vjs.getUI((b:BrowserUI) => {\n this.shapeLibrary = b.getShapeLibrary()\n this._render()\n })\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._render();\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n inject,\n Input,\n OnInit,\n} from \"@angular/core\";\n\nimport {\n EVENT_UNDOREDO_UPDATE,\n UndoRedoUpdateParams,\n EVENT_SURFACE_MODE_CHANGED,\n FALSE,\n TRUE,\n SURFACE_MODE_PAN,\n SURFACE_MODE_SELECT,\n ControlsComponentButtons,\n SurfaceMode,\n LASSO_PATH,\n LASSO_VIEW_BOX,\n PAN_PATH,\n PAN_VIEW_BOX,\n LassoPlugin,\n BrowserElement,\n ZOOM_TO_FIT_VIEW_BOX,\n ZOOM_TO_FIT_PATH,\n BrowserUI,\n ZOOM_IN_OUT_VIEW_BOX,\n ZOOM_IN_PATH,\n ZOOM_OUT_PATH,\n RESET_SELECTION_PATH,\n RESET_SELECTION_VIEW_BOX,\n CLEAR_PATH,\n CLEAR_VIEW_BOX,\n CLASS_CONTROLS_RESET_SELECTION, EVENT_SELECT,\n EVENT_DESELECT, EVENT_SELECTION_CLEARED, supportsPathEditing\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\nconst ATTRIBUTE_CAN_UNDO = \"can-undo\";\nconst ATTRIBUTE_CAN_REDO = \"can-redo\";\nconst CLASS_SELECTED_MODE = \"vjs-selected-mode\";\nconst ATTRIBUTE_HAS_SELECTION = \"vjs-controls-has-selection\"\n\n\n@Component({\n selector: \"vjs-controls\",\n template: `<div class=\"vjs-controls\" [attr.data-vjs-orientation]=\"orientation\">\n <i *ngIf=\"showPanButton\" class=\"vjs-pan-mode ${CLASS_SELECTED_MODE}\" data-mode=\"${SURFACE_MODE_PAN}\" title=\"Pan Mode\" (click)=\"panMode()\">\n <svg viewBox=\"${PAN_VIEW_BOX}\" stroke=\"currentColor\" fill=\"none\">\n <path d=\"${PAN_PATH}\"></path>\n </svg>\n </i>\n <i *ngIf=\"showLassoButton\" class=\"vjs-select-mode\" data-mode=\"${SURFACE_MODE_SELECT}\" title=\"Select Mode\" (click)=\"selectMode()\">\n <svg fill=\"currentColor\" viewBox=\"${LASSO_VIEW_BOX}\" stroke=\"currentColor\">\n <path d=\"${LASSO_PATH}\"></path>\n </svg>\n </i>\n\n <i *ngFor=\"let button of modeButtons\" data-mode=\"{{ button.mode }}\" class=\"{{ button.class }}\" title=\"{{ button.title }}\"></i>\n\n <i *ngIf=\"zoomToExtents\" class=\"vjs-zoom-to-fit\" data-reset=\"true\"title=\"Zoom To Fit\" (click)=\"zoomToFit()\">\n <svg viewBox=\"${ZOOM_TO_FIT_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${ZOOM_TO_FIT_PATH}\"></path></svg>\n </i>\n\n <i *ngIf=\"zoomButtons\" class=\"vjs-zoom-in\" data-zoom-in=\"true\" title=\"Zoom In\" (click)=\"zoomIn()\">\n <svg viewBox=\"${ZOOM_IN_OUT_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${ZOOM_IN_PATH}\"></path></svg>\n </i>\n\n <i *ngIf=\"zoomButtons\" class=\"vjs-zoom-out\" data-zoom-out=\"true\" title=\"Zoom Out\" (click)=\"zoomOut()\">\n <svg viewBox=\"${ZOOM_IN_OUT_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${ZOOM_OUT_PATH}\"></path></svg>\n </i>\n\n <i *ngIf=\"undoRedo\" class=\"vjs-undo\" data-undo=\"true\" title=\"Undo last action\" (click)=\"undo()\"></i>\n <i *ngIf=\"undoRedo\" class=\"vjs-redo\" data-redo=\"true\" title=\"Redo last action\" (click)=\"redo()\"></i>\n <i class=\"${CLASS_CONTROLS_RESET_SELECTION}\" title=\"Clear selection\" (click)=\"resetSelection()\">\n <svg viewBox=\"${RESET_SELECTION_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${RESET_SELECTION_PATH}\"></path></svg>\n </i>\n <i *ngIf=\"clear\" class=\"vjs-clear-dataset\" [title]=\"clearMessage\" (click)=\"doClear()\">\n <svg viewBox=\"${CLEAR_VIEW_BOX}\" stroke=\"currentColor\" fill=\"currentColor\"><path d=\"${CLEAR_PATH}\"></path></svg>\n </i>\n <i *ngFor=\"let button of otherButtons\" class=\"{{ button.class }}\" title=\"{{ button.title }}\"></i>\n </div>`,\n})\nexport class ControlsComponent implements OnInit {\n \n @Input() undoRedo? = true;\n \n @Input() zoomToExtents? = true;\n\n \n @Input() zoomButtons? = false;\n \n @Input() clear? = true;\n \n @Input() clearMessage? = \"Clear dataset?\";\n \n @Input() buttons?: ControlsComponentButtons = [];\n \n @Input() orientation? = \"row\";\n\n modeButtons: ControlsComponentButtons;\n otherButtons: ControlsComponentButtons;\n\n ui: BrowserUI;\n\n showPanButton = true;\n showLassoButton = true;\n\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n $cdr = inject(ChangeDetectorRef)\n\n updateSelectionState():void {\n const controls = this.getNativeElement(this.$el);\n if (this.ui.model.getSelection().isEmpty()) {\n controls.removeAttribute(ATTRIBUTE_HAS_SELECTION)\n } else {\n controls.setAttribute(ATTRIBUTE_HAS_SELECTION, \"true\")\n }\n }\n\n ngOnInit(): void {\n this.modeButtons = this.buttons.filter((b) => b.mode != null);\n this.otherButtons = this.buttons.filter((b) => b.mode == null);\n\n this.$vjs.getUI((ui: BrowserUI) => {\n this.ui = ui;\n\n this.showLassoButton = ui.getPlugin(LassoPlugin.type) != null;\n this.showPanButton = this.showLassoButton === true;\n\n this.ui.bind(EVENT_SURFACE_MODE_CHANGED, (mode: SurfaceMode) => {\n const controls = this.getNativeElement(this.$el);\n\n const modeButtons = this.ui.$getSelector(controls, \"[data-mode]\");\n\n this.ui.removeClass(modeButtons, CLASS_SELECTED_MODE);\n\n this.ui.addClass(\n this.ui.$getSelector(controls, `[data-mode='${mode}']`),\n CLASS_SELECTED_MODE,\n );\n });\n\n this.ui.model.bind(\n EVENT_UNDOREDO_UPDATE,\n (state: UndoRedoUpdateParams) => {\n const controls = this.getNativeElement(this.$el);\n controls.setAttribute(\n ATTRIBUTE_CAN_UNDO,\n state.undoCount > 0 ? TRUE : FALSE,\n );\n controls.setAttribute(\n ATTRIBUTE_CAN_REDO,\n state.redoCount > 0 ? TRUE : FALSE,\n );\n },\n );\n\n this.ui.model.bind(EVENT_SELECT, () => this.updateSelectionState())\n this.ui.model.bind(EVENT_DESELECT, () => this.updateSelectionState())\n this.ui.model.bind(EVENT_SELECTION_CLEARED, () => this.updateSelectionState())\n\n this.$cdr.detectChanges();\n });\n }\n\n getNativeElement(component: any): BrowserElement {\n return (\n component.nativeElement ||\n component._nativeElement ||\n component.location.nativeElement\n ).childNodes[0];\n }\n\n panMode(): void {\n this.ui.setMode(SURFACE_MODE_PAN);\n }\n\n selectMode(): void {\n this.ui.setMode(SURFACE_MODE_SELECT);\n }\n\n zoomToFit(): void {\n this.ui.model.clearSelection();\n this.ui.zoomToFit();\n }\n\n zoomIn():void {\n this.ui.zoomIn()\n }\n\n zoomOut():void {\n this.ui.zoomOut()\n }\n\n resetSelection():void {\n this.ui.model.clearSelection()\n if (supportsPathEditing(this.ui)) {\n this.ui.stopEditingPath()\n }\n }\n\n undo(): void {\n this.ui.model.undo();\n }\n\n redo(): void {\n this.ui.model.redo();\n }\n\n doClear(): void {\n const t = this.ui.model;\n if (\n (t.getNodeCount() === 0 && t.getGroupCount() === 0) ||\n confirm(this.clearMessage)\n ) {\n t.clear();\n }\n }\n}\n","\nimport {AfterViewInit, Component, ElementRef, Input, Output, EventEmitter, inject} from \"@angular/core\"\nimport { INSPECTOR_CONTEXT_EDGE_PROPERTY_MAPPINGS, EdgeTypePicker, EdgePropertyMappings, Inspector } from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector:\"vjs-edge-type\",\n template:`<div [attr.vjs-att]=\"propertyName\"></div>`\n})\nexport class EdgeTypePickerComponent implements AfterViewInit {\n \n @Input() propertyName:string\n \n @Input() edgeMappings?:EdgePropertyMappings\n\n \n @Output() changeEvent = new EventEmitter<string>()\n\n private edgeTypePicker:EdgeTypePicker\n\n $vjs = inject(VisuallyJsService)\n\n inspector:Inspector\n\n constructor(private el:ElementRef) { }\n\n private resolveMappings():EdgePropertyMappings {\n const mappings = this.edgeMappings || this.inspector.getFromContext<EdgePropertyMappings>(INSPECTOR_CONTEXT_EDGE_PROPERTY_MAPPINGS)\n return mappings || this.inspector.$ui.$getEdgePropertyMappings()\n }\n\n ngAfterViewInit():void {\n\n this.$vjs.getInspector(inspector => {\n this.inspector = inspector\n this.inspector.onChange(() => {\n this.edgeTypePicker.select(this.propertyName, this.inspector.getValue(this.propertyName))\n })\n\n const current = this.inspector.getValue(this.propertyName) || ''\n this.edgeTypePicker = new EdgeTypePicker(this.inspector.$ui, this.el.nativeElement,\n this.resolveMappings(), current, (p:string, v:string) => {\n this.inspector.setValue(this.propertyName, v)\n this.changeEvent.emit(v)\n })\n this.edgeTypePicker.render(this.propertyName, this.inspector._currentCommonData)\n })\n\n\n\n }\n}\n","import {AfterViewInit, Directive, ElementRef, inject, Input} from \"@angular/core\";\nimport {\n DataGeneratorFunction,\n GroupIdentifierFunction,\n OnVertexAddedCallback,\n Palette,\n PaletteOptions,\n Size,\n Surface,\n TypeGeneratorFunction,\n CanvasDropFilter, PaletteMode,\n} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Directive({\n selector: \"[vjs-palette]\",\n})\nexport class PaletteComponent<T> implements AfterViewInit {\n\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n\n \n @Input() selector?: string;\n\n \n @Input() dataGenerator?: DataGeneratorFunction<T>;\n\n \n @Input() typeGenerator?: TypeGeneratorFunction<T>;\n\n \n @Input() groupIdentifier?: GroupIdentifierFunction<T>;\n\n \n palette: Palette<T>;\n\n \n @Input() allowDropOnEdge?: boolean;\n \n @Input() allowDropOnGroup?: boolean;\n \n @Input() allowDropOnCanvas?: boolean;\n \n @Input() allowDropOnNode?: boolean;\n\n \n @Input() onVertexAdded?: OnVertexAddedCallback;\n\n \n @Input() dragSize?: Size;\n\n \n @Input() canvasDropFilter?: CanvasDropFilter<T>;\n\n \n @Input() mode?:PaletteMode;\n\n \n @Input() selectAfterAdd?:boolean\n\n \n @Input() allowClickToAdd?:boolean\n\n \n @Input() clickToAddOnly?:boolean\n\n \n ngAfterViewInit(): void {\n\n this.$vjs.getSurface( (surface: Surface) => {\n let self = this;\n\n let params: PaletteOptions<T> = {\n source:self.$el.nativeElement,\n selector: self.selector,\n\n allowDropOnEdge: this.allowDropOnEdge,\n allowDropOnCanvas: this.allowDropOnCanvas,\n allowDropOnGroup: this.allowDropOnGroup,\n allowDropOnNode: this.allowDropOnNode,\n mode:this.mode,\n selectAfterAdd:this.selectAfterAdd,\n allowClickToAdd:this.allowClickToAdd,\n clickToAddOnly:this.clickToAddOnly\n };\n\n if (this.dataGenerator != null) {\n params.dataGenerator = this.dataGenerator;\n }\n\n if (this.typeGenerator != null) {\n params.typeGenerator = this.typeGenerator;\n }\n\n if (this.groupIdentifier != null) {\n params.groupIdentifier = this.groupIdentifier;\n }\n\n if (this.onVertexAdded != null) {\n params.onVertexAdded = this.onVertexAdded;\n }\n\n if (this.dragSize != null) {\n params.dragSize = this.dragSize;\n }\n\n if (this.canvasDropFilter != null) {\n params.canvasDropFilter = this.canvasDropFilter;\n }\n\n this.palette = new Palette(surface, params);\n });\n }\n}\n","import {\n Component,\n ElementRef, inject,\n Input,\n OnInit,\n} from \"@angular/core\";\nimport {\n BrowserUI,\n CLASS_CONTROLS,\n CLASS_EXPORT_CONTROLS, ImageExportUI,\n ImageExportUIOptions,\n PointXY,\n SvgExportUI,\n SvgExportUIOptions,\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector: \"vjs-export-controls\",\n template: `<div class=\"${CLASS_CONTROLS} ${CLASS_EXPORT_CONTROLS}\">\n <span *ngIf=\"showLabel\">{{ label }}</span>\n <i *ngIf=\"allowSvgExport\"\n ><a href=\"#\" id=\"exportSvg\" (click)=\"exportSVG()\">SVG</a></i\n >\n <i *ngIf=\"allowPngExport\"\n ><a href=\"#\" id=\"exportPng\" (click)=\"exportPNG()\">PNG</a></i\n >\n <i *ngIf=\"allowJpgExport\"\n ><a href=\"#\" id=\"exportJpg\" (click)=\"exportJPG()\">JPG</a></i\n >\n </div>`,\n})\nexport class ExportControlsComponent implements OnInit {\n\n \n @Input() showLabel? = true;\n \n @Input() label? = \"Export:\";\n\n \n @Input() margins?: PointXY;\n \n @Input() svgOptions?: SvgExportUIOptions;\n \n @Input() imageOptions?: ImageExportUIOptions;\n \n @Input() allowSvgExport? = true;\n \n @Input() allowPngExport? = true;\n \n @Input() allowJpgExport? = true;\n\n\n \n ui: BrowserUI;\n\n // new\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n\n\n ngOnInit(): void {\n this.$vjs.getUI((b: BrowserUI) => {\n this.ui = b;\n });\n }\n\n exportSVG(): void {\n new SvgExportUI(this.ui).export(this.svgOptions)\n }\n\n exportPNG(): void {\n\n new ImageExportUI(this.ui).export(this.imageOptions)\n }\n\n exportJPG(): void {\n new ImageExportUI(this.ui).export(Object.assign(this.imageOptions || {}, {\n type: \"image/jpeg\",\n }))\n }\n}\n","\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n signal,\n ChangeDetectorRef, inject\n} from \"@angular/core\"\nimport {\n CLASS_COLOR_PICKER,\n CLASS_COLOR_PICKER_SWATCH, CLASS_COLOR_PICKER_SWATCHES,\n EVENT_CONTEXT_UPDATE,\n Inspector,\n INSPECTOR_CONTEXT_RECENT_COLORS\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector:\"vjs-color\",\n template:`<div class=\"${CLASS_COLOR_PICKER}\">\n <input type=\"color\" [attr.vjs-att]=\"propertyName\"/>\n <div class=\"${CLASS_COLOR_PICKER_SWATCHES}\">\n <div *ngFor=\"let swatch of swatches()\" class=\"${CLASS_COLOR_PICKER_SWATCH}\" attr.data-color=\"{{swatch}}\" style=\"background-color:{{swatch}}\" (click)=\"selectColor(swatch)\"></div>\n </div>\n </div>`\n})\nexport class ColorPickerComponent implements AfterViewInit {\n\n \n @Input() propertyName:string\n \n @Input() maxColors? = 10\n \n @Output() changeEvent = new EventEmitter<string>()\n\n swatches = signal<Array<string>>([]);\n\n $vjs = inject(VisuallyJsService)\n $el = inject(ElementRef)\n $cdr = inject(ChangeDetectorRef)\n\n private $getInspector(cb:(i:Inspector) => any):void {\n this.$vjs.getInspector(cb)\n }\n\n selectColor(color:string):void {\n this.$getInspector(inspector => {\n inspector.setValue(this.propertyName, color)\n this.$el.nativeElement.querySelector(\"[type='color']\").value = color\n })\n }\n\n private pushColor(color:string):void {\n this.$getInspector(inspector => {\n const rc = inspector.getFromContext(INSPECTOR_CONTEXT_RECENT_COLORS)\n if (rc != null) {\n if (rc.find((c: string) => c === color) == null) {\n const cc = rc.slice()\n cc.unshift(color)\n if (cc.length >= this.maxColors) {\n cc.length = this.maxColors\n }\n\n inspector.updateContext(INSPECTOR_CONTEXT_RECENT_COLORS, cc)\n }\n }\n })\n }\n\n ngAfterViewInit():void {\n\n this.$getInspector(inspector => {\n this.swatches.set(inspector.ensureContext(INSPECTOR_CONTEXT_RECENT_COLORS, () => []))\n inspector.bind(EVENT_CONTEXT_UPDATE, (p:{key:string, value:any}) => {\n if (p.key === INSPECTOR_CONTEXT_RECENT_COLORS) {\n this.swatches.set(p.value)\n this.$cdr.detectChanges()\n }\n })\n\n const colorInput = this.$el.nativeElement.querySelector(\"[type='color']\")\n colorInput.onchange = () => {\n const color = colorInput.value\n this.pushColor(color)\n inspector.setValue(this.propertyName, color, true)\n }\n\n setTimeout(() => {\n // if there is a color, maybe push to context\n const v = inspector.getValue(this.propertyName)\n if (v != null) {\n this.pushColor(v)\n }\n })\n })\n\n\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy,\n OnInit\n} from \"@angular/core\"\nimport {\n createDiagram,\n Diagram,\n DiagramOptions,\n DiagramSaveData,\n DiagramSaveOptions, ModelOptions,\n SaveOptions\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Component({\n selector:\"vjs-diagram\",\n template:`<ng-content></ng-content>`\n})\nexport class DiagramComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() options?:DiagramOptions\n \n @Input() data?:any\n \n @Input() url?:string\n\n \n @Input() modelOptions?:ModelOptions\n\n \n diagram:Diagram\n\n $ngZone = inject(NgZone)\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n ngAfterViewInit(): void {\n\n this.$ngZone.runOutsideAngular(() => {\n this.diagram = createDiagram(this.$el.nativeElement, this.options, this.modelOptions)\n\n this.$vjs.$setDiagram(this.diagram)\n\n if (this.data != null) {\n this.diagram.load({data:this.data})\n } else if (this.url != null) {\n this.diagram.load({url:this.url})\n }\n })\n\n }\n\n ngOnDestroy(): void {\n this.diagram.destroy()\n }\n\n \n save(options?:DiagramSaveOptions):DiagramSaveData {\n return this.diagram.save(options)\n }\n\n \n saveToUrl(options:SaveOptions):void {\n this.diagram.saveToUrl(options)\n }\n\n\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy\n} from \"@angular/core\"\nimport {\n BrowserUIModel,\n ColumnChart,\n ColumnChartOptions,\n DataSource,\n ObjectData\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface ColumnChartComponentOptions extends Omit<ColumnChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-column-chart\",\n template:`<div></div>`\n})\nexport class ColumnChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:ColumnChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:ColumnChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new ColumnChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {BarChart, BarChartOptions, BrowserUIModel, DataSource, ObjectData} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface BarChartComponentOptions extends Omit<BarChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-bar-chart\",\n template:`<div></div>`\n})\nexport class BarChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n\n \n @Input() options:BarChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n $vjs = inject(VisuallyJsService)\n\n private chart:BarChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new BarChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {Diagram, DiagramCell, DiagramPalette, Size, PaletteMode, OnVertexAddedCallback, PreparedShape} from \"@visuallyjs/browser-ui\"\nimport {AfterViewInit, Component, ElementRef, inject, Input} from \"@angular/core\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n@Component({\n selector: \"vjs-diagram-palette\",\n template: `<div></div>`,\n})\nexport class DiagramPaletteComponent implements AfterViewInit {\n\n \n @Input() fill?:string\n \n @Input() outline?:string\n \n @Input() dragSize?:Size\n \n @Input() inspector?:boolean\n \n @Input() iconSize?:Size\n \n @Input() showLabels?:boolean\n \n @Input() paletteStrokeWidth?:number\n \n @Input() showAllMessage?:string\n \n @Input() onCellAdded?:(dc:DiagramCell) => any\n \n @Input() mode?:PaletteMode\n\n \n @Input() allowClickToAdd?:boolean\n\n \n @Input() autoExitDrawMode?:boolean\n\n \n @Input() selectAfterAdd?:boolean\n\n \n @Input() diagram?:Diagram\n\n \n @Input() onVertexAdded?:OnVertexAddedCallback\n\n \n @Input() preparedShapes?:Array<PreparedShape>\n\n $el = inject(ElementRef)\n $vjs = inject(VisuallyJsService)\n\n private $init():void {\n \n new DiagramPalette(this.$el.nativeElement, this.diagram, {\n fill: this.fill,\n outline: this.outline,\n dragSize: this.dragSize,\n inspector: this.inspector,\n iconSize: this.iconSize,\n showLabels: this.showLabels,\n paletteStrokeWidth: this.paletteStrokeWidth,\n showAllMessage: this.showAllMessage,\n onCellAdded: this.onCellAdded,\n mode: this.mode,\n allowClickToAdd: this.allowClickToAdd,\n autoExitDrawMode: this.autoExitDrawMode,\n selectAfterAdd: this.selectAfterAdd,\n onVertexAdded:this.onVertexAdded,\n preparedShapes:this.preparedShapes\n })\n }\n\n ngAfterViewInit(): void {\n if (this.diagram != null) {\n this.$init()\n } else {\n this.$vjs.getDiagram((d: Diagram) => {\n this.diagram = d\n this.$init()\n })\n }\n\n }\n\n\n}\n\n\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {CategoryValueChart, CategoryValueChartOptions, ObjectData} from \"@visuallyjs/browser-ui\"\n\nexport interface XYChartComponentOptions extends Omit<CategoryValueChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-xy-chart\",\n template:`<div></div>`\n})\nexport class XYChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n\n \n @Input() options:XYChartComponentOptions\n\n private chart:CategoryValueChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n \n ngAfterViewInit(): void {\n this.$ngZone.runOutsideAngular(() => {\n this.chart = new CategoryValueChart(this.$el.nativeElement, this.options)\n if (this.data) {\n this.chart.load({data:this.data})\n } else if (this.url) {\n this.chart.load({url:this.url})\n }\n })\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {BrowserUIModel, DataSource, LineChart, LineChartOptions, ObjectData} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface LineChartComponentOptions extends Omit<LineChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-line-chart\",\n template:`<div></div>`\n})\nexport class LineChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:LineChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:LineChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new LineChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {AreaChart, AreaChartOptions, BrowserUIModel, DataSource,ObjectData} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\n\nexport interface AreaChartComponentOptions extends Omit<AreaChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-area-chart\",\n template:`<div></div>`\n})\nexport class AreaChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:AreaChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n $vjs = inject(VisuallyJsService)\n\n private chart:AreaChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new AreaChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input, NgZone,\n OnDestroy,\n inject\n} from \"@angular/core\"\nimport {PieChart, PieChartOptions, ObjectData, DataSource, BrowserUIModel} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface PieChartComponentOptions extends Omit<PieChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-pie-chart\",\n template:`<div></div>`\n})\nexport class PieChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n\n \n @Input() options:PieChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:PieChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new PieChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy\n} from \"@angular/core\"\nimport {\n ScatterChart,\n ScatterChartOptions,\n ObjectData,\n DataSource,\n BrowserUIModel\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface ScatterChartComponentOptions extends Omit<ScatterChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-scatter-chart\",\n template:`<div></div>`\n})\nexport class ScatterChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:ScatterChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:ScatterChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new ScatterChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef, inject,\n Input, NgZone,\n OnDestroy\n} from \"@angular/core\"\nimport {\n BrowserUIModel,\n BubbleChart,\n BubbleChartOptions,\n DataSource,\n ObjectData\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface BubbleChartComponentOptions extends Omit<BubbleChartOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-bubble-chart\",\n template:`<div></div>`\n})\nexport class BubbleChartComponent implements AfterViewInit, OnDestroy {\n\n \n @Input() data?: Array<ObjectData>\n\n \n @Input() url?: string\n\n \n @Input() options:BubbleChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:BubbleChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n\n $vjs = inject(VisuallyJsService)\n\n private _init(dataSource?:DataSource, data?:Array<ObjectData>, url?:string):void {\n this.$ngZone.runOutsideAngular(() => {\n const o = Object.assign({}, this.options)\n Object.assign(o, {dataSource})\n this.chart = new BubbleChart(this.$el.nativeElement, o)\n if (data) {\n this.chart.load({data})\n } else if (url) {\n this.chart.load({url})\n }\n })\n }\n\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null)\n })\n } else {\n this._init(null, this.data, this.url)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n Component, inject,\n ElementRef,\n Input,\n OnChanges,\n SimpleChanges,\n AfterViewInit, OnDestroy, NgZone\n} from \"@angular/core\"\nimport {\n SankeyChart,\n SankeyOptions,\n VisuallyJsDefaultJSON,\n BrowserUIModel, DataSource\n} from \"@visuallyjs/browser-ui\"\nimport {VisuallyJsService} from \"../vjs-service\";\n\nexport interface SankeyChartComponentOptions extends Omit<SankeyOptions, \"data\"|\"url\"|\"model\"> {}\n\n@Component({\n selector:\"vjs-sankey-chart\",\n template:`<div></div>`\n})\nexport class SankeyChartComponent implements AfterViewInit, OnDestroy, OnChanges {\n\n \n @Input() csvData?: string\n\n \n @Input() jsonData?: VisuallyJsDefaultJSON\n\n \n @Input() url?: string\n\n \n @Input() interactive?: boolean\n\n \n @Input() pivot?: string\n\n \n @Input() options:SankeyChartComponentOptions\n\n \n @Input() useModel?:boolean\n\n private chart:SankeyChart\n\n $el = inject(ElementRef)\n $ngZone = inject(NgZone)\n $vjs = inject(VisuallyJsService)\n\n \n private _init(dataSource?:DataSource, csvData?:string, jsonData?:VisuallyJsDefaultJSON, url?:string): void {\n this.$ngZone.runOutsideAngular(() => {\n const options = Object.assign({}, this.options)\n if (this.interactive != null) {\n options.interactive = this.interactive\n }\n if (this.pivot != null) {\n options.pivot = this.pivot\n }\n Object.assign(options, {\n csvData,\n jsonData,\n dataSource,\n url\n })\n this.chart = new SankeyChart(this.$el.nativeElement, options)\n })\n }\n \n ngAfterViewInit(): void {\n if (this.useModel) {\n this.$vjs.getModel((p:BrowserUIModel) => {\n this._init(p, null, null, null)\n })\n } else {\n this._init(null, this.csvData, this.jsonData, this.url)\n }\n\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // @ts-ignore\n if (changes['pivot'] && this.chart) {\n // @ts-ignore\n this.chart.pivot(changes['pivot'].currentValue)\n }\n }\n\n ngOnDestroy(): void {\n this.chart?.destroy()\n }\n}\n","import {\n Component,\n Input,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n inject\n} from \"@angular/core\";\nimport {PointXY, FixedElementConstraints, Surface} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n@Component({\n selector: \"vjs-decorator\",\n template: `\n <div style=\"display:inline-block;\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class DecoratorComponent implements AfterViewInit, OnDestroy {\n \n @Input() placement: 'fixed' | 'floating' = 'floating';\n\n \n @Input() position: PointXY = { x: 0, y: 0 };\n\n \n @Input() constraints?: FixedElementConstraints;\n\n private el = inject(ElementRef);\n\n private surface!:Surface\n\n service = inject(VisuallyJsService)\n\n ngAfterViewInit(): void {\n\n this.service.getSurface(s => {\n const nativeElement = this.el.nativeElement.firstElementChild as HTMLElement;\n\n if (this.placement === 'fixed') {\n s.fixElement(nativeElement, this.position, this.constraints);\n } else {\n s.floatElement(nativeElement, this.position);\n }\n })\n }\n\n ngOnDestroy(): void {\n if (this.surface && this.placement === 'fixed') {\n this.surface.unfixElement(this.el.nativeElement.firstElementChild as HTMLElement);\n }\n }\n // Note: Surface.floatElement typically appends to a layer that is cleaned up\n // when the surface is destroyed, but manual DOM removal of the element\n // handled by Angular's lifecycle is usually sufficient here.\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from \"@angular/common\"\n\nimport {MiniviewComponent} from \"./miniview-component\"\nimport {SurfaceComponent} from \"./surface-component\"\nimport {ShapePaletteComponent} from \"./shape.palette.component\"\nimport {ShapeComponent} from \"./shape.component\"\nimport {ControlsComponent} from \"./controls-component\"\nimport {EdgeTypePickerComponent} from \"./edge.type.picker.component\"\nimport {DefaultNodeComponent} from \"./default-node-component\"\nimport {DefaultGroupComponent} from \"./default-group-component\"\nimport {BasePortComponent} from \"./base.port.component\"\nimport {PaletteComponent} from \"./palette.component\"\nimport {ExportControlsComponent} from \"./export-controls-component\"\nimport {ColorPickerComponent} from \"./color.tag.component\"\nimport {DiagramComponent} from \"./diagram-component\"\nimport {ColumnChartComponent} from \"./charts/column.chart.component\"\nimport {BarChartComponent} from \"./charts/bar.chart.component\"\nimport { DiagramPaletteComponent } from \"./diagram-palette-component\";\nimport {XYChartComponent} from \"./charts/xy.chart.component\";\nimport {LineChartComponent} from \"./charts/line.chart.component\";\nimport {AreaChartComponent} from \"./charts/area.chart.component\";\nimport {PieChartComponent} from \"./charts/pie.chart.component\";\nimport {ScatterChartComponent} from \"./charts/scatter.chart.component\";\nimport {BubbleChartComponent} from \"./charts/bubble.chart.component\";\nimport {SankeyChartComponent} from \"./charts/sankey.chart.component\";\nimport {DecoratorComponent} from \"./decorator-component\";\n\n\n@NgModule({\n imports:[ CommonModule ],\n declarations: [\n DefaultNodeComponent,\n DefaultGroupComponent,\n BasePortComponent,\n MiniviewComponent,\n SurfaceComponent,\n PaletteComponent,\n ShapePaletteComponent,\n DiagramPaletteComponent,\n ShapeComponent,\n ControlsComponent,\n EdgeTypePickerComponent,\n PaletteComponent,\n ExportControlsComponent,\n ColorPickerComponent,\n DiagramComponent,\n ColumnChartComponent,\n BarChartComponent,\n XYChartComponent,\n LineChartComponent,\n AreaChartComponent,\n PieChartComponent,\n ScatterChartComponent,\n BubbleChartComponent,\n SankeyChartComponent,\n DecoratorComponent\n ],\n exports: [\n MiniviewComponent,\n SurfaceComponent,\n PaletteComponent,\n DiagramPaletteComponent,\n ShapeComponent,\n ShapePaletteComponent,\n ControlsComponent,\n ExportControlsComponent,\n EdgeTypePickerComponent,\n ColorPickerComponent,\n DiagramComponent,\n ColumnChartComponent,\n BarChartComponent,\n XYChartComponent,\n LineChartComponent,\n AreaChartComponent,\n PieChartComponent,\n ScatterChartComponent,\n BubbleChartComponent,\n SankeyChartComponent,\n DecoratorComponent\n ]\n})\nexport class VisuallyJsModule { }\n","import {\n BrowserElement,\n SurfaceOptions,\n Vertex,\n GroupMapping,\n NodeMapping,\n PortMapping,\n ViewSpec,\n} from \"@visuallyjs/browser-ui\";\n\n\nexport interface AngularNodeMapping\n extends Omit<NodeMapping<BrowserElement>, \"templateIdResolver\" | \"template\" | \"templateId\" | \"parameters\"> {\n \n component?: any;\n\n \n inputs?: Record<string, string | ((v: Vertex) => string)>;\n}\n\n\nexport interface AngularGroupMapping\n extends Omit<GroupMapping<any>, \"templateIdResolver\" | \"template\" | \"templateId\" | \"parameters\"> {\n \n component?: any;\n\n \n inputs?: Record<string, string | ((v: Vertex) => string)>;\n}\n\n\nexport interface AngularPortMapping\n extends Omit<PortMapping<any>, \"templateIdResolver\" | \"template\" | \"templateId\" | \"parameters\"> {\n \n component?: any;\n}\n\n\nexport interface AngularViewOptions extends ViewSpec<BrowserElement> {\n \n nodes?: Record<string, AngularNodeMapping>;\n \n groups?: Record<string, AngularGroupMapping>;\n \n ports?: Record<string, AngularPortMapping>;\n}\n\n\nexport interface AngularRenderOptions\n extends Pick<\n SurfaceOptions,\n Exclude<\n keyof SurfaceOptions,\n [\"view\", \"tags\", \"container\"]\n >\n > {}\n\n// [\"view\", \"tags\", \"container\", \"directRender\", \"storePositionsInModel\"]\n\n\n","import {\n ChangeDetectorRef,\n ElementRef,\n Input,\n inject,\n Directive,\n AfterViewInit,\n} from \"@angular/core\";\nimport {Inspector, Base, Edge, Node, Group, Port, BrowserUI} from \"@visuallyjs/browser-ui\";\nimport {VisuallyJsService} from \"./vjs-service\";\n\n\n@Directive()\nexport class InspectorComponent<T extends Base = Base>\n implements AfterViewInit\n{\n \n currentObj: T;\n\n \n currentType = \"\";\n\n \n currentObjectType = \"\";\n\n \n EDGE = Edge.objectType\n\n \n NODE = Node.objectType\n\n \n GROUP = Group.objectType\n\n \n PORT = Port.objectType\n\n \n @Input() cssClass?:string\n\n \n @Input() showCloseButton?: boolean;\n\n \n @Input() context?:Record<string, any> = {}\n\n \n inspector!: Inspector;\n\n \n changeDetector = inject(ChangeDetectorRef);\n\n \n el = inject(ElementRef);\n\n ui!: BrowserUI;\n\n // new\n $vjs = inject(VisuallyJsService)\n\n \n ngAfterViewInit(): void {\n this.$vjs.getUI((ui) => {\n this.ui = ui;\n this.inspector = new Inspector({\n context:this.context,\n container: this.el.nativeElement,\n cssClass:this.cssClass,\n showCloseButton: this.showCloseButton,\n ui,\n renderEmptyContainer: () => {\n this.reset();\n this.changeDetector.detectChanges();\n },\n refresh: (obj: Base, cb: () => void) => {\n this.currentObj = obj as T;\n this.refresh(obj);\n setTimeout(cb, 0);\n this.changeDetector.detectChanges();\n },\n afterUpdate: () => this.afterUpdate(ui),\n });\n\n this.$vjs.$setInspector(this.inspector)\n });\n }\n\n \n refresh(obj: Base): void {\n this.currentType = obj.data.type;\n this.currentObjectType = obj.objectType;\n }\n\n \n reset(): void {\n this.currentType = \"\";\n this.currentObjectType = ''\n }\n\n \n afterUpdate(ui: BrowserUI): void {}\n}\n","\nexport * from './lib/browser-ui-angular.module'\nexport * from './lib/model'\nexport * from './lib/vjs-service'\nexport * from './lib/base.node.component'\nexport * from './lib/base.vertex.component'\nexport * from './lib/base.group.component'\nexport * from './lib/base.port.component'\nexport * from './lib/default-node-component'\nexport * from './lib/default-group-component'\nexport * from './lib/common'\nexport * from './lib/miniview-component'\nexport * from './lib/surface-component'\nexport * from './lib/overlay-component'\nexport * from './lib/palette.component';\nexport * from './lib/decorator-component';\nexport * from './lib/shape.component';\nexport * from './lib/shape.palette.component';\nexport * from './lib/diagram-palette-component';\nexport * from './lib/controls-component';\nexport * from './lib/export-controls-component';\nexport * from './lib/edge.type.picker.component';\nexport * from './lib/inspector.component';\nexport * from './lib/color.tag.component';\nexport * from './lib/diagram-component';\nexport * from './lib/charts/column.chart.component'\nexport * from './lib/charts/bar.chart.component'\nexport * from './lib/charts/line.chart.component'\nexport * from './lib/charts/area.chart.component'\nexport * from './lib/charts/xy.chart.component'\nexport * from './lib/charts/pie.chart.component'\nexport * from './lib/charts/scatter.chart.component'\nexport * from './lib/charts/bubble.chart.component'\nexport * from './lib/charts/sankey.chart.component'\n\n","\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visuallyjs/browser-ui-angular",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "*",
|
|
6
6
|
"@angular/core": "*"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"tslib": "^2.0.0",
|
|
10
|
-
"@visuallyjs/browser-ui": "1.1.
|
|
10
|
+
"@visuallyjs/browser-ui": "1.1.1"
|
|
11
11
|
},
|
|
12
12
|
"exports": {
|
|
13
13
|
"./css/visuallyjs-angular.css": {
|
|
Binary file
|