diff --git a/dist/ueblueprint.js b/dist/ueblueprint.js index 2f350dc..52eaeb5 100755 --- a/dist/ueblueprint.js +++ b/dist/ueblueprint.js @@ -1978,7 +1978,7 @@ class IElement extends HTMLElement { * @returns {V} */ getInputObject(type) { - return /** @type {V} */ (this.inputObjects.find(object => object.constructor == type)) + return /** @type {V} */ (this.template.inputObjects.find(object => object.constructor == type)) } // Subclasses will want to override @@ -2824,13 +2824,7 @@ class StringPinTemplate extends PinTemplate { renderInput(pin) { return html`
-
+
` } @@ -2841,15 +2835,17 @@ class StringPinTemplate extends PinTemplate { setup(pin) { super.setup(pin); const input = pin.querySelector(".ueb-pin-input-content"); - this.onFocusHandler = () => { - pin.blueprint.dispatchEditTextEvent(true); - }; - this.onFocusOutHandler = () => { - pin.blueprint.dispatchEditTextEvent(false); - document.getSelection().removeAllRanges(); // Deselect text inside the input - }; - input.addEventListener("onfocus", this.onFocusHandler); - input.addEventListener("onfocusout", this.onFocusOutHandler); + if (input) { + this.onFocusHandler = () => { + pin.blueprint.dispatchEditTextEvent(true); + }; + this.onFocusOutHandler = () => { + pin.blueprint.dispatchEditTextEvent(false); + document.getSelection().removeAllRanges(); // Deselect text inside the input + }; + input.addEventListener("onfocus", this.onFocusHandler); + input.addEventListener("onfocusout", this.onFocusOutHandler); + } } /** @@ -3092,7 +3088,7 @@ class SelectableDraggableTemplate extends ITemplate { return [ ...super.createInputObjects(element), ...[ - new MouseMoveNodes(this, element.blueprint, { + new MouseMoveNodes(element, element.blueprint, { looseTarget: true }), ] diff --git a/js/element/IElement.js b/js/element/IElement.js index 3dd53ce..18b09c3 100644 --- a/js/element/IElement.js +++ b/js/element/IElement.js @@ -81,7 +81,7 @@ export default class IElement extends HTMLElement { * @returns {V} */ getInputObject(type) { - return /** @type {V} */ (this.inputObjects.find(object => object.constructor == type)) + return /** @type {V} */ (this.template.inputObjects.find(object => object.constructor == type)) } // Subclasses will want to override diff --git a/js/template/SelectableDraggableTemplate.js b/js/template/SelectableDraggableTemplate.js index 702eeca..6ab86df 100755 --- a/js/template/SelectableDraggableTemplate.js +++ b/js/template/SelectableDraggableTemplate.js @@ -20,7 +20,7 @@ export default class SelectableDraggableTemplate extends ITemplate { return [ ...super.createInputObjects(element), ...[ - new MouseMoveNodes(this, element.blueprint, { + new MouseMoveNodes(element, element.blueprint, { looseTarget: true }), ] diff --git a/js/template/StringPinTemplate.js b/js/template/StringPinTemplate.js index 604af3e..07e76b0 100644 --- a/js/template/StringPinTemplate.js +++ b/js/template/StringPinTemplate.js @@ -19,13 +19,7 @@ export default class StringPinTemplate extends PinTemplate { renderInput(pin) { return html`
-
+
` } @@ -36,15 +30,17 @@ export default class StringPinTemplate extends PinTemplate { setup(pin) { super.setup(pin) const input = pin.querySelector(".ueb-pin-input-content") - this.onFocusHandler = () => { - pin.blueprint.dispatchEditTextEvent(true) + if (input) { + this.onFocusHandler = () => { + pin.blueprint.dispatchEditTextEvent(true) + } + this.onFocusOutHandler = () => { + pin.blueprint.dispatchEditTextEvent(false) + document.getSelection().removeAllRanges() // Deselect text inside the input + } + input.addEventListener("onfocus", this.onFocusHandler) + input.addEventListener("onfocusout", this.onFocusOutHandler) } - this.onFocusOutHandler = () => { - pin.blueprint.dispatchEditTextEvent(false) - document.getSelection().removeAllRanges() // Deselect text inside the input - } - input.addEventListener("onfocus", this.onFocusHandler) - input.addEventListener("onfocusout", this.onFocusOutHandler) } /**