"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.ParametersTab = void 0; var _react = _interopRequireDefault(require("react")); var _eui = require("@elastic/eui"); var _i18nReact = require("@kbn/i18n-react"); var _i18n = require("@kbn/i18n"); var _public = require("@kbn/kibana-react-plugin/public"); var _context = require("../../context"); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ const ParametersTab = () => { const { store: { payload }, updatePayload, links } = (0, _context.useAppContext)(); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_eui.EuiSpacer, { size: "m" }), /*#__PURE__*/_react.default.createElement(_eui.EuiFormRow, { label: /*#__PURE__*/_react.default.createElement(_eui.EuiToolTip, { content: _i18n.i18n.translate('xpack.painlessLab.parametersFieldTooltipText', { defaultMessage: 'These variables are assigned to the "params" object in your script' }) }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_i18nReact.FormattedMessage, { id: "xpack.painlessLab.parametersFieldLabel", defaultMessage: "Parameters (JSON)" }), ' ', /*#__PURE__*/_react.default.createElement(_eui.EuiIcon, { type: "questionInCircle", color: "subdued" }))), fullWidth: true, labelAppend: /*#__PURE__*/_react.default.createElement(_eui.EuiText, { size: "xs" }, /*#__PURE__*/_react.default.createElement(_eui.EuiLink, { href: links.modulesScriptingPreferParams, target: "_blank" }, _i18n.i18n.translate('xpack.painlessLab.parametersFieldDocLinkText', { defaultMessage: 'Parameters docs' }))) }, /*#__PURE__*/_react.default.createElement(_public.CodeEditor, { languageId: "json", height: 600, value: payload.parameters, onChange: nextParams => updatePayload({ parameters: nextParams }), options: { fontSize: 12, minimap: { enabled: false }, scrollBeyondLastLine: false, wordWrap: 'on', wrappingIndent: 'indent', automaticLayout: true }, editorDidMount: editor => { // Updating tab size for the editor const model = editor.getModel(); if (model) { model.updateOptions({ tabSize: 2 }); } } }))); }; exports.ParametersTab = ParametersTab;