mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-03-17 05:47:34 +08:00
Simple serialization entities fixes and tests
This commit is contained in:
@@ -15,9 +15,8 @@ export default class IDraggableTemplate extends ITemplate {
|
||||
}
|
||||
|
||||
createDraggableObject() {
|
||||
return new MouseMoveDraggable(this.element, this.blueprint, {
|
||||
draggableElement: this.getDraggableElement(),
|
||||
})
|
||||
const draggableElement = this.getDraggableElement()
|
||||
return new MouseMoveDraggable(this.element, this.blueprint, { draggableElement })
|
||||
}
|
||||
|
||||
createInputObjects() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { html } from "lit"
|
||||
import Configuration from "../../Configuration.js"
|
||||
import IResizeableTemplate from "../IResizeableTemplate.js"
|
||||
import Utility from "../../Utility.js"
|
||||
import IResizeableTemplate from "../IResizeableTemplate.js"
|
||||
|
||||
export default class CommentNodeTemplate extends IResizeableTemplate {
|
||||
|
||||
|
||||
@@ -34,5 +34,6 @@ export default class INumericPinTemplate extends IInputPinTemplate {
|
||||
*/
|
||||
setDefaultValue(values = [], rawValues) {
|
||||
this.element.setDefaultValue(/** @type {T} */(values[0]))
|
||||
this.element.requestUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,25 @@
|
||||
import IntPinTemplate from "./IntPinTemplate.js"
|
||||
import { html } from "lit"
|
||||
import Integer64Entity from "../../entity/Integer64Entity.js"
|
||||
import INumericPinTemplate from "./INumericPinTemplate.js"
|
||||
|
||||
export default class Int64PinTemplate extends IntPinTemplate {
|
||||
/** @extends INumericPinTemplate<Integer64Entity> */
|
||||
export default class Int64PinTemplate extends INumericPinTemplate {
|
||||
|
||||
/** @param {String[]} values */
|
||||
setInputs(values = [], updateDefaultValue = false) {
|
||||
if (!values || values.length == 0) {
|
||||
values = [this.getInput()]
|
||||
}
|
||||
super.setInputs(values, false)
|
||||
if (updateDefaultValue) {
|
||||
if (!values[0].match(/[\-\+]?[0-9]+/)) {
|
||||
return
|
||||
}
|
||||
const parsedValues = [BigInt(values[0])]
|
||||
this.setDefaultValue(parsedValues, values)
|
||||
}
|
||||
/**
|
||||
* @param {Number[]} values
|
||||
* @param {String[]} rawValues
|
||||
*/
|
||||
setDefaultValue(values = [], rawValues) {
|
||||
this.element.setDefaultValue(new Integer64Entity(values[0]))
|
||||
this.element.requestUpdate()
|
||||
}
|
||||
|
||||
renderInput() {
|
||||
return html`
|
||||
<div class="ueb-pin-input-wrapper ueb-pin-input">
|
||||
<ueb-input .singleLine="${true}" .innerText="${this.element.getDefaultValue()?.toString() ?? "0"}">
|
||||
</ueb-input>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
import { html } from "lit"
|
||||
import INumericPinTemplate from "./INumericPinTemplate.js"
|
||||
import IntegerEntity from "../../entity/IntegerEntity.js"
|
||||
|
||||
/** @extends INumericPinTemplate<IntegerEntity> */
|
||||
export default class IntPinTemplate extends INumericPinTemplate {
|
||||
|
||||
setDefaultValue(values = [], rawValues = values) {
|
||||
const integer = this.element.getDefaultValue(true)
|
||||
integer.value = values[0]
|
||||
/**
|
||||
* @param {Number[]} values
|
||||
* @param {String[]} rawValues
|
||||
*/
|
||||
setDefaultValue(values = [], rawValues) {
|
||||
this.element.setDefaultValue(new IntegerEntity(values[0]))
|
||||
this.element.requestUpdate()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user