Skip to content

Commit 3862286

Browse files
committed
Min value for intervals
1 parent 5f2922d commit 3862286

File tree

5 files changed

+61
-18
lines changed

5 files changed

+61
-18
lines changed

src/_locales/de/messages.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,14 @@
299299
"message": "Änderungsliste anzeigen",
300300
"description": "Zeigen Sie die Liste der Änderungen nach dem Aktualisieren der Erweiterung an"
301301
},
302-
"byHoursChart": {
302+
"byHours": {
303303
"message": "Stundenweise"
304304
},
305-
"intervalChartChart": {
306-
"message": "Intervalldiagramm",
307-
"description": "Es werden nur Zeitintervalle angezeigt, die länger als 5 Sekunden sind"
305+
"intervals": {
306+
"message": "Intervalle"
307+
},
308+
"intervalsChart": {
309+
"message": "Nur Zeitintervalle größer als",
310+
"description": "werden angezeigt"
308311
}
309312
}

src/_locales/en/messages.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,14 @@
299299
"message": "Show changelog",
300300
"description": "Show the list of changes after updating extension"
301301
},
302-
"byHoursChart": {
302+
"byHours": {
303303
"message": "Horly"
304304
},
305-
"intervalChartChart": {
306-
"message": "Interval Chart",
307-
"description": "Only time intervals greater than 5 seconds are shown"
305+
"intervals": {
306+
"message": "Intervals"
307+
},
308+
"intervalsChart": {
309+
"message": "Only time intervals greater than",
310+
"description": "are shown"
308311
}
309312
}

src/_locales/ru/messages.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,15 @@
299299
"message": "Показывать список изменений",
300300
"description": "Показывать список изменений после обновления расширения"
301301
},
302-
"byHoursChart": {
302+
"byHours": {
303303
"message": "По часам"
304304
},
305-
"intervalChartChart": {
306-
"message": "Интервальная диаграмма",
305+
"intervals": {
306+
"message": "Интервальны",
307307
"description": "Отображаются только временные интервалы, превышающие 5 секунд"
308+
},
309+
"intervalsChart": {
310+
"message": "Отображаются только временные интервалы, превышающие",
311+
"description": ""
308312
}
309313
}

src/components/Dashboad.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
<input
99
type="button"
1010
:class="['chart-btn', chart == TypeOfChart.Horly ? 'active' : '']"
11-
:value="t('byHoursChart.message')"
11+
:value="t('byHours.message')"
1212
@click="openChart(TypeOfChart.Horly)"
1313
/>
1414
<input
1515
type="button"
1616
:class="['ml-10', 'chart-btn', chart == TypeOfChart.Interval ? 'active' : '']"
17-
:value="t('intervalChartChart.message')"
17+
:value="t('intervals.message')"
1818
@click="openChart(TypeOfChart.Interval)"
1919
/>
2020
</div>

src/components/TimeIntervalChart.vue

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
<template>
2-
<p class="description">{{ t('intervalChartChart.description') }}</p>
2+
<div>
3+
<p class="description d-inline-block">{{ t('intervalsChart.message') }}</p>
4+
<div class="d-inline-block mr-10 ml-10">
5+
<select class="option" v-model="minValue" @change="refreshChart()">
6+
<option :value="MinValue.Seconds_10">10 {{ t('sec.message') }}</option>
7+
<option :value="MinValue.Min_1">1 {{ t('min.message') }}</option>
8+
<option :value="MinValue.Min_5">5 {{ t('2min.message') }}</option>
9+
<option :value="MinValue.Min_10">10 {{ t('mins.message') }}</option>
10+
</select>
11+
</div>
12+
<p class="description d-inline-block">{{ t('intervalsChart.description') }}</p>
13+
</div>
314
<div ref="chart" id="timeIntervalChartD3"></div>
415
</template>
516

@@ -19,34 +30,56 @@ import { useI18n } from 'vue-i18n';
1930
import * as d3 from 'd3';
2031
import { convertStringTimeIntervalToSeconds } from '../utils/converter';
2132
33+
enum MinValue {
34+
Seconds_10 = 10,
35+
Min_1 = 60,
36+
Min_5 = 300,
37+
Min_10 = 600,
38+
}
39+
2240
const { t } = useI18n();
2341
const storage = injecStorage();
2442
2543
const chart = ref<any>();
44+
const minValue = ref<number>();
45+
const todayIntervals = ref<TimeInterval[]>();
2646
2747
type DataForChart = {
2848
domain: string;
2949
interval: string;
3050
};
3151
3252
onMounted(async () => {
53+
minValue.value = MinValue.Seconds_10;
3354
const timeIntervalList = (await storage.getDeserializeList(
3455
StorageDeserializeParam.TIMEINTERVAL_LIST,
3556
)) as TimeInterval[];
3657
37-
const todayIntervals = timeIntervalList?.filter(x => x.day == todayLocalDate());
58+
todayIntervals.value = timeIntervalList?.filter(x => x.day == todayLocalDate());
59+
renderChart();
60+
});
61+
62+
function renderChart() {
3863
const dataForChart: DataForChart[] = [];
39-
todayIntervals.forEach(interval => {
64+
todayIntervals.value?.forEach(interval => {
4065
interval.intervals.forEach(int => {
4166
const from = int.split('-')[0];
4267
const to = int.split('-')[1];
43-
if (convertStringTimeIntervalToSeconds(to) - convertStringTimeIntervalToSeconds(from) > 5) {
68+
if (
69+
convertStringTimeIntervalToSeconds(to) - convertStringTimeIntervalToSeconds(from) >
70+
minValue.value!
71+
) {
4472
dataForChart.push({ domain: interval.domain, interval: convertInterval(int) });
4573
}
4674
});
4775
});
4876
drawIntervalChart(dataForChart);
49-
});
77+
}
78+
79+
function refreshChart() {
80+
chart.value.innerHTML = '';
81+
renderChart();
82+
}
5083
5184
function convertInterval(interval: string): string {
5285
function convert(item: string[]) {

0 commit comments

Comments
 (0)