{"version":3,"file":"obliczeniowo-elementary-connectors.mjs","sources":["../../../../projects/components/connectors/components/directional-connector/directional-connector.component.ts","../../../../projects/components/connectors/components/directional-connector/directional-connector.component.html","../../../../projects/components/connectors/components/relation-connector/relation-connector.component.ts","../../../../projects/components/connectors/components/relation-connector/relation-connector.component.html","../../../../projects/components/connectors/connectors.module.ts","../../../../projects/components/connectors/obliczeniowo-elementary-connectors.ts"],"sourcesContent":["import { Component, Input, ChangeDetectorRef, HostBinding, HostListener, SimpleChanges, EventEmitter, Output } from '@angular/core';\nimport { HtmlColor, IPoint2D } from '@obliczeniowo/elementary/classes';\nimport { MenuComponent, MenuItem } from '@obliczeniowo/elementary/menu';\nimport { Subscription } from 'rxjs';\n\n@Component({\n    selector: 'g[obl-directional-connector]',\n    templateUrl: './directional-connector.component.html',\n    styleUrls: ['./directional-connector.component.scss'],\n    standalone: false\n})\nexport class DirectionalConnectorComponent {\n  @Input() start?: IPoint2D;\n\n  @Input() end?: IPoint2D;\n\n  @Input() startAngle?: number;\n\n  @Input() endAngle?: number;\n\n  @Input() offset: number = 30;\n\n  @Input() k: number = 6;\n\n  @Input() color?: HtmlColor;\n\n  @Input() startName?: string;\n\n  @Input() endName?: string;\n\n  @Input() menu?: MenuComponent;\n\n  @HostBinding('class.highlight')\n  @Input() highlight: boolean = false;\n\n  @Output() remove = new EventEmitter<void>();\n\n  protected menuItems: MenuItem[] = [\n    {\n      id: 1,\n      text: 'Delete',\n      command: 'delete',\n    }\n  ];\n\n  protected subscription?: Subscription;\n\n  @HostListener('mouseover') mouseOver() {\n    if (this.menu) {\n      this.menu.items = this.menuItems;\n    }\n  }\n\n  constructor(public changes: ChangeDetectorRef) {}\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.menu) {\n      if (this.subscription && !this.subscription.closed) {\n        this.subscription.unsubscribe();\n      }\n      if (this.menu) {\n        this.subscription = this.menu.command.subscribe(command => {\n          if (this.menu?.items !== this.menuItems) {\n            return;\n          }\n          switch (command) {\n            case 'delete':\n              this.remove.emit();\n              break;\n          }\n          this.menu.items = [];\n        })\n      }\n    }\n  }\n\n  protected shape() {\n    const { start, end, startAngle, endAngle, offset, k } = this;\n\n    if (!start || !end || startAngle === undefined || endAngle === undefined) {\n      return '';\n    }\n\n    const offsetPoint: IPoint2D = { x: offset * Math.cos(endAngle), y: offset * Math.sin(endAngle) };\n    const offsetPointStart: IPoint2D = { x: offset * Math.cos(startAngle), y: offset * Math.sin(startAngle) };\n\n    const startOffset: IPoint2D = { x: start.x + offsetPointStart.x, y: start.y + offsetPointStart.y };\n    const endOffset: IPoint2D = { x: end.x - offsetPoint.x, y: end.y - offsetPoint.y }\n\n    return 'M ' +\n      start.x +\n      ',' +\n      start.y +\n      ' ' + startOffset.x + ',' + startOffset.y + 'C ' +\n      + (startOffset.x + offsetPointStart.x * k) + ',' + (startOffset.y + offsetPointStart.y * k) + ' ' +\n      (endOffset.x - offsetPoint.x * k) +\n      ',' +\n      (endOffset.y - offsetPoint.y * k) + ' ' +\n      endOffset.x +\n      ',' +\n      endOffset.y +\n      ' L ' +\n      end.x +\n      ',' +\n      end.y;\n  }\n}\n","<svg:path\n  [attr.d]=\"shape()\"\n  [ngStyle]=\"{ stroke: color || 'gray' }\"\n></svg:path>\n","import { Component, Input, ChangeDetectorRef, Output, HostListener, ElementRef, SimpleChanges } from '@angular/core';\nimport { HtmlColor, IPoint2D } from '@obliczeniowo/elementary/classes';\nimport { Connector } from '../../models/connector.model';\nimport { MenuComponent } from '@obliczeniowo/elementary/menu';\nimport { Subscription } from 'rxjs';\nimport { ConnectorDataModel } from '../../models/connector-data.model';\nimport { BehaviorSubjectExt, EventEmitterExt } from '@obliczeniowo/elementary/rx-js-ext';\n\n@Component({\n    selector: 'g[obl-relation-connector]',\n    templateUrl: './relation-connector.component.html',\n    styleUrls: ['./relation-connector.component.scss'],\n    standalone: false\n})\nexport class RelationConnectorComponent {\n  // left connector pos\n  @Input() left?: IPoint2D;\n  // right connector pos\n  @Input() right?: IPoint2D;\n  // connector required\n  @Input() connector?: Connector;\n  //\n  @Input() highlighted?: string;\n  //\n  @Input() offset = 20;\n  //\n  @Input() defaultColor: HtmlColor = 'gray';\n  //\n  @Input() menu?: MenuComponent;\n  //\n  @Input() translations: { [english: string]: string } = {};\n  //\n  @Input() disabled?: boolean;\n  //\n  @Input() input = new BehaviorSubjectExt<ConnectorDataModel | undefined>(undefined);\n\n  //\n  @Output() clicked = new EventEmitterExt<Connector>()\n  //\n  @Output() remove = new EventEmitterExt<Connector>();\n  //\n  @Output() editColor = new EventEmitterExt<Connector>();\n\n  protected menuItems = [\n    {\n      id: 1,\n      text: 'Delete',\n      command: 'delete',\n    },\n    {\n      id: 2,\n      text: 'Set color',\n      command: 'set-color',\n    }\n  ]\n\n  @HostListener('mouseover') onMouseOver() {\n    if (this.menu && !this.disabled) {\n      this.menu.items = this.menuItems;\n    }\n  }\n\n  @HostListener('mouseleave') onMouseLeave() {\n    if (this.menu && !this.menu?.opened) {\n      this.menu.items = [];\n    }\n  }\n\n  protected subscription!: Subscription;\n\n  constructor(public change: ChangeDetectorRef, protected elementRef: ElementRef<HTMLElement>) {\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.disabled && !this.disabled && this.menu) {\n      this.menu.items = [];\n    }\n    if (changes.menu && this.menu) {\n      if (this.subscription && !this.subscription?.closed) {\n        this.subscription.unsubscribe();\n      }\n      this.subscription = this.menu.command.subscribe((command) => {\n        if (this.menu?.items !== this.menuItems) {\n          return;\n        }\n        switch (command) {\n          case 'delete': {\n            this.remove.emit(\n              this.connector\n            )\n          }\n            break;\n          case 'set-color': {\n            this.editColor.emit(\n              this.connector\n            )\n          }\n            break;\n          case 'on-close': {\n            this.menu.items = [];\n          }\n            break;\n        }\n      })\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.subscription && !this.subscription?.closed) {\n      this.subscription.unsubscribe();\n    }\n    this.input.clearSubscriptions();\n  }\n\n  protected shape() {\n    const { left, right, offset } = this;\n\n    if (!left || !right) {\n      return;\n    }\n\n    const size = (right.x - offset - left.x - offset) * 0.5;\n\n    return 'm ' +\n      left?.x +\n      ',' +\n      left?.y +\n      ' h ' + offset +\n      ' c ' + Math.abs(size) + ',0 ' + (size < 0 ? 3 * size : size) + ',' + (right.y - left.y) + ' ' +\n      (right.x - offset - left.x - offset) +\n      ',' +\n      (right.y - left.y) +\n      ' h ' + offset;\n  }\n}\n","@if (left && right) {\n  <svg:path\n    [class.highlighted]=\"highlighted === connector?.left || highlighted === connector?.right\"\n    [ngStyle]=\"{ stroke: connector?.color || defaultColor }\"\n    [attr.d]=\"shape()\"\n    (click)=\"clicked.emit(connector)\"\n  ></svg:path>\n}\n","import { DirectionalConnectorComponent } from './components/directional-connector/directional-connector.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RelationConnectorComponent } from './components/relation-connector/relation-connector.component';\nimport { MenuModule } from '@obliczeniowo/elementary/menu';\n\n@NgModule({\n  declarations: [\n    DirectionalConnectorComponent,\n    RelationConnectorComponent\n  ],\n  imports: [\n    CommonModule,\n    MenuModule\n  ],\n  exports: [\n    DirectionalConnectorComponent,\n    RelationConnectorComponent\n  ]\n})\nexport class ConnectorsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}