UNPKG

@selenite/graph-editor

Version:

A graph editor for visual programming, based on rete and svelte.

47 lines (46 loc) 2.06 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 { Node, registerNode } from '../Node.svelte'; import { ButtonControl, ExecSocket } from '../../socket'; import { notifications } from '../../plugins/notifications'; let StartNode = class StartNode extends Node { running = false; constructor(params = {}) { super({ label: 'Start', ...params }); this.addOutExec(); this.addControl('playBtn', new ButtonControl({ label: 'Play', onClick: async () => { if (this.running) { console.warn('Node is already running'); notifications.show({ color: 'yellow', title: 'Warning', message: 'Graph is already executing.' }); return; } this.running = true; let waitPromise = this.getWaitForChildrenPromises('exec'); this.factory?.getControlFlowEngine().execute(this.id); await waitPromise; this.running = false; } })); } execute(_, forward) { forward('exec'); } }; StartNode = __decorate([ registerNode('control.start'), __metadata("design:paramtypes", [Object]) ], StartNode); export { StartNode };