andoncloud-prometheus-widget 1.3.8 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +628 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +42 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +19517 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["en","pl","TabContext","TabList","Tab","TabPanel","Box","FormControl","TextField","InputLabel","Select","MenuItem","FormHelperText","Stack","IconButton","Clear","Button","Chart","ChartDatasourcePrometheusPlugin","Box","BaseWidget","locales","i18n","locales"],"sources":["../src/locales/en/translation.json","../src/locales/pl/translation.json","../src/locales/index.ts","../src/version.ts","../src/types.ts","../src/components/SettingsFormContent/index.tsx","../src/helpers.ts","../src/components/PrometheusChart/GradientPlugin.ts","../src/components/PrometheusChart/index.tsx","../src/components/WidgetView/index.tsx","../src/components/Widget/utils.ts","../src/components/Widget/index.tsx","../src/core/title.ts","../src/index.tsx"],"sourcesContent":["","","import en from './en/translation.json';\nimport pl from './pl/translation.json';\n\nconst resources = {\n en: {\n translation: en,\n },\n pl: {\n translation: pl,\n },\n};\n\nexport default resources;\n","export const LIBRARY_VERSION = '1.3.9';\n","import type { BaseWidgetData, BaseWidgetSettings, ListShifts_Shift } from 'andoncloud-dashboard-toolkit';\nimport { BaseWidgetViewProps } from 'andoncloud-widget-base';\n\ninterface WidgetSettingsData {\n shifts: ListShifts_Shift[];\n}\n\nexport interface WidgetData extends BaseWidgetData, WidgetSettingsData {}\n\nexport interface PrometheusQuery {\n query: string;\n displayName?: string;\n}\n\nexport interface WidgetSettings extends BaseWidgetSettings {\n customTitle: string;\n endpointUrl: string;\n queriesPeriod: QueriesPeriod;\n prometheusQueries: PrometheusQuery[];\n displayedQueryParams: string[];\n xAxisUnit: string;\n yAxisUnit: string;\n}\n\nexport interface WidgetViewProps extends BaseWidgetViewProps<WidgetData, WidgetSettings> {}\n\nexport enum QueriesPeriod {\n CURRENT_SHIFT = 'CURRENT_SHIFT',\n PREVIOUS_SHIFT = 'PREVIOUS_SHIFT',\n}\n\nexport interface QueriesTimeRange {\n startedAt: Date | number;\n finishedAt?: Date;\n}\n\nexport interface PrometheusChartProps {\n data: WidgetData;\n settings: WidgetSettings;\n}\n","import { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Clear } from '@mui/icons-material';\nimport { TabContext, TabList, TabPanel } from '@mui/lab';\nimport {\n Box,\n Button,\n FormControl,\n FormHelperText,\n IconButton,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n Tab,\n TextField,\n} from '@mui/material';\nimport { SettingsFormContentProps } from 'andoncloud-widget-base';\nimport { getIn } from 'formik';\n\nimport { PrometheusQuery, QueriesPeriod, WidgetData, WidgetSettings } from '@/types';\n\nconst SettingsFormContent: React.FC<SettingsFormContentProps<WidgetData, WidgetSettings>> = ({ formProps }) => {\n // -- Local state --\n const [selectedTab, setSelectedTab] = useState('settings');\n const emptyQueryItem = { query: '', displayName: '' };\n const formControlStyles = { mt: 2 };\n\n // -- Translation --\n const { t } = useTranslation();\n\n const setPrometheusQuery = (i: number, item: PrometheusQuery) => {\n const queries = [...(formProps.values.prometheusQueries || [emptyQueryItem])];\n\n queries[i] = { ...queries[i], ...item };\n\n formProps.setFieldValue('prometheusQueries', queries);\n };\n\n const addQueryField = () => {\n const queries = [...(formProps.values.prometheusQueries || [emptyQueryItem])];\n\n formProps.setFieldValue('prometheusQueries', [...queries, emptyQueryItem]);\n };\n\n const removeQueryField = (i: number) => {\n const queries = [...(formProps.values.prometheusQueries || [emptyQueryItem])];\n\n queries.splice(i, 1);\n\n formProps.setFieldValue('prometheusQueries', queries);\n };\n\n const setDisplayedQueryParam = (i: number, value: string) => {\n const params = [...(formProps.values.displayedQueryParams || [''])];\n\n params[i] = value;\n\n formProps.setFieldValue('displayedQueryParams', params);\n };\n\n const addDisplayedQueryParam = () => {\n const params = [...(formProps.values.displayedQueryParams || [''])];\n\n formProps.setFieldValue('displayedQueryParams', [...params, '']);\n };\n\n const removeDisplayedQueryParam = (i: number) => {\n const params = [...(formProps.values.displayedQueryParams || [''])];\n\n params.splice(i, 1);\n\n formProps.setFieldValue('displayedQueryParams', params);\n };\n\n const mapPeriodToLabel = (period: QueriesPeriod) => {\n switch (period) {\n case QueriesPeriod.PREVIOUS_SHIFT:\n return t('prometheusWidget.previousShift');\n default:\n return t('prometheusWidget.currentShift');\n }\n };\n\n return (\n <TabContext value={selectedTab}>\n <TabList onChange={(_, value) => setSelectedTab(value)} centered>\n <Tab label={t('prometheusWidget.settings')} value=\"settings\" />\n <Tab label={t('prometheusWidget.advanced')} value=\"advanced\" />\n </TabList>\n\n <TabPanel value=\"settings\">\n <Box mb={2}>\n <FormControl sx={formControlStyles} fullWidth>\n <TextField\n name=\"endpointUrl\"\n label={t('prometheusWidget.endpointUrl')}\n value={formProps.values.endpointUrl}\n onChange={formProps.handleChange}\n onBlur={formProps.handleBlur}\n error={formProps.touched.endpointUrl && Boolean(formProps.errors.endpointUrl)}\n helperText={formProps.touched.endpointUrl && formProps.errors.endpointUrl}\n data-testid=\"prometheus.settings.endpoint-url\"\n fullWidth\n />\n </FormControl>\n <FormControl sx={formControlStyles} fullWidth>\n <InputLabel id=\"queries-period-label\">{t('prometheusWidget.period')}</InputLabel>\n <Select\n variant=\"outlined\"\n name=\"queriesPeriod\"\n labelId=\"queries-period-label\"\n value={formProps.values.queriesPeriod || QueriesPeriod.CURRENT_SHIFT}\n onChange={formProps.handleChange}\n onBlur={formProps.handleBlur}\n error={formProps.touched.queriesPeriod && Boolean(formProps.errors.queriesPeriod)}\n data-testid=\"prometheus.settings.period-select\"\n fullWidth\n >\n {Object.keys(QueriesPeriod).map((key) => (\n // @ts-expect-error no typings\n <MenuItem key={key} value={QueriesPeriod[key]}>\n {/* @ts-expect-error no typings */}\n {mapPeriodToLabel(QueriesPeriod[key])}\n </MenuItem>\n ))}\n </Select>\n <FormHelperText error>{formProps.touched.queriesPeriod && formProps.errors.queriesPeriod}</FormHelperText>\n </FormControl>\n {(formProps.values.prometheusQueries || [emptyQueryItem]).map(({ query, displayName }, i) => (\n <FormControl key={i} sx={formControlStyles} fullWidth>\n <Stack direction=\"row\" width=\"100%\" gap={1}>\n <TextField\n label={t('prometheusWidget.query')}\n value={query}\n onChange={(e) => setPrometheusQuery(i, { query: e.target.value })}\n onBlur={formProps.handleBlur}\n error={\n formProps.touched.prometheusQueries?.[i]?.query &&\n Boolean(getIn(formProps.errors, `prometheusQueries.[${i}].query`))\n }\n helperText={\n formProps.touched.prometheusQueries?.[i]?.query &&\n getIn(formProps.errors, `prometheusQueries.[${i}].query`)\n }\n data-testid={`prometheus.settings.query-input-${i}`}\n fullWidth\n />\n <TextField\n label={t('prometheusWidget.name')}\n value={displayName}\n onChange={(e) => setPrometheusQuery(i, { query, displayName: e.target.value })}\n onBlur={formProps.handleBlur}\n error={\n formProps.touched.prometheusQueries?.[i]?.displayName &&\n Boolean(getIn(formProps.errors, `prometheusQueries.[${i}].displayName`))\n }\n helperText={\n formProps.touched.prometheusQueries?.[i]?.displayName &&\n getIn(formProps.errors, `prometheusQueries.[${i}].displayName`)\n }\n data-testid={`prometheus.settings.query-name-${i}`}\n fullWidth\n />\n <IconButton\n color=\"error\"\n onClick={() => removeQueryField(i)}\n data-testid={`prometheus.settings.remove-query-${i}`}\n >\n <Clear />\n </IconButton>\n </Stack>\n </FormControl>\n ))}\n <Button\n color=\"secondary\"\n onClick={addQueryField}\n sx={{ mt: (theme) => theme.spacing(2) }}\n data-testid=\"prometheus.settings.add-query\"\n fullWidth\n >\n {t('prometheusWidget.addAnotherQuery')}\n </Button>\n {(formProps.values.displayedQueryParams || ['']).map((param, i) => (\n <FormControl key={i} sx={formControlStyles} fullWidth>\n <Stack direction=\"row\" width=\"100%\">\n <TextField\n label={t('prometheusWidget.displayedQueryParameter')}\n value={param}\n onChange={(e) => setDisplayedQueryParam(i, e.target.value)}\n error={\n // @ts-expect-error no typings\n formProps.touched.displayedQueryParams?.[i] &&\n Boolean(getIn(formProps.errors, `displayedQueryParams.[${i}]`))\n }\n helperText={\n // @ts-expect-error no typings\n formProps.touched.displayedQueryParams?.[i] &&\n getIn(formProps.errors, `displayedQueryParams.[${i}]`)\n }\n data-testid={`prometheus.settings.param-input-${i}`}\n fullWidth\n />\n <IconButton\n color=\"error\"\n onClick={() => removeDisplayedQueryParam(i)}\n data-testid={`prometheus.settings.remove-param-${i}`}\n >\n <Clear />\n </IconButton>\n </Stack>\n </FormControl>\n ))}\n <Button\n color=\"secondary\"\n onClick={addDisplayedQueryParam}\n sx={{ mt: (theme) => theme.spacing(2) }}\n data-testid=\"prometheus.settings.add-param\"\n fullWidth\n >\n {t('prometheusWidget.addAnotherDisplayedQueryParameter')}\n </Button>\n <FormControl sx={formControlStyles} fullWidth>\n <TextField\n name=\"xAxisUnit\"\n label={t('prometheusWidget.xAxisUnit')}\n value={formProps.values.xAxisUnit || ''}\n onChange={formProps.handleChange}\n onBlur={formProps.handleBlur}\n error={formProps.touched.xAxisUnit && Boolean(formProps.errors.xAxisUnit)}\n helperText={formProps.touched.xAxisUnit && formProps.errors.xAxisUnit}\n data-testid=\"prometheus.settings.x-axis-unit\"\n fullWidth\n />\n </FormControl>\n <FormControl sx={formControlStyles} fullWidth>\n <TextField\n name=\"yAxisUnit\"\n label={t('prometheusWidget.yAxisUnit')}\n value={formProps.values.yAxisUnit || ''}\n onChange={formProps.handleChange}\n onBlur={formProps.handleBlur}\n error={formProps.touched.yAxisUnit && Boolean(formProps.errors.yAxisUnit)}\n helperText={formProps.touched.yAxisUnit && formProps.errors.yAxisUnit}\n data-testid=\"prometheus.settings.y-axis-unit\"\n fullWidth\n />\n </FormControl>\n </Box>\n </TabPanel>\n\n <TabPanel value=\"advanced\">\n <TextField\n name=\"customTitle\"\n label={t('prometheusWidget.customTitle')}\n value={formProps.values.customTitle}\n onChange={formProps.handleChange}\n data-testid=\"prometheus.settings.custom-title\"\n fullWidth\n />\n </TabPanel>\n </TabContext>\n );\n};\n\nexport default SettingsFormContent;\n","import { generateTimeRange, getCurrentShift, getRecentShift, normalizeShifts } from 'andoncloud-dashboard-toolkit';\nimport dayjs from 'dayjs';\n\nimport { QueriesPeriod, QueriesTimeRange, WidgetData } from './types';\n\nexport { generateTimeRange };\n\nexport const getQueriesTimeRange = (period: QueriesPeriod, data: WidgetData): QueriesTimeRange | null => {\n const currentDate = dayjs();\n const normalizedShifts = normalizeShifts(data?.shifts, currentDate);\n const currentShift = getCurrentShift(currentDate, normalizedShifts);\n const recentShift = getRecentShift(currentDate, normalizedShifts);\n\n switch (period) {\n case QueriesPeriod.CURRENT_SHIFT:\n if (currentShift) {\n return {\n startedAt: currentShift.startedAt.toDate(),\n finishedAt: currentShift.finishedAt.toDate(),\n };\n }\n if (recentShift) {\n return {\n startedAt: recentShift.startedAt.toDate(),\n finishedAt: recentShift.finishedAt.toDate(),\n };\n }\n return null;\n case QueriesPeriod.PREVIOUS_SHIFT:\n if (recentShift) {\n return {\n startedAt: recentShift.startedAt.toDate(),\n finishedAt: recentShift.finishedAt.toDate(),\n };\n }\n return null;\n default:\n return null;\n }\n};\n","import Chart, { ChartArea } from 'chart.js';\nimport Color from 'color';\n\nconst createGradient = (ctx: CanvasRenderingContext2D, area: ChartArea) => {\n return ctx.createLinearGradient(0, area.bottom, 0, area.top);\n};\n\nconst getScale = (chart: Chart, datasetId: number) => {\n const meta = chart.getDatasetMeta(datasetId);\n\n return meta.controller._yScale || meta.controller.chart.scales[meta.yAxisID as string];\n};\n\nconst GradientPlugin = {\n id: 'gradient',\n beforeDatasetsUpdate(chart: Chart) {\n const ctx = chart.ctx;\n const datasets = chart.data.datasets;\n\n if (ctx && datasets) {\n for (let i = 0; i < datasets.length; i++) {\n const dataset = datasets[i];\n const scale = getScale(chart, i);\n\n if (scale) {\n const gradient = createGradient(ctx, scale);\n const borderColor = Color(dataset.borderColor);\n\n gradient.addColorStop(0, borderColor.alpha(0.1).hexa());\n gradient.addColorStop(1, borderColor.alpha(0.5).hexa());\n\n dataset.backgroundColor = gradient;\n }\n }\n }\n },\n};\n\nexport default GradientPlugin;\n","import { useEffect, useRef, useState } from 'react';\nimport { Chart } from 'react-chartjs-2';\n\nimport ChartJS from 'chart.js';\nimport ChartDatasourcePrometheusPlugin from 'chartjs-plugin-datasource-prometheus';\nimport dayjs, { Dayjs } from 'dayjs';\nimport pick from 'lodash.pick';\n\nimport { generateTimeRange, getQueriesTimeRange } from '@/helpers';\nimport { PrometheusChartProps, QueriesPeriod, QueriesTimeRange } from '@/types';\n\nimport GradientPlugin from './GradientPlugin';\n\ninterface LegendItem {\n datasetIndex: number;\n text: string;\n}\n\nChartJS.defaults.global.defaultFontSize = 12;\nChartJS.defaults.global.defaultFontColor = 'rgba(255, 255, 255, 0.75)';\n\nconst PrometheusChart: React.FC<PrometheusChartProps> = ({ data, settings }) => {\n const chart = useRef<ChartJS>(null);\n const [chartData] = useState<ChartJS.ChartData>({ labels: [], datasets: [] });\n const [queriesTimeRange, setQueriesTimeRange] = useState<QueriesTimeRange | null>(null);\n const [timeLabels, setTimeLabels] = useState<Dayjs[]>([]);\n\n useEffect(() => {\n if (chart.current) chart.current.update();\n\n if (queriesTimeRange) {\n const startedAt = dayjs(queriesTimeRange.startedAt);\n const finishedAt = dayjs(queriesTimeRange.finishedAt);\n\n setTimeLabels(generateTimeRange(startedAt, finishedAt, 'minutes', 15));\n }\n }, [queriesTimeRange]);\n\n useEffect(() => {\n setQueriesTimeRange(getQueriesTimeRange(settings.queriesPeriod, data));\n\n if (settings?.queriesPeriod === QueriesPeriod.CURRENT_SHIFT) {\n const intervalId = setInterval(() => {\n if (chart.current && chart.current.options.plugins) {\n const nextTimeRange = getQueriesTimeRange(settings.queriesPeriod, data);\n\n setQueriesTimeRange(nextTimeRange);\n\n chart.current.options.plugins['datasource-prometheus'].timeRange = {\n ...chart.current.options.plugins['datasource-prometheus'].timeRange,\n start: nextTimeRange?.startedAt,\n end: nextTimeRange?.finishedAt,\n };\n chart.current.update();\n }\n }, 30_000);\n\n return () => {\n clearInterval(intervalId);\n };\n }\n return () => {};\n }, [data, settings]);\n\n return (\n queriesTimeRange && (\n <Chart\n ref={chart}\n type=\"line\"\n data={chartData}\n plugins={[ChartDatasourcePrometheusPlugin, GradientPlugin]}\n options={{\n scales: {\n xAxes: [\n {\n type: 'time',\n labels: timeLabels,\n time: {\n displayFormats: {\n millisecond: 'HH:mm:ss.SSS',\n second: 'HH:mm:ss',\n minute: 'HH:mm',\n hour: 'HH',\n },\n },\n ticks: {\n source: 'labels',\n },\n gridLines: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ...(settings.xAxisUnit && {\n scaleLabel: {\n display: true,\n labelString: settings.xAxisUnit,\n },\n }),\n },\n ],\n yAxes: [\n {\n gridLines: {\n color: 'rgba(255, 255, 255, 0.1)',\n },\n ...(settings.xAxisUnit && {\n scaleLabel: {\n display: true,\n labelString: settings.yAxisUnit,\n },\n }),\n },\n ],\n },\n elements: {\n point: {\n radius: 0,\n },\n },\n maintainAspectRatio: false,\n animation: {\n duration: 0,\n },\n plugins: {\n 'datasource-prometheus': {\n prometheus: {\n endpoint: settings.endpointUrl,\n },\n query: settings.prometheusQueries.map(({ query }) => query),\n timeRange: {\n type: 'absolute',\n start: queriesTimeRange.startedAt,\n end: queriesTimeRange.finishedAt,\n step: 30,\n },\n fillGaps: true,\n fill: true,\n },\n },\n legend: {\n labels: {\n filter: (item: LegendItem) => {\n const regex = /{(?:[^{}]*)*}/;\n const paramsMatch = item.text.match(regex);\n const queryDisplayName = settings?.prometheusQueries[item.datasetIndex]?.displayName;\n\n if (queryDisplayName) {\n if (paramsMatch && paramsMatch.index !== 0) {\n // eslint-disable-next-line no-eval\n const queryParams = eval('(' + paramsMatch[0].replaceAll('=', ':') + ')');\n const queryParamsValues = Object.values(pick(queryParams, settings.displayedQueryParams)).join(\n ' - ',\n );\n if (queryParamsValues) {\n item.text = `${queryDisplayName} - ${queryParamsValues}`;\n } else {\n item.text = queryDisplayName;\n }\n }\n } else {\n const replaceAfter = (text: string, index: number, replacement: string) => {\n return text.substring(0, index) + replacement;\n };\n\n if (paramsMatch && paramsMatch.index !== 0) {\n const matchIndex = paramsMatch.index || 0;\n // eslint-disable-next-line no-eval\n const queryParams = eval('(' + paramsMatch[0].replaceAll('=', ':') + ')');\n\n item.text = replaceAfter(\n item.text,\n matchIndex,\n JSON.stringify(pick(queryParams, settings.displayedQueryParams)),\n );\n } else {\n item.text = settings?.prometheusQueries[item.datasetIndex].query;\n }\n }\n return item;\n },\n },\n },\n }}\n />\n )\n );\n};\n\nexport default PrometheusChart;\n","import { Box } from '@mui/material';\n\nimport { WidgetViewProps } from '@/types';\n\nimport PrometheusChart from '../PrometheusChart';\n\nconst WidgetView: React.FC<WidgetViewProps> = ({ data, settings }) => {\n return (\n <Box display=\"flex\" width=\"100%\" minWidth=\"500px\" height=\"100%\" minHeight=\"250px\" p={2}>\n {settings && <PrometheusChart data={data} settings={settings} />}\n </Box>\n );\n};\n\nexport default WidgetView;\n","import { satisfies } from 'compare-versions';\nimport { TFunction } from 'i18next';\nimport * as yup from 'yup';\n\nimport { QueriesPeriod, WidgetSettings } from '@/types';\n\nexport const getSettingsFormProps = (t: TFunction) => {\n yup.setLocale({\n mixed: {\n required: t('prometheusWidget.thisFieldIsRequired'),\n },\n });\n return {\n initialValues: {\n customTitle: '',\n endpointUrl: '',\n queriesPeriod: QueriesPeriod.CURRENT_SHIFT,\n prometheusQueries: [],\n displayedQueryParams: [],\n xAxisUnit: '',\n yAxisUnit: '',\n },\n validationSchema: yup.object({\n endpointUrl: yup.string().required(),\n queriesPeriod: yup.string().required(),\n prometheusQueries: yup.array().of(\n yup.object().shape({\n query: yup.string().required(),\n displayName: yup.string().required(),\n }),\n ),\n displayedQueryParams: yup.array().of(yup.string().required()),\n xAxisUnit: yup.string().required(),\n yAxisUnit: yup.string().required(),\n }),\n };\n};\n\nexport const migrateSettings = (settings: WidgetSettings) => {\n if (!satisfies(settings.version || '1.0.0', '>=1.2.5')) {\n return {\n ...settings,\n prometheusQueries: settings.prometheusQueries.map((query) => ({ query, displayName: '' })),\n };\n }\n return settings;\n};\n","import { useEffect, useState } from 'react';\n\nimport { useGqlClients, WidgetProps } from 'andoncloud-dashboard-toolkit';\nimport { BaseWidget } from 'andoncloud-widget-base';\n\nimport locales from '@/locales';\nimport { WidgetData, WidgetSettings } from '@/types';\nimport { LIBRARY_VERSION } from '@/version';\n\nimport SettingsFormContent from '../SettingsFormContent';\nimport WidgetView from '../WidgetView';\n\nimport { getSettingsFormProps, migrateSettings } from './utils';\n\nconst Widget: React.FC<WidgetProps<WidgetData, WidgetSettings>> = ({ url, wsUrl, lang, data, ...widgetProps }) => {\n const { graphqlSdk, gqlWsClient } = useGqlClients({ url, wsUrl, lang });\n const [widgetData, setWidgetData] = useState<WidgetData | undefined>(data);\n\n useEffect(() => {\n if (!data && graphqlSdk) {\n graphqlSdk\n .listShifts()\n .then(({ shifts }) =>\n setWidgetData((current: WidgetData) => ({\n ...(current || {}),\n shifts,\n })),\n )\n .catch(() => {});\n }\n }, [data, graphqlSdk]);\n\n return (\n <BaseWidget\n {...widgetProps}\n url={url}\n lang={lang}\n locales={locales}\n data={widgetData}\n gqlClients={{ graphqlSdk, gqlWsClient }}\n WidgetView={WidgetView}\n getSettingsFormProps={getSettingsFormProps}\n SettingsFormContent={SettingsFormContent}\n migrateSettings={migrateSettings}\n version={LIBRARY_VERSION}\n data-testid=\"prometheus-widget\"\n />\n );\n};\n\nexport default Widget;\n","import type { FilterValues } from 'andoncloud-dashboard-toolkit';\nimport i18n from 'i18next';\n\nimport type { WidgetData, WidgetSettings } from '../types';\n\nconst ns = 'prometheusWidget';\n\nconst t = (key: string, lng: string, options?: Record<string, unknown>) => i18n.t(`${ns}.${key}`, { lng, ...options });\n\nexport const getDisplayName = (lang: string) => t('displayName', lang);\n\nexport const getTitle = (\n _data: WidgetData | undefined,\n settings: WidgetSettings | undefined,\n _filters: FilterValues | undefined,\n lang: string,\n): string => {\n const name = getDisplayName(lang);\n\n if (!settings?.prometheusQueries?.length) return name;\n\n const queryCount = settings.prometheusQueries.length;\n const period =\n settings.queriesPeriod === 'CURRENT_SHIFT' ? t('titleCurrentShift', lang) : t('titlePreviousShift', lang);\n\n return `${name} — ${t('titleQueries', lang, { count: queryCount })}, ${period}`;\n};\n","import { registerTranslations } from 'andoncloud-sdk';\n\nimport locales from './locales';\n\nregisterTranslations(locales);\n\nexport { default as Widget } from './components/Widget';\nexport { getDisplayName, getTitle } from './core/title';\n\nexport const thumbnail: string | undefined = undefined;\n\nexport const requiredFeatures: string[] = ['feature.prometheus-widget'];\nexport const extraPermissions: string[] = [];\n\nexport { LIBRARY_VERSION as version } from './version';\n"],"mappings":"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"}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BaseWidgetData, BaseWidgetSettings, FilterValues, ListShifts_Shift, WidgetProps } from "andoncloud-dashboard-toolkit";
|
|
2
|
+
|
|
3
|
+
//#region src/types.d.ts
|
|
4
|
+
interface WidgetSettingsData {
|
|
5
|
+
shifts: ListShifts_Shift[];
|
|
6
|
+
}
|
|
7
|
+
interface WidgetData extends BaseWidgetData, WidgetSettingsData {}
|
|
8
|
+
interface PrometheusQuery {
|
|
9
|
+
query: string;
|
|
10
|
+
displayName?: string;
|
|
11
|
+
}
|
|
12
|
+
interface WidgetSettings extends BaseWidgetSettings {
|
|
13
|
+
customTitle: string;
|
|
14
|
+
endpointUrl: string;
|
|
15
|
+
queriesPeriod: QueriesPeriod;
|
|
16
|
+
prometheusQueries: PrometheusQuery[];
|
|
17
|
+
displayedQueryParams: string[];
|
|
18
|
+
xAxisUnit: string;
|
|
19
|
+
yAxisUnit: string;
|
|
20
|
+
}
|
|
21
|
+
declare enum QueriesPeriod {
|
|
22
|
+
CURRENT_SHIFT = "CURRENT_SHIFT",
|
|
23
|
+
PREVIOUS_SHIFT = "PREVIOUS_SHIFT"
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/components/Widget/index.d.ts
|
|
27
|
+
declare const Widget: React.FC<WidgetProps<WidgetData, WidgetSettings>>;
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/core/title.d.ts
|
|
30
|
+
declare const getDisplayName: (lang: string) => string;
|
|
31
|
+
declare const getTitle: (_data: WidgetData | undefined, settings: WidgetSettings | undefined, _filters: FilterValues | undefined, lang: string) => string;
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/version.d.ts
|
|
34
|
+
declare const LIBRARY_VERSION = "1.3.9";
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region src/index.d.ts
|
|
37
|
+
declare const thumbnail: string | undefined;
|
|
38
|
+
declare const requiredFeatures: string[];
|
|
39
|
+
declare const extraPermissions: string[];
|
|
40
|
+
//#endregion
|
|
41
|
+
export { Widget, extraPermissions, getDisplayName, getTitle, requiredFeatures, thumbnail, LIBRARY_VERSION as version };
|
|
42
|
+
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ declare const getDisplayName: (lang: string) => string;
|
|
|
30
30
|
declare const getTitle: (_data: WidgetData | undefined, settings: WidgetSettings | undefined, _filters: FilterValues | undefined, lang: string) => string;
|
|
31
31
|
//#endregion
|
|
32
32
|
//#region src/version.d.ts
|
|
33
|
-
declare const LIBRARY_VERSION = "1.3.
|
|
33
|
+
declare const LIBRARY_VERSION = "1.3.9";
|
|
34
34
|
//#endregion
|
|
35
35
|
//#region src/index.d.ts
|
|
36
36
|
declare const thumbnail: string | undefined;
|