Making zoom for timeline sticky, and adaptively coalesce intervals to limit payload sizes

This commit is contained in:
Kinesin Data Technologies Incorporated
2022-10-07 17:37:25 -03:00
parent 304e04cca9
commit 6042507ab7
6 changed files with 109 additions and 17 deletions
+18 -2
View File
@@ -1,17 +1,21 @@
<script>
export default {
props: ['refreshSeconds', 'waterfallURL'],
props: ['refreshSeconds', 'waterfallURL', 'maxDisplayIntervals'],
data() {
return {
interval: this.refreshSeconds,
url: this.waterfallURL,
max_display_intervals: this.maxDisplayIntervals,
};
},
emits: ['update-refresh-interval', 'update-waterfall-url'],
emits: ['update-refresh-interval', 'update-waterfall-url', 'update-max-intervals'],
computed: {
validRefreshIntervals() {
return [5, 10, 15, 30, 60, 300, 600];
},
validDisplayIntervals() {
return [0, 100, 250, 500, 1000, 1500];
},
isSelected(interval) {
return (interval === this.refreshSeconds ? 'selected' : 'unselected');
},
@@ -37,5 +41,17 @@ export default {
</option>
</select>
</label>
<label>
Max Display Intervals
<select @change="$emit('update-max-display-intervals', max_display_intervals)" v-model="max_display_intervals">
<option v-for="cnt in validDisplayIntervals"
:key="cnt"
:value="cnt"
>
{{ cnt }} Segments
</option>
</select>
</label>
</details>
</template>