3
3
class =" k-level-slider flex items-baseline justify-center bg-white q-px-sm q-py-md" >
4
4
<p v-if =" props.switchLabelSide" class =" text-accent text-caption no-margin"
5
5
style =" writing-mode : vertical-lr ; transform-origin : center ; transform : rotate (180deg );" >
6
- <b >{{ $t(CurrentActivity.selectableLevels.label) }} - {{ getFormatedLevel (CurrentActivity.selectedLevel) }}</b >
6
+ <b >{{ $t(CurrentActivity.selectableLevels.label) }} - {{ getFormattedLevel (CurrentActivity.selectedLevel) }}</b >
7
7
</p >
8
8
<q-slider v-if =" dataArray" snap class =" text-primary" v-model =" sliderVal" :vertical =" props.vertical"
9
9
:reverse =" props.reverse ?? props.vertical" :height =" 150" :width =" 4" :markers =" props.markers" :label-always =" false"
10
- :max =" dataArray.length - 1" label :label-value =" getFormatedLevel (dataArray[sliderVal])"
10
+ :max =" dataArray.length - 1" label :label-value =" getFormattedLevel (dataArray[sliderVal])"
11
11
:switch-label-side =" props.switchLabelSide ? !props.switchLabelSide : props.vertical" @change =" onLevelChanged" />
12
12
<q-slider v-else class =" text-primary" :model-value =" sliderVal" :vertical =" props.vertical"
13
13
:reverse =" props.reverse ?? props.vertical" :height =" 150" :width =" 4" :markers =" props.markers" :label-always =" false"
14
14
:min =" sliderMinValue" :max =" sliderMaxValue" :step =" sliderInterval" label
15
- :label-value =" getFormatedLevel (sliderVal)"
15
+ :label-value =" getFormattedLevel (sliderVal)"
16
16
:switch-label-side =" props.switchLabelSide ? !props.switchLabelSide : props.vertical" @change =" onLevelChanged"
17
17
@update:model-value =" val => sliderVal = val" />
18
18
<p v-if =" !props.switchLabelSide" class =" text-accent text-caption no-margin"
19
19
style =" writing-mode : vertical-lr ; transform-origin : center ; transform : rotate (180deg );" >
20
- <b >{{ $t(CurrentActivity.selectableLevels.label) }} - {{ getFormatedLevel (CurrentActivity.selectedLevel) }}</b >
20
+ <b >{{ $t(CurrentActivity.selectableLevels.label) }} - {{ getFormattedLevel (CurrentActivity.selectedLevel) }}</b >
21
21
</p >
22
22
</div >
23
23
</template >
24
24
25
25
<script setup>
26
+ import _ from ' lodash'
26
27
import { computed , ref } from ' vue'
27
28
import { useCurrentActivity } from ' ../../../../core/client/composables'
28
29
@@ -54,7 +55,7 @@ const props = defineProps({
54
55
const { CurrentActivity } = useCurrentActivity ()
55
56
const sliderVal = ref (0 )
56
57
57
- // ==COMPUTED==
58
+ // Computed
58
59
const isVisible = computed (() => sliderValues .value ? sliderValues .value .length > 0 : (sliderMinValue .value !== undefined && sliderMaxValue .value !== undefined ))
59
60
// const isLazy = computed(() => _.get(CurrentActivity.value.selectableLevels, 'lazy', true))
60
61
const sliderValues = computed (() => _ .get (CurrentActivity .value .selectableLevels , ' values' ))
@@ -63,15 +64,15 @@ const sliderMinValue = computed(() => _.get(CurrentActivity.value.selectableLeve
63
64
const sliderMaxValue = computed (() => _ .get (CurrentActivity .value .selectableLevels , ' range.max' ))
64
65
const sliderInterval = computed (() => _ .get (CurrentActivity .value .selectableLevels , ' range.interval' , 1 ))
65
66
66
- // ==MISC FUNCTIONS==
67
+ // Functions
67
68
function onLevelChanged (level ) {
68
69
if (dataArray .value ) {
69
70
CurrentActivity .value .setSelectedLevel (dataArray .value [level])
70
71
} else {
71
72
CurrentActivity .value .setSelectedLevel (level)
72
73
}
73
74
}
74
- function getFormatedLevel (level ) {
75
+ function getFormattedLevel (level ) {
75
76
const unit = _ .get (CurrentActivity .value .selectableLevels , ' unit' )
76
77
return ` ${ level || CurrentActivity .value .selectedLevel } ${ unit} `
77
78
}
0 commit comments