mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-03 23:55:04 +08:00
* Fix node reference when changing elements * Fix ScriptVariables parsing * Fix invariant text and niagara types * Niagara convert nodes * Move node tests to own files * More Niagara tests * Niagara float and smaller fixes * More Decoding * More decoding * WIP * Float is real * WIP * More types and colors * Test case and small polish * WIP * WIP * Fix niagara script variables merging * Fix Niagara variables * Fixing mirrored ExportPath * Fix Export paths name adjustments * Simplify arc calculation * Simplify a bit arc calculation * source / destionation => origin / target * Minor refactoring * Fix switched link position * Rename some properties for uniformity * Fix input escape * Simplify test * About window * Dialog backdrop style * About dialog touches * Remove dependency and minot improvement * Light mode * Fix link location and css small improvement * Link direction and minor fixes * Some minor fixes and refactoring * Refactoring WIP * Shorting repetitive bits * More tests * Simplify linking tests
53 lines
1.6 KiB
JavaScript
Executable File
53 lines
1.6 KiB
JavaScript
Executable File
import FastSelectionModel from "../selection/FastSelectionModel.js"
|
|
import IFromToPositionedElement from "./IFromToPositionedElement.js"
|
|
import SelectorTemplate from "../template/SelectorTemplate.js"
|
|
|
|
/** @extends {IFromToPositionedElement<Object, SelectorTemplate>} */
|
|
export default class SelectorElement extends IFromToPositionedElement {
|
|
|
|
/** @type {FastSelectionModel} */
|
|
selectionModel = null
|
|
|
|
constructor() {
|
|
super()
|
|
super.initialize({}, new SelectorTemplate())
|
|
}
|
|
|
|
static newObject() {
|
|
return new SelectorElement()
|
|
}
|
|
|
|
initialize() {
|
|
// Initialized in the constructor, this method does nothing
|
|
}
|
|
|
|
/** @param {Coordinates} initialPosition */
|
|
beginSelect(initialPosition) {
|
|
const blueprintConstructor = /** @type {BlueprintConstructor} */(this.blueprint.constructor)
|
|
this.blueprint.selecting = true
|
|
this.setBothLocations(initialPosition)
|
|
this.selectionModel = new FastSelectionModel(
|
|
initialPosition,
|
|
this.blueprint.getNodes(),
|
|
blueprintConstructor.nodeBoundariesSupplier,
|
|
blueprintConstructor.nodeSelectToggleFunction
|
|
)
|
|
}
|
|
|
|
/** @param {Coordinates} finalPosition */
|
|
selectTo(finalPosition) {
|
|
this.selectionModel.selectTo(finalPosition)
|
|
this.targetX = finalPosition[0]
|
|
this.targetY = finalPosition[1]
|
|
}
|
|
|
|
endSelect() {
|
|
this.blueprint.selecting = false
|
|
this.selectionModel = null
|
|
this.originX = 0
|
|
this.originY = 0
|
|
this.targetX = 0
|
|
this.targetY = 0
|
|
}
|
|
}
|