|
43 | 43 | buttonStyle="solid" |
44 | 44 | @change="handleDurationChange"> |
45 | 45 | <a-radio-button value=""> |
46 | | - {{ $t('1 hour') }} |
| 46 | + {{ $t('label.duration.1hour') }} |
47 | 47 | </a-radio-button> |
48 | 48 | <a-radio-button value="6hours" v-if="statsRetentionTime >= 60"> |
49 | 49 | {{ $t('label.duration.6hours') }} |
|
62 | 62 | </a-radio-button> |
63 | 63 | </a-radio-group> |
64 | 64 | <InfoCircleOutlined class="info-icon" :title="$t('label.see.more.info.shown.charts')" @click="onClickShowResourceInfoModal('CHART')"/> |
| 65 | + <span>{{$t('label.auto.refresh.statistics')}}</span> |
| 66 | + <a-select |
| 67 | + v-model:value="refreshTime" |
| 68 | + style="width: 100px"> |
| 69 | + <a-select-option value="0">{{$t('label.auto.refresh.statistics.none')}}</a-select-option> |
| 70 | + <a-select-option value="5000">5s</a-select-option> |
| 71 | + <a-select-option value="30000">30s</a-select-option> |
| 72 | + <a-select-option value="60000">1min</a-select-option> |
| 73 | + <a-select-option value="300000">5min</a-select-option> |
| 74 | + </a-select> |
65 | 75 | </div> |
66 | 76 | <div class="ant-tag" v-if="durationSelectorValue==='custom'"> |
67 | 77 | <a-button @click="openFilter()"> |
@@ -297,6 +307,8 @@ export default { |
297 | 307 | selectedDiskUnitOfMeasurement: 'KiB', |
298 | 308 | diskUnitsOfMeasurement: ['KiB', 'MiB', 'GiB'], |
299 | 309 | chartLabels: [], |
| 310 | + refreshTime: '0', |
| 311 | + refreshIntervalId: null, |
300 | 312 | resourceUsageHistory: { |
301 | 313 | cpu: [], |
302 | 314 | memory: { |
@@ -334,6 +346,9 @@ export default { |
334 | 346 | mounted () { |
335 | 347 | this.fetchData() |
336 | 348 | }, |
| 349 | + unmounted () { |
| 350 | + window.clearInterval(this.refreshIntervalId) |
| 351 | + }, |
337 | 352 | computed: { |
338 | 353 | statsRetentionTime () { |
339 | 354 | if (this.resourceType === 'Volume') { |
@@ -371,6 +386,15 @@ export default { |
371 | 386 | return |
372 | 387 | } |
373 | 388 | this.fetchData() |
| 389 | + }, |
| 390 | + refreshTime: function () { |
| 391 | + this.fetchData() |
| 392 | + if (this.refreshTime === '0') return window.clearInterval(this.refreshIntervalId) |
| 393 | +
|
| 394 | + window.clearInterval(this.refreshIntervalId) |
| 395 | + this.refreshIntervalId = window.setInterval(() => { |
| 396 | + this.fetchData() |
| 397 | + }, parseInt(this.refreshTime)) |
374 | 398 | } |
375 | 399 | }, |
376 | 400 | methods: { |
|
0 commit comments