{"version":3,"file":"DataSourceHttpSettingsOverhaul.cjs","sources":["../../../src/configuration/DataSourceHttpSettingsOverhaul.tsx"],"sourcesContent":["// Core Grafana history https://github.com/grafana/grafana/blob/v11.0.0-preview/public/app/plugins/datasource/prometheus/configuration/DataSourceHttpSettingsOverhaul.tsx\nimport { type DataSourceSettings } from '@grafana/data';\nimport { Trans } from '@grafana/i18n';\nimport { Auth, AuthMethod, ConnectionSettings, convertLegacyAuthProps } from '@grafana/plugin-ui';\nimport { SecureSocksProxySettings, useTheme2 } from '@grafana/ui';\n\nimport { type PromOptions } from '../types';\n\nimport { docsTip, overhaulStyles } from './shared/utils';\n\ntype DataSourceHttpSettingsProps = {\n  options: DataSourceSettings<PromOptions, {}>;\n  onOptionsChange: (options: DataSourceSettings<PromOptions, {}>) => void;\n  secureSocksDSProxyEnabled: boolean;\n};\n\nexport const DataSourceHttpSettingsOverhaul = (props: DataSourceHttpSettingsProps) => {\n  const { options, onOptionsChange, secureSocksDSProxyEnabled } = props;\n\n  const newAuthProps = convertLegacyAuthProps({\n    config: options,\n    onChange: onOptionsChange,\n  });\n\n  const theme = useTheme2();\n  const styles = overhaulStyles(theme);\n\n  function returnSelectedMethod() {\n    return newAuthProps.selectedMethod;\n  }\n\n  // Do we need this switch anymore? Update the language.\n  let urlTooltip;\n  switch (options.access) {\n    case 'direct':\n      urlTooltip = (\n        <>\n          <Trans i18nKey=\"grafana-prometheus.configuration.data-source-http-settings-overhaul.tooltip-browser-access-mode\">\n            Your access method is <em>Browser</em>, this means the URL needs to be accessible from the browser.\n          </Trans>\n          {docsTip()}\n        </>\n      );\n      break;\n    case 'proxy':\n      urlTooltip = (\n        <>\n          <Trans i18nKey=\"grafana-prometheus.configuration.data-source-http-settings-overhaul.tooltip-server-access-mode\">\n            Your access method is <em>Server</em>, this means the URL needs to be accessible from the grafana\n            backend/server.\n          </Trans>\n          {docsTip()}\n        </>\n      );\n      break;\n    default:\n      urlTooltip = (\n        <>\n          <Trans\n            i18nKey=\"grafana-prometheus.configuration.data-source-http-settings-overhaul.tooltip-http-url\"\n            values={{ exampleURL: 'http://your_server:8080' }}\n          >\n            Specify a complete HTTP URL (for example {'{{exampleURL}}'})\n          </Trans>\n          {docsTip()}\n        </>\n      );\n  }\n\n  return (\n    <>\n      <ConnectionSettings\n        urlPlaceholder=\"http://localhost:9090\"\n        config={options}\n        onChange={onOptionsChange}\n        urlLabel=\"Prometheus server URL\"\n        urlTooltip={urlTooltip}\n      />\n      <hr className={`${styles.hrTopSpace} ${styles.hrBottomSpace}`} />\n      <Auth\n        // Reshaped legacy props\n        {...newAuthProps}\n        // Still need to call `onAuthMethodSelect` function from\n        // `newAuthProps` to store the legacy data correctly.\n        // Also make sure to store the data about your component\n        // being selected/unselected.\n        onAuthMethodSelect={(method) => {\n          onOptionsChange({\n            ...options,\n            basicAuth: method === AuthMethod.BasicAuth,\n            withCredentials: method === AuthMethod.CrossSiteCredentials,\n            jsonData: {\n              ...options.jsonData,\n              oauthPassThru: method === AuthMethod.OAuthForward,\n            },\n          });\n        }}\n        // If your method is selected pass its id to `selectedMethod`,\n        // otherwise pass the id from converted legacy data\n        selectedMethod={returnSelectedMethod()}\n      />\n      <div className={styles.sectionBottomPadding} />\n      {secureSocksDSProxyEnabled && (\n        <>\n          <SecureSocksProxySettings options={options} onOptionsChange={onOptionsChange} />\n          <div className={styles.sectionBottomPadding} />\n        </>\n      )}\n    </>\n  );\n};\n"],"names":["convertLegacyAuthProps","useTheme2","overhaulStyles","jsxs","Fragment","Trans","jsx","docsTip","ConnectionSettings","Auth","AuthMethod","SecureSocksProxySettings"],"mappings":";;;;;;;;;;;AAgBO,MAAM,8BAAA,GAAiC,CAAC,KAAA,KAAuC;AACpF,EAAA,MAAM,EAAE,OAAA,EAAS,eAAA,EAAiB,yBAAA,EAA0B,GAAI,KAAA;AAEhE,EAAA,MAAM,eAAeA,+BAAA,CAAuB;AAAA,IAC1C,MAAA,EAAQ,OAAA;AAAA,IACR,QAAA,EAAU;AAAA,GACX,CAAA;AAED,EAAA,MAAM,QAAQC,YAAA,EAAU;AACxB,EAAA,MAAM,MAAA,GAASC,qBAAe,KAAK,CAAA;AAEnC,EAAA,SAAS,oBAAA,GAAuB;AAC9B,IAAA,OAAO,YAAA,CAAa,cAAA;AAAA,EACtB;AAGA,EAAA,IAAI,UAAA;AACJ,EAAA,QAAQ,QAAQ,MAAA;AAAQ,IACtB,KAAK,QAAA;AACH,MAAA,UAAA,mBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAAD,eAAA,CAACE,UAAA,EAAA,EAAM,SAAQ,iGAAA,EAAkG,QAAA,EAAA;AAAA,UAAA,wBAAA;AAAA,0BACzFC,cAAA,CAAC,QAAG,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,UAAK;AAAA,SAAA,EACxC,CAAA;AAAA,QACCC,aAAA;AAAQ,OAAA,EACX,CAAA;AAEF,MAAA;AAAA,IACF,KAAK,OAAA;AACH,MAAA,UAAA,mBACEJ,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAAD,eAAA,CAACE,UAAA,EAAA,EAAM,SAAQ,gGAAA,EAAiG,QAAA,EAAA;AAAA,UAAA,wBAAA;AAAA,0BACxFC,cAAA,CAAC,QAAG,QAAA,EAAA,QAAA,EAAM,CAAA;AAAA,UAAK;AAAA,SAAA,EAEvC,CAAA;AAAA,QACCC,aAAA;AAAQ,OAAA,EACX,CAAA;AAEF,MAAA;AAAA,IACF;AACE,MAAA,UAAA,mBACEJ,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAAD,eAAA;AAAA,UAACE,UAAA;AAAA,UAAA;AAAA,YACC,OAAA,EAAQ,sFAAA;AAAA,YACR,MAAA,EAAQ,EAAE,UAAA,EAAY,yBAAA,EAA0B;AAAA,YACjD,QAAA,EAAA;AAAA,cAAA,2CAAA;AAAA,cAC2C,gBAAA;AAAA,cAAiB;AAAA;AAAA;AAAA,SAC7D;AAAA,QACCE,aAAA;AAAQ,OAAA,EACX,CAAA;AAAA;AAIN,EAAA,uBACEJ,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAE,cAAA;AAAA,MAACE,2BAAA;AAAA,MAAA;AAAA,QACC,cAAA,EAAe,uBAAA;AAAA,QACf,MAAA,EAAQ,OAAA;AAAA,QACR,QAAA,EAAU,eAAA;AAAA,QACV,QAAA,EAAS,uBAAA;AAAA,QACT;AAAA;AAAA,KACF;AAAA,oBACAF,cAAA,CAAC,QAAG,SAAA,EAAW,CAAA,EAAG,OAAO,UAAU,CAAA,CAAA,EAAI,MAAA,CAAO,aAAa,CAAA,CAAA,EAAI,CAAA;AAAA,oBAC/DA,cAAA;AAAA,MAACG,aAAA;AAAA,MAAA;AAAA,QAEE,GAAG,YAAA;AAAA,QAKJ,kBAAA,EAAoB,CAAC,MAAA,KAAW;AAC9B,UAAA,eAAA,CAAgB;AAAA,YACd,GAAG,OAAA;AAAA,YACH,SAAA,EAAW,WAAWC,mBAAA,CAAW,SAAA;AAAA,YACjC,eAAA,EAAiB,WAAWA,mBAAA,CAAW,oBAAA;AAAA,YACvC,QAAA,EAAU;AAAA,cACR,GAAG,OAAA,CAAQ,QAAA;AAAA,cACX,aAAA,EAAe,WAAWA,mBAAA,CAAW;AAAA;AACvC,WACD,CAAA;AAAA,QACH,CAAA;AAAA,QAGA,gBAAgB,oBAAA;AAAqB;AAAA,KACvC;AAAA,oBACAJ,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,oBAAA,EAAsB,CAAA;AAAA,IAC5C,6CACCH,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAAE,cAAA,CAACK,2BAAA,EAAA,EAAyB,SAAkB,eAAA,EAAkC,CAAA;AAAA,sBAC9EL,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,oBAAA,EAAsB;AAAA,KAAA,EAC/C;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}