![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-form/js/blocks/ |
Upload File : |
import {AssemblerInstance} from "../core/Assembler"; import BaseBlock from "../core/BaseBlock"; import inheritComponentClass from "../core/inheritComponentClass"; function CBTimer() { BaseBlock.call(this); this._intervalId = -1; this.attributes.duration = 0; this['tick'] = this.tick.bind(this); } inheritComponentClass(CBTimer, BaseBlock); CBTimer.prototype.tag = 'CBTimer'; CBTimer.prototype.pinHandlers.signal = { get: function () { return true; }, descriptor: { type: "bool" } }; CBTimer.prototype.attributeHandlers.duration = { set: function (value) { if (!(value > 0)) { value = 0; } if (this._intervalId >= 0) { clearInterval(this._intervalId); this._intervalId = -1; } if (value > 0) { this._intervalId = setInterval(this.tick, value); } return value; }, descriptor: { type: 'number', min: 0 } }; CBTimer.prototype.tick = function () { this.pinFire('signal'); }; AssemblerInstance.addClass(CBTimer); export default CBTimer;