Bugfixes, added pin types, colors

This commit is contained in:
barsdeveloper
2023-01-07 17:57:06 +01:00
parent a3e0d6be2b
commit 55f9719fa9
24 changed files with 513 additions and 175 deletions

View File

@@ -49,16 +49,16 @@ export default class IInputPinTemplate extends PinTemplate {
setup() {
super.setup()
this.#inputContentElements.forEach(element => {
this.#inputContentElements.forEach(element =>
element.addEventListener("focusout", this.#onFocusOutHandler)
})
)
}
cleanup() {
super.cleanup()
this.#inputContentElements.forEach(element => {
this.#inputContentElements.forEach(element =>
element.removeEventListener("focusout", this.#onFocusOutHandler)
})
)
}
createInputObjects() {

View File

@@ -1,13 +1,13 @@
import { html } from "lit"
import PinTemplate from "./PinTemplate"
import MinimalPinTemplate from "./MinimalPinTemplate"
import Utility from "../../Utility"
/** @typedef {import("../node/KnotNodeTemplate").default} KnotNodeTemplate */
export default class KnotPinTemplate extends PinTemplate {
export default class KnotPinTemplate extends MinimalPinTemplate {
render() {
return this.element.isOutput() ? html`<div class="ueb-pin-icon">${this.renderIcon()}</div>` : html``
return this.element.isOutput() ? super.render() : html``
}
getLinkLocation() {
@@ -17,13 +17,8 @@ export default class KnotPinTemplate extends PinTemplate {
: this
)
.iconElement.getBoundingClientRect()
const location = Utility.convertLocation(
[
this.element.isInput() ? rect.left + 1 : rect.right + 2,
(rect.top + rect.bottom) / 2,
],
this.blueprint.template.gridElement
)
const boundingLocation = [this.element.isInput() ? rect.left : rect.right, (rect.top + rect.bottom) / 2]
const location = Utility.convertLocation(boundingLocation, this.blueprint.template.gridElement)
return this.blueprint.compensateTranslation(location[0], location[1])
}
}

View File

@@ -0,0 +1,9 @@
import { html } from "lit"
import PinTemplate from "./PinTemplate"
export default class MinimalPinTemplate extends PinTemplate {
render() {
return html`<div class="ueb-pin-icon">${this.renderIcon()}</div>`
}
}

View File

@@ -68,11 +68,13 @@ export default class PinTemplate extends ITemplate {
}
renderIcon() {
if (this.element.entity.PinType.ContainerType.toString() == "Array") {
return SVGIcon.array
switch (this.element.entity.PinType.ContainerType.toString()) {
case "Array": return SVGIcon.array
case "Set": return SVGIcon.set
case "Map": return SVGIcon.map
}
if (this.element.entity.PinType.ContainerType.toString() == "Set") {
return SVGIcon.set
if (this.element.entity.PinType.PinCategory === "delegate") {
return SVGIcon.delegate
}
return SVGIcon.genericPin
}
@@ -101,7 +103,7 @@ export default class PinTemplate extends ITemplate {
/** @param {PropertyValues} changedProperties */
firstUpdated(changedProperties) {
super.firstUpdated(changedProperties)
this.element.style.setProperty("--ueb-pin-color-rgb", Configuration.getPinColor(this.element).cssText)
this.element.style.setProperty("--ueb-pin-color-rgb", Configuration.pinColor(this.element).cssText)
this.#iconElement = this.element.querySelector(".ueb-pin-icon svg") ?? this.element
}