UNPKG

@unito/integration-debugger

Version:

The Unito Integration Debugger

63 lines (62 loc) 3.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const chalk_1 = __importDefault(require("chalk")); const styles_1 = require("../../styles"); const store_1 = require("../../store"); const PayloadPane = (props) => { const inputRef = (0, react_1.useRef)(null); const debuggerState = (0, store_1.useDebuggerState)(); const configuration = (0, store_1.useConfigurationState)(); (0, react_1.useEffect)(() => { if (inputRef.current) { if (inputRef.current.screen.focused !== inputRef.current) { inputRef.current.focus(); } inputRef.current.key(['l'], function () { if (!inputRef.current?.screen.grabKeys) { props.close(); } }); inputRef.current.key(['m'], async () => { if (!inputRef.current?.screen.grabKeys) { const value = inputRef.current?.getValue()?.trim() || ''; await debuggerState.goto({ credentialId: configuration.current.credentialId, integrationUrl: configuration.current.integrationUrl, credentialPayload: configuration.current.credentialPayload, secretsPayload: configuration.current.secretsPayload, startingPath: props.path ? props.path : configuration.current.graphRelativeUrl, // '' => fallback. startingOperation: props.startingOperation, stepCheckKeys: configuration.current.stepCheckKeys, payloadIn: JSON.parse(value), }); props.close(); } }); return () => { if (inputRef.current) { inputRef.current.free(); } }; } }, [inputRef]); return ((0, jsx_runtime_1.jsx)("box", { label: [ (0, styles_1.paneTitle)('Payload'), chalk_1.default.gray('|'), [chalk_1.default.whiteBright('<enter>'), chalk_1.default.blueBright('edit')].join(' '), chalk_1.default.gray('|'), [chalk_1.default.whiteBright('e'), chalk_1.default.blueBright('ditor')].join(''), chalk_1.default.gray('|'), [chalk_1.default.whiteBright('<esc>'), chalk_1.default.blueBright('stop edit')].join(' '), chalk_1.default.gray('|'), [chalk_1.default.blueBright('confir'), chalk_1.default.whiteBright('m')].join(''), chalk_1.default.gray('|'), [chalk_1.default.blueBright('cance'), chalk_1.default.whiteBright('l')].join(''), ].join(' '), top: "center", left: "center", width: 100, height: 10, border: styles_1.paneBorder, style: styles_1.pane, children: (0, jsx_runtime_1.jsx)("textarea", { ref: inputRef, keys: true }) })); }; exports.default = PayloadPane;