mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:08:18 +08:00
Fix script injection, small refactoring
This commit is contained in:
68
dist/ueblueprint.js
vendored
68
dist/ueblueprint.js
vendored
@@ -522,8 +522,8 @@ class BlueprintTemplate extends Template {
|
||||
* @param {Blueprint} brueprint The blueprint element
|
||||
*/
|
||||
applyZoom(blueprint, newZoom) {
|
||||
blueprint.classList.remove(`ueb-zoom-${blueprint.zoom}`);
|
||||
blueprint.classList.add(sanitizeText`ueb-zoom-${newZoom}`);
|
||||
blueprint.classList.remove("ueb-zoom-" + sanitizeText(blueprint.zoom));
|
||||
blueprint.classList.add("ueb-zoom-" + sanitizeText(newZoom));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1355,6 +1355,7 @@ class MouseClickDrag extends Pointing {
|
||||
case self.clickButton:
|
||||
// Either doesn't matter or consider the click only when clicking on the parent, not descandants
|
||||
if (self.looseTarget || e.target == e.currentTarget) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
self.started = false;
|
||||
// Attach the listeners
|
||||
@@ -1549,11 +1550,11 @@ class PinTemplate extends Template {
|
||||
if (pin.isInput()) {
|
||||
return html`
|
||||
<span class="ueb-node-value-icon ${pin.isConnected() ? 'ueb-node-value-fill' : ''}"></span>
|
||||
${pin.getPinDisplayName()}
|
||||
${sanitizeText(pin.getPinDisplayName())}
|
||||
`
|
||||
} else {
|
||||
return html`
|
||||
${pin.getPinDisplayName()}
|
||||
${sanitizeText(pin.getPinDisplayName())}
|
||||
<span class="ueb-node-value-icon ${pin.isConnected() ? 'ueb-node-value-fill' : ''}"></span>
|
||||
`
|
||||
}
|
||||
@@ -1566,19 +1567,45 @@ class PinTemplate extends Template {
|
||||
apply(pin) {
|
||||
super.apply(pin);
|
||||
pin.classList.add("ueb-node-" + pin.isInput() ? "input" : "output", "ueb-node-value-" + sanitizeText(pin.getType()));
|
||||
pin.clickableElement = pin.querySelector(".ueb-node-value-icon");
|
||||
}
|
||||
}
|
||||
|
||||
class DragLink extends MouseClickDrag {
|
||||
|
||||
constructor(target, blueprint, options) {
|
||||
super(target, blueprint, options);
|
||||
}
|
||||
|
||||
startDrag() {
|
||||
let a = 12;
|
||||
console.log(a);
|
||||
}
|
||||
|
||||
dragTo(location, movement) {
|
||||
//this.selectorElement.doSelecting(location)
|
||||
}
|
||||
|
||||
endDrag() {
|
||||
if (this.started) ;
|
||||
}
|
||||
}
|
||||
|
||||
class GraphPin extends GraphElement {
|
||||
|
||||
constructor(entity) {
|
||||
super(entity, new PinTemplate());
|
||||
/** @type {import("../entity/PinEntity").default} */
|
||||
this.entity;
|
||||
/** @type {HTMLElement} */
|
||||
this.clickableElement = null;
|
||||
}
|
||||
|
||||
connectedCallback() {
|
||||
super.connectedCallback();
|
||||
new DragLink(this.clickableElement, this.blueprint, {
|
||||
moveEverywhere: true
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1712,7 +1739,7 @@ class NodeTemplate extends SelectableDraggableTemplate {
|
||||
}
|
||||
}
|
||||
|
||||
class Drag extends MouseClickDrag {
|
||||
class DragMove extends MouseClickDrag {
|
||||
|
||||
constructor(target, blueprint, options) {
|
||||
super(target, blueprint, options);
|
||||
@@ -1771,7 +1798,7 @@ class SelectableDraggable extends GraphElement {
|
||||
|
||||
connectedCallback() {
|
||||
super.connectedCallback();
|
||||
this.dragObject = new Drag(this, this.blueprint, {
|
||||
this.dragObject = new DragMove(this, this.blueprint, {
|
||||
looseTarget: true
|
||||
});
|
||||
}
|
||||
@@ -1820,25 +1847,6 @@ class SelectableDraggable extends GraphElement {
|
||||
}
|
||||
}
|
||||
|
||||
class DragLink extends MouseClickDrag {
|
||||
|
||||
constructor(target, blueprint, options) {
|
||||
super(target, blueprint, options);
|
||||
}
|
||||
|
||||
startDrag() {
|
||||
//this.selectorElement.startSelecting(this.clickedPosition)
|
||||
}
|
||||
|
||||
dragTo(location, movement) {
|
||||
//this.selectorElement.doSelecting(location)
|
||||
}
|
||||
|
||||
endDrag() {
|
||||
if (this.started) ;
|
||||
}
|
||||
}
|
||||
|
||||
class GraphNode extends SelectableDraggable {
|
||||
|
||||
/**
|
||||
@@ -1870,16 +1878,6 @@ class GraphNode extends SelectableDraggable {
|
||||
connectedCallback() {
|
||||
this.getAttribute("type")?.trim();
|
||||
super.connectedCallback();
|
||||
this.querySelectorAll(".ueb-node-input, .ueb-node-output").forEach(element => {
|
||||
this.dragLinkObjects.push(
|
||||
new DragLink(element, this.blueprint, {
|
||||
clickButton: 0,
|
||||
moveEverywhere: true,
|
||||
exitAnyButton: true,
|
||||
looseTarget: true
|
||||
})
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
setLocation(value = [0, 0]) {
|
||||
|
||||
@@ -36,16 +36,6 @@ export default class GraphNode extends SelectableDraggable {
|
||||
connectedCallback() {
|
||||
const type = this.getAttribute("type")?.trim()
|
||||
super.connectedCallback()
|
||||
this.querySelectorAll(".ueb-node-input, .ueb-node-output").forEach(element => {
|
||||
this.dragLinkObjects.push(
|
||||
new DragLink(element, this.blueprint, {
|
||||
clickButton: 0,
|
||||
moveEverywhere: true,
|
||||
exitAnyButton: true,
|
||||
looseTarget: true
|
||||
})
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
setLocation(value = [0, 0]) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import GraphElement from "./GraphElement"
|
||||
import PinTemplate from "../template/PinTemplate"
|
||||
import DragLink from "../input/DragLink"
|
||||
|
||||
export default class GraphPin extends GraphElement {
|
||||
|
||||
@@ -7,10 +8,15 @@ export default class GraphPin extends GraphElement {
|
||||
super(entity, new PinTemplate())
|
||||
/** @type {import("../entity/PinEntity").default} */
|
||||
this.entity
|
||||
/** @type {HTMLElement} */
|
||||
this.clickableElement = null
|
||||
}
|
||||
|
||||
connectedCallback() {
|
||||
super.connectedCallback()
|
||||
new DragLink(this.clickableElement, this.blueprint, {
|
||||
moveEverywhere: true
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Drag from "../input/Drag"
|
||||
import DragMove from "../input/DragMove"
|
||||
import GraphElement from "./GraphElement"
|
||||
|
||||
export default class SelectableDraggable extends GraphElement {
|
||||
@@ -19,7 +19,7 @@ export default class SelectableDraggable extends GraphElement {
|
||||
|
||||
connectedCallback() {
|
||||
super.connectedCallback()
|
||||
this.dragObject = new Drag(this, this.blueprint, {
|
||||
this.dragObject = new DragMove(this, this.blueprint, {
|
||||
looseTarget: true
|
||||
})
|
||||
}
|
||||
|
||||
@@ -7,7 +7,8 @@ export default class DragLink extends MouseClickDrag {
|
||||
}
|
||||
|
||||
startDrag() {
|
||||
//this.selectorElement.startSelecting(this.clickedPosition)
|
||||
let a = 12
|
||||
console.log(a)
|
||||
}
|
||||
|
||||
dragTo(location, movement) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import MouseClickDrag from "./MouseClickDrag"
|
||||
|
||||
export default class Drag extends MouseClickDrag {
|
||||
export default class DragMove extends MouseClickDrag {
|
||||
|
||||
constructor(target, blueprint, options) {
|
||||
super(target, blueprint, options)
|
||||
@@ -23,6 +23,7 @@ export default class MouseClickDrag extends Pointing {
|
||||
case self.clickButton:
|
||||
// Either doesn't matter or consider the click only when clicking on the parent, not descandants
|
||||
if (self.looseTarget || e.target == e.currentTarget) {
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
self.started = false
|
||||
// Attach the listeners
|
||||
|
||||
@@ -74,8 +74,8 @@ export default class BlueprintTemplate extends Template {
|
||||
* @param {Blueprint} brueprint The blueprint element
|
||||
*/
|
||||
applyZoom(blueprint, newZoom) {
|
||||
blueprint.classList.remove(`ueb-zoom-${blueprint.zoom}`)
|
||||
blueprint.classList.add(sanitizeText`ueb-zoom-${newZoom}`)
|
||||
blueprint.classList.remove("ueb-zoom-" + sanitizeText(blueprint.zoom))
|
||||
blueprint.classList.add("ueb-zoom-" + sanitizeText(newZoom))
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,11 +16,11 @@ export default class PinTemplate extends Template {
|
||||
if (pin.isInput()) {
|
||||
return html`
|
||||
<span class="ueb-node-value-icon ${pin.isConnected() ? 'ueb-node-value-fill' : ''}"></span>
|
||||
${pin.getPinDisplayName()}
|
||||
${sanitizeText(pin.getPinDisplayName())}
|
||||
`
|
||||
} else {
|
||||
return html`
|
||||
${pin.getPinDisplayName()}
|
||||
${sanitizeText(pin.getPinDisplayName())}
|
||||
<span class="ueb-node-value-icon ${pin.isConnected() ? 'ueb-node-value-fill' : ''}"></span>
|
||||
`
|
||||
}
|
||||
@@ -33,5 +33,6 @@ export default class PinTemplate extends Template {
|
||||
apply(pin) {
|
||||
super.apply(pin)
|
||||
pin.classList.add("ueb-node-" + pin.isInput() ? "input" : "output", "ueb-node-value-" + sanitizeText(pin.getType()))
|
||||
pin.clickableElement = pin.querySelector(".ueb-node-value-icon")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user