super-hero/extensions/shader-graph/dist/block-forge/internal/pin-boolean.js

59 lines
6.2 KiB
JavaScript
Raw Normal View History

2024-05-20 20:02:45 -07:00
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const pin_1 = require("../pin");
class BooleanPinAction extends pin_1.PinAction {
exec(params) {
const $pin = params.forge.getPinElement(this.detail.blockName, 'input', this.detail.index);
if ($pin) {
// @ts-ignore
const pin = $pin.__pin;
pin.details.value = this.detail.target;
pin.onUpdate();
}
}
revertAction() {
return new BooleanPinAction(this.pin, {
source: this.detail.target,
target: this.detail.source,
});
}
}
/**
* Boolean
* 布尔类型的引脚
*/
class BooleanPin extends pin_1.Pin {
constructor() {
super(...arguments);
this.color = '#227f9b';
this.line = 'normal';
this.details = {
value: false,
};
this.contentSlot = `<ui-checkbox ref="checkbox"></ui-checkbox>`;
this.childrenSlot = [];
}
onInit() {
const $checkbox = this.refs.checkbox;
$checkbox.addEventListener('confirm', () => {
if (!this.details) {
this.details = {
value: !!$checkbox.value,
};
}
const action = new BooleanPinAction(this, {
source: this.details.value,
target: !!$checkbox.value,
});
this.exec(action);
});
}
onUpdate() {
const $checkbox = this.refs.checkbox;
// @ts-ignore UICheckbox 类型没有暴露出来
$checkbox.value = this.details.value;
}
}
BooleanPin.type = 'boolean';
(0, pin_1.declarePin)(BooleanPin);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLWJvb2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2stZm9yZ2UvaW50ZXJuYWwvcGluLWJvb2xlYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUdiLGdDQUFvRDtBQU1wRCxNQUFNLGdCQUFpQixTQUFRLGVBRzdCO0lBRUUsSUFBSSxDQUFDLE1BRUo7UUFDRyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRixJQUFJLElBQUksRUFBRTtZQUNOLGFBQWE7WUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBaUIsQ0FBQztZQUNuQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN2QyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbEI7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtTQUM3QixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVcsU0FBUSxTQUFrQjtJQUEzQzs7UUFHSSxVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLFNBQUksR0FBRyxRQUFRLENBQUM7UUFDaEIsWUFBTyxHQUFHO1lBQ04sS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDO1FBRUYsZ0JBQVcsR0FBVyw0Q0FBNEMsQ0FBQztRQUNuRSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztJQXVCdEIsQ0FBQztJQXJCRyxNQUFNO1FBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUE0QixDQUFDO1FBQ3pELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNmLElBQUksQ0FBQyxPQUFPLEdBQUc7b0JBQ1gsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSztpQkFDM0IsQ0FBQzthQUNMO1lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3RDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUs7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUE0QixDQUFDO1FBQ3pELGlDQUFpQztRQUNqQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7O0FBL0JNLGVBQUksR0FBRyxTQUFTLENBQUM7QUFpQzVCLElBQUEsZ0JBQVUsRUFBQyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHR5cGUgeyBIVE1MR3JhcGhGb3JnZUVsZW1lbnQgfSBmcm9tICcuLi9mb3JnZSc7XG5pbXBvcnQgeyBQaW4sIGRlY2xhcmVQaW4sIFBpbkFjdGlvbiB9IGZyb20gJy4uL3Bpbic7XG5cbnR5cGUgQm9vbGVhbkRldGFpbCA9IHtcbiAgICB2YWx1ZTogYm9vbGVhbjtcbn07XG5cbmNsYXNzIEJvb2xlYW5QaW5BY3Rpb24gZXh0ZW5kcyBQaW5BY3Rpb248e1xuICAgIHNvdXJjZTogYm9vbGVhbixcbiAgICB0YXJnZXQ6IGJvb2xlYW4sXG59PiB7XG5cbiAgICBleGVjKHBhcmFtczoge1xuICAgICAgICBmb3JnZTogSFRNTEdyYXBoRm9yZ2VFbGVtZW50XG4gICAgfSkge1xuICAgICAgICBjb25zdCAkcGluID0gcGFyYW1zLmZvcmdlLmdldFBpbkVsZW1lbnQodGhpcy5kZXRhaWwuYmxvY2tOYW1lLCAnaW5wdXQnLCB0aGlzLmRldGFpbC5pbmRleCk7XG4gICAgICAgIGlmICgkcGluKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25zdCBwaW4gPSAkcGluLl9fcGluIGFzIEZsb2F0UGluO1xuICAgICAgICAgICAgcGluLmRldGFpbHMudmFsdWUgPSB0aGlzLmRldGFpbC50YXJnZXQ7XG4gICAgICAgICAgICBwaW4ub25VcGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldmVydEFjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuUGluQWN0aW9uKHRoaXMucGluLCB7XG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMuZGV0YWlsLnRhcmdldCxcbiAgICAgICAgICAgIHRhcmdldDogdGhpcy5kZXRhaWwuc291cmNlLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8qKlxuICogQm9vbGVhblxuICog5biD5bCU57G75Z6L55qE5byV6ISaXG4gKi9cbmNsYXNzIEJvb2xlYW5QaW4gZXh0ZW5kcyBQaW48Qm9vbGVhbkRldGFpbD4ge1xuICAgIHN0YXRpYyB0eXBlID0gJ2Jvb2xlYW4nO1xuXG4gICAgY29sb3IgPSAnIzIyN2Y5Yic7XG4gICAgbGluZSA9ICdub3JtYWwnO1xuICAgIGRldGFpbHMgPSB7XG4gICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgY29udGVudFNsb3QgPSAvKmh0bWwqL2A8dWktY2hlY2tib3ggcmVmPVwiY2hlY2tib3hcIj48L3VpLWNoZWNrYm94PmA7XG4gICAgY2hpbGRyZW5TbG90ID0gW107XG5cbiAgICBvbkluaXQoKSB7XG4gICAgICAgIGNvbnN0ICRjaGVja2JveCA9IHRoaXMucmVmcy5jaGVja2JveCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAkY2hlY2tib3guYWRkRXZlbnRMaXN0ZW5lcignY29uZmlybScsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kZXRhaWxzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxzID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogISEkY2hlY2tib3gudmFsdWUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFjd