@allurereport/web-dashboard 3.0.0-beta.19 → 3.0.0-beta.21

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.
Files changed (55) hide show
  1. package/dist/multi/{173.app-b98a18c7d6561114f354.js → 173.app-8213f1e81b4008062105.js} +1 -1
  2. package/dist/multi/{174.app-b98a18c7d6561114f354.js → 174.app-8213f1e81b4008062105.js} +1 -1
  3. package/dist/multi/{252.app-b98a18c7d6561114f354.js → 252.app-8213f1e81b4008062105.js} +1 -1
  4. package/dist/multi/{282.app-b98a18c7d6561114f354.js → 282.app-8213f1e81b4008062105.js} +1 -1
  5. package/dist/multi/29.app-8213f1e81b4008062105.js +1 -0
  6. package/dist/multi/{416.app-b98a18c7d6561114f354.js → 416.app-8213f1e81b4008062105.js} +1 -1
  7. package/dist/multi/{527.app-b98a18c7d6561114f354.js → 527.app-8213f1e81b4008062105.js} +1 -1
  8. package/dist/multi/{600.app-b98a18c7d6561114f354.js → 600.app-8213f1e81b4008062105.js} +1 -1
  9. package/dist/multi/{605.app-b98a18c7d6561114f354.js → 605.app-8213f1e81b4008062105.js} +1 -1
  10. package/dist/multi/{638.app-b98a18c7d6561114f354.js → 638.app-8213f1e81b4008062105.js} +1 -1
  11. package/dist/multi/672.app-8213f1e81b4008062105.js +1 -0
  12. package/dist/multi/{686.app-b98a18c7d6561114f354.js → 686.app-8213f1e81b4008062105.js} +1 -1
  13. package/dist/multi/{725.app-b98a18c7d6561114f354.js → 725.app-8213f1e81b4008062105.js} +1 -1
  14. package/dist/multi/{741.app-b98a18c7d6561114f354.js → 741.app-8213f1e81b4008062105.js} +1 -1
  15. package/dist/multi/{755.app-b98a18c7d6561114f354.js → 755.app-8213f1e81b4008062105.js} +1 -1
  16. package/dist/multi/{894.app-b98a18c7d6561114f354.js → 894.app-8213f1e81b4008062105.js} +1 -1
  17. package/dist/multi/{943.app-b98a18c7d6561114f354.js → 943.app-8213f1e81b4008062105.js} +1 -1
  18. package/dist/multi/{980.app-b98a18c7d6561114f354.js → 980.app-8213f1e81b4008062105.js} +1 -1
  19. package/dist/multi/app-8213f1e81b4008062105.js +2 -0
  20. package/dist/multi/manifest.json +20 -20
  21. package/dist/multi/{styles-83a09f6b14587b27ed9c.css → styles-1969c7350c6d5e3cd569.css} +1 -0
  22. package/dist/single/app-478ea6270dbbc5c28920.js +2 -0
  23. package/dist/single/manifest.json +1 -1
  24. package/package.json +5 -4
  25. package/src/components/Dashboard/index.tsx +29 -2
  26. package/src/components/EnvironmentPicker/index.tsx +51 -0
  27. package/src/components/EnvironmentPicker/styles.scss +9 -0
  28. package/src/components/Header/index.tsx +2 -0
  29. package/src/locales/az.json +5 -0
  30. package/src/locales/de.json +5 -0
  31. package/src/locales/en.json +5 -0
  32. package/src/locales/es.json +5 -0
  33. package/src/locales/fr.json +5 -0
  34. package/src/locales/he.json +5 -0
  35. package/src/locales/hy.json +5 -0
  36. package/src/locales/it.json +5 -0
  37. package/src/locales/ja.json +5 -0
  38. package/src/locales/ka.json +5 -0
  39. package/src/locales/kr.json +5 -0
  40. package/src/locales/nl.json +5 -0
  41. package/src/locales/pl.json +5 -0
  42. package/src/locales/pt.json +5 -0
  43. package/src/locales/ru.json +5 -0
  44. package/src/locales/sv.json +5 -0
  45. package/src/locales/tr.json +5 -0
  46. package/src/locales/zh.json +5 -0
  47. package/src/stores/dashboard.ts +8 -3
  48. package/src/stores/env.ts +57 -0
  49. package/webpack.config.js +5 -0
  50. package/dist/multi/29.app-b98a18c7d6561114f354.js +0 -1
  51. package/dist/multi/672.app-b98a18c7d6561114f354.js +0 -1
  52. package/dist/multi/app-b98a18c7d6561114f354.js +0 -2
  53. package/dist/single/app-7bcc055d079abc1ab4eb.js +0 -2
  54. /package/dist/multi/{app-b98a18c7d6561114f354.js.LICENSE.txt → app-8213f1e81b4008062105.js.LICENSE.txt} +0 -0
  55. /package/dist/single/{app-7bcc055d079abc1ab4eb.js.LICENSE.txt → app-478ea6270dbbc5c28920.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
1
  {
2
- "main.js": "app-7bcc055d079abc1ab4eb.js"
2
+ "main.js": "app-478ea6270dbbc5c28920.js"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allurereport/web-dashboard",
3
- "version": "3.0.0-beta.19",
3
+ "version": "3.0.0-beta.21",
4
4
  "description": "The static files for Allure Dashboard Report",
5
5
  "keywords": [
6
6
  "allure",
@@ -31,9 +31,10 @@
31
31
  "IE 11"
32
32
  ],
33
33
  "dependencies": {
34
- "@allurereport/core-api": "3.0.0-beta.19",
35
- "@allurereport/web-commons": "3.0.0-beta.19",
36
- "@allurereport/web-components": "3.0.0-beta.19",
34
+ "@allurereport/charts-api": "3.0.0-beta.21",
35
+ "@allurereport/core-api": "3.0.0-beta.21",
36
+ "@allurereport/web-commons": "3.0.0-beta.21",
37
+ "@allurereport/web-components": "3.0.0-beta.21",
37
38
  "@preact/signals": "^1.3.0",
38
39
  "clsx": "^2.1.1",
39
40
  "i18next": "^24.0.2",
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
2
- import { ChartType, capitalize } from "@allurereport/core-api";
2
+ import { BarChartType, ChartType } from "@allurereport/charts-api";
3
+ import { capitalize } from "@allurereport/core-api";
3
4
  import { type UIChartData } from "@allurereport/web-commons";
4
5
  import {
5
6
  BarChartWidget,
@@ -9,6 +10,7 @@ import {
9
10
  HeatMapWidget,
10
11
  Loadable,
11
12
  PageLoader,
13
+ StabilityRateDistributionWidget,
12
14
  SuccessRatePieChart,
13
15
  TreeMapChartWidget,
14
16
  TrendChartWidget,
@@ -16,6 +18,7 @@ import {
16
18
  } from "@allurereport/web-components";
17
19
  import { useEffect } from "preact/hooks";
18
20
  import { dashboardStore, fetchDashboardData } from "@/stores/dashboard";
21
+ import { currentEnvironment, fetchEnvironments } from "@/stores/env";
19
22
  import { useI18n } from "@/stores/locale";
20
23
  import * as styles from "./styles.scss";
21
24
 
@@ -57,6 +60,25 @@ const getChartWidgetByType = (
57
60
  const type = t(`bar.type.${chartData.dataType}`);
58
61
  const title = chartData.title ?? t("bar.title", { type: capitalize(type) });
59
62
 
63
+ if (chartData.dataType === BarChartType.StabilityRateDistribution) {
64
+ return (
65
+ <StabilityRateDistributionWidget
66
+ title={title}
67
+ mode={chartData.mode}
68
+ data={chartData.data}
69
+ keys={chartData.keys}
70
+ indexBy={chartData.indexBy}
71
+ colors={chartData.colors}
72
+ groupMode={chartData.groupMode}
73
+ xAxisConfig={chartData.xAxisConfig}
74
+ yAxisConfig={chartData.yAxisConfig}
75
+ layout={chartData.layout}
76
+ threshold={chartData.threshold}
77
+ translations={{ "no-results": empty("no-results") }}
78
+ />
79
+ );
80
+ }
81
+
60
82
  return (
61
83
  <BarChartWidget
62
84
  title={title}
@@ -66,6 +88,8 @@ const getChartWidgetByType = (
66
88
  indexBy={chartData.indexBy}
67
89
  colors={chartData.colors}
68
90
  groupMode={chartData.groupMode}
91
+ xAxisConfig={chartData.xAxisConfig}
92
+ yAxisConfig={chartData.yAxisConfig}
69
93
  translations={{ "no-results": empty("no-results") }}
70
94
  />
71
95
  );
@@ -107,6 +131,7 @@ export const Dashboard = () => {
107
131
 
108
132
  useEffect(() => {
109
133
  fetchDashboardData();
134
+ fetchEnvironments();
110
135
  }, []);
111
136
 
112
137
  return (
@@ -114,7 +139,9 @@ export const Dashboard = () => {
114
139
  source={dashboardStore}
115
140
  renderLoader={() => <PageLoader />}
116
141
  renderData={(data) => {
117
- const charts = Object.entries(data).map(([chartId, value]) => {
142
+ const currentChartsData = currentEnvironment.value ? data.byEnv[currentEnvironment.value] : data.general;
143
+
144
+ const charts = Object.entries(currentChartsData).map(([chartId, value]) => {
118
145
  const chartWidget = getChartWidgetByType(value, { t, empty });
119
146
  return (
120
147
  <GridItem key={chartId} className={styles["overview-grid-item"]}>
@@ -0,0 +1,51 @@
1
+ import { DropdownButton, Menu, SvgIcon, Text, allureIcons } from "@allurereport/web-components";
2
+ import { currentEnvironment, environmentsStore, setCurrentEnvironment } from "@/stores/env";
3
+ import { useI18n } from "@/stores/locale";
4
+ import * as styles from "./styles.scss";
5
+
6
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
7
+ export const EnvironmentPicker = () => {
8
+ const { t } = useI18n("environments");
9
+ const environment = currentEnvironment.value;
10
+ const handleSelect = (selectedOption: string) => {
11
+ setCurrentEnvironment(selectedOption);
12
+ };
13
+
14
+ // TODO: use props instead
15
+ if (environmentsStore.value.data.length <= 1) {
16
+ return null;
17
+ }
18
+
19
+ return (
20
+ <div className={styles["environment-picker"]} data-testid={"environment-picker"}>
21
+ <SvgIcon id={allureIcons.environment} size={"s"} />
22
+ <Text className={styles["environment-picker-label"]} type={"ui"} size={"s"} bold>
23
+ {t("environment", { count: 1 })}:
24
+ </Text>
25
+ <Menu
26
+ size="s"
27
+ menuTrigger={({ isOpened, onClick }) => (
28
+ <DropdownButton
29
+ style="ghost"
30
+ size="s"
31
+ text={environment || t("all")}
32
+ isExpanded={isOpened}
33
+ data-testid={"environment-picker-button"}
34
+ onClick={onClick}
35
+ />
36
+ )}
37
+ >
38
+ <Menu.Section>
39
+ <Menu.ItemWithCheckmark onClick={() => handleSelect("")} isChecked={!environment}>
40
+ {t("all")}
41
+ </Menu.ItemWithCheckmark>
42
+ {environmentsStore.value.data.map((env) => (
43
+ <Menu.ItemWithCheckmark onClick={() => handleSelect(env)} key={env} isChecked={env === environment}>
44
+ {env}
45
+ </Menu.ItemWithCheckmark>
46
+ ))}
47
+ </Menu.Section>
48
+ </Menu>
49
+ </div>
50
+ );
51
+ };
@@ -0,0 +1,9 @@
1
+ .environment-picker {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 0 4px;
5
+ }
6
+
7
+ .environment-picker-label {
8
+ text-transform: capitalize;
9
+ }
@@ -3,6 +3,7 @@ import type { ClassValue } from "clsx";
3
3
  import clsx from "clsx";
4
4
  import { currentLocale, setLocale } from "@/stores/locale";
5
5
  import { getTheme, themeStore, toggleTheme } from "@/stores/theme";
6
+ import { EnvironmentPicker } from "../EnvironmentPicker";
6
7
  import * as styles from "./styles.scss";
7
8
 
8
9
  interface HeaderProps {
@@ -13,6 +14,7 @@ export const Header = ({ className }: HeaderProps) => {
13
14
  return (
14
15
  <div className={clsx(styles.above, className)}>
15
16
  <div className={styles.right}>
17
+ <EnvironmentPicker />
16
18
  <LanguagePicker locale={currentLocale.value} setLocale={setLocale} />
17
19
  <ThemeButton theme={themeStore.value} toggleTheme={toggleTheme} getTheme={getTheme} />
18
20
  </div>
@@ -17,6 +17,11 @@
17
17
  "minor": "Kiçik",
18
18
  "trivial": "Əhəmiyyətsiz"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Mühit",
22
+ "environment_other": "Mühitlər",
23
+ "all": "Hamısı"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Trend qrafiki: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Geringfügig",
18
18
  "trivial": "Trivial"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Umgebung",
22
+ "environment_other": "Umgebungen",
23
+ "all": "Alle"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Trenddiagramm: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Minor",
18
18
  "trivial": "Trivial"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Environment",
22
+ "environment_other": "Environments",
23
+ "all": "All"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Trend Chart: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Menor",
18
18
  "trivial": "Trivial"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Entorno",
22
+ "environment_other": "Entornos",
23
+ "all": "Todo"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Gráfico de tendencia: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Mineur",
18
18
  "trivial": "Trivial"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Environnement",
22
+ "environment_other": "Environnements",
23
+ "all": "Tous"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Graphique de tendance: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "משני",
18
18
  "trivial": "שולי"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "סביבה",
22
+ "environment_other": "סביבות",
23
+ "all": "הכל"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "תרשים מגמה: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Երկրորդական",
18
18
  "trivial": "Աննշան"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Համակարգչային միջավայր",
22
+ "environment_other": "Համակարգչային միջավայրներ",
23
+ "all": "Բոլոր համակարգչային միջավայրները"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Միտումների գրաֆիկ: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Minore",
18
18
  "trivial": "Banale"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Ambiente",
22
+ "environment_other": "Ambienti",
23
+ "all": "Tutti"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Grafico di tendenza: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "小規模",
18
18
  "trivial": "些細"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "環境",
22
+ "environment_other": "環境",
23
+ "all": "すべて"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "トレンドチャート: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "მცირე",
18
18
  "trivial": "უმნიშვნელო"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "გარემობა",
22
+ "environment_other": "გარემობები",
23
+ "all": "ყველა"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "ტრენდის გრაფიკი: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "경미",
18
18
  "trivial": "사소"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "환경",
22
+ "environment_other": "환경",
23
+ "all": "모두"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "트렌드 차트: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Klein",
18
18
  "trivial": "Triviaal"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Omgeving",
22
+ "environment_other": "Omgevingen",
23
+ "all": "Alle"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Trendgrafiek: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Pomniejszy",
18
18
  "trivial": "Trywialny"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Środowisko",
22
+ "environment_other": "Środowiska",
23
+ "all": "Wszystkie"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Wykres trendu: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Menor",
18
18
  "trivial": "Trivial"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Ambiente",
22
+ "environment_other": "Ambientes",
23
+ "all": "Todos"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Gráfico de tendência: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Невысокая",
18
18
  "trivial": "Минимальная"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Окружение",
22
+ "environment_other": "Окружения",
23
+ "all": "Все"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "График тренда: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Mindre",
18
18
  "trivial": "Trivial"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Miljö",
22
+ "environment_other": "Miljöer",
23
+ "all": "Alla"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Trenddiagram: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "Küçük",
18
18
  "trivial": "Önemsiz"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "Ortam",
22
+ "environment_other": "Ortamlar",
23
+ "all": "Tümü"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "Trend Grafiği: {{type}}",
@@ -17,6 +17,11 @@
17
17
  "minor": "次要",
18
18
  "trivial": "轻微"
19
19
  },
20
+ "environments": {
21
+ "environment_one": "环境",
22
+ "environment_other": "环境",
23
+ "all": "所有"
24
+ },
20
25
  "charts": {
21
26
  "trend": {
22
27
  "title": "趋势图表: {{type}}",
@@ -1,8 +1,13 @@
1
- import { type ChartsResponse, type UIChartsData, createCharts, fetchReportJsonData } from "@allurereport/web-commons";
1
+ import {
2
+ type ChartsResponse,
3
+ type UIChartsDataWithEnvs,
4
+ createChartsWithEnvs,
5
+ fetchReportJsonData,
6
+ } from "@allurereport/web-commons";
2
7
  import { signal } from "@preact/signals";
3
8
  import type { StoreSignalState } from "@/stores/types";
4
9
 
5
- export const dashboardStore = signal<StoreSignalState<UIChartsData>>({
10
+ export const dashboardStore = signal<StoreSignalState<UIChartsDataWithEnvs>>({
6
11
  loading: true,
7
12
  error: undefined,
8
13
  data: undefined,
@@ -19,7 +24,7 @@ export const fetchDashboardData = async () => {
19
24
  const res = await fetchReportJsonData<ChartsResponse>("widgets/charts.json", { bustCache: true });
20
25
 
21
26
  dashboardStore.value = {
22
- data: createCharts(res),
27
+ data: createChartsWithEnvs(res),
23
28
  error: undefined,
24
29
  loading: false,
25
30
  };
@@ -0,0 +1,57 @@
1
+ import { fetchReportJsonData } from "@allurereport/web-commons";
2
+ import { effect, signal } from "@preact/signals";
3
+ import type { StoreSignalState } from "@/stores/types";
4
+
5
+ const loadFromLocalStorage = <T>(key: string, defaultValue?: T): T => {
6
+ try {
7
+ const stored = localStorage.getItem(key);
8
+ return stored ? (JSON.parse(stored) as T) : defaultValue;
9
+ } catch {
10
+ return defaultValue;
11
+ }
12
+ };
13
+
14
+ export const environmentsStore = signal<StoreSignalState<string[]>>({
15
+ loading: false,
16
+ error: undefined,
17
+ data: [],
18
+ });
19
+ export const collapsedEnvironments = signal<string[]>(loadFromLocalStorage<string[]>("collapsedEnvironments", []));
20
+
21
+ export const currentEnvironment = signal<string>(loadFromLocalStorage<string>("currentEnvironment", ""));
22
+
23
+ export const setCurrentEnvironment = (env: string) => {
24
+ currentEnvironment.value = env;
25
+ };
26
+
27
+ export const fetchEnvironments = async () => {
28
+ environmentsStore.value = {
29
+ ...environmentsStore.value,
30
+ loading: true,
31
+ error: undefined,
32
+ };
33
+
34
+ try {
35
+ const res = await fetchReportJsonData<string[]>("widgets/environments.json", { bustCache: true });
36
+
37
+ environmentsStore.value = {
38
+ data: res,
39
+ error: undefined,
40
+ loading: false,
41
+ };
42
+ } catch (e) {
43
+ environmentsStore.value = {
44
+ ...environmentsStore.value,
45
+ error: e.message,
46
+ loading: false,
47
+ };
48
+ }
49
+ };
50
+
51
+ effect(() => {
52
+ localStorage.setItem("currentEnvironment", JSON.stringify(currentEnvironment.value));
53
+ });
54
+
55
+ effect(() => {
56
+ localStorage.setItem("collapsedEnvironments", JSON.stringify([...collapsedEnvironments.value]));
57
+ });
package/webpack.config.js CHANGED
@@ -90,6 +90,11 @@ export default (env, argv) => {
90
90
  "react-dom": "@preact/compat",
91
91
  },
92
92
  },
93
+ externals: {
94
+ // Some packages use crypto from node:crypto, but webpack doesn't support it
95
+ // I think this does not end up in a bundle, so it is safe to do this
96
+ "node:crypto": "crypto",
97
+ },
93
98
  };
94
99
 
95
100
  if (SINGLE_FILE_MODE) {
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_allurereport_web_dashboard=self.webpackChunk_allurereport_web_dashboard||[]).push([[29],{29:function(e){e.exports=JSON.parse('{"statuses":{"passed":"Zaliczone","failed":"Niezaliczone","broken":"Uszkodzone","skipped":"Pominięte","unknown":"Nieznane","total":"Razem"},"empty":{"no-results":"Brak wyników"},"severity":{"blocker":"Blokujący","critical":"Krytyczny","normal":"Normalny","minor":"Pomniejszy","trivial":"Trywialny"},"charts":{"trend":{"title":"Wykres trendu: {{type}}","type":{"status":"Status","severity":"Ważność"}},"pie":{"title":"Wskaźnik powodzenia testów"}}}')}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_allurereport_web_dashboard=self.webpackChunk_allurereport_web_dashboard||[]).push([[672],{672:function(t){t.exports=JSON.parse('{"statuses":{"passed":"Superato","failed":"Fallito","broken":"Rotto","skipped":"Saltato","unknown":"Sconosciuto","total":"Totale"},"empty":{"no-results":"Nessun risultato"},"severity":{"blocker":"Bloccante","critical":"Critico","normal":"Normale","minor":"Minore","trivial":"Banale"},"charts":{"trend":{"title":"Grafico di tendenza: {{type}}","type":{"status":"Stato","severity":"Gravità"}},"pie":{"title":"Tasso di successo dei test"}}}')}}]);