UNPKG

reactronic-dom

Version:

Reactronic DOM - Transactional Reactive Front-End Development Framework

54 lines (53 loc) 2.21 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { isnonreactive } from 'reactronic'; import { SymDataForSensor } from './DataForSensor'; import { Sensor } from './Sensor'; import { WindowSensor } from './WindowSensor'; export class HtmlElementSensor extends Sensor { constructor(focusSensor, windowSensor) { super(); this.sourceElement = undefined; this.focusSensor = focusSensor; this.windowSensor = windowSensor; this.preventDefault = false; this.stopPropagation = false; } getDefaultSensorData() { const sourceElement = this.sourceElement; return sourceElement ? sourceElement[SymDataForSensor] : undefined; } setPreventDefaultAndStopPropagation(e) { if (this.preventDefault) { e.preventDefault(); this.preventDefault = false; } if (this.stopPropagation) { e.stopPropagation(); this.stopPropagation = false; } } } __decorate([ isnonreactive, __metadata("design:type", Object) ], HtmlElementSensor.prototype, "focusSensor", void 0); __decorate([ isnonreactive, __metadata("design:type", WindowSensor) ], HtmlElementSensor.prototype, "windowSensor", void 0); __decorate([ isnonreactive, __metadata("design:type", Boolean) ], HtmlElementSensor.prototype, "preventDefault", void 0); __decorate([ isnonreactive, __metadata("design:type", Boolean) ], HtmlElementSensor.prototype, "stopPropagation", void 0);