File tree Expand file tree Collapse file tree 3 files changed +86
-2
lines changed
docs/app/pages/Components/Slider Expand file tree Collapse file tree 3 files changed +86
-2
lines changed Original file line number Diff line number Diff line change 1
1
<example src="./examples/Example.vue " />
2
2
<example src="./examples/WithLabel.vue " />
3
+ <example src="./examples/Editable.vue " />
3
4
4
5
<template >
5
6
<page-container centered :title =" $t('pages.slider.title')" >
13
14
<code-example title =" Slider" :component =" examples['example']" />
14
15
<code-example title =" Slider with label" :component =" examples['with-label']" />
15
16
17
+ <code-example title =" Slider with editable field" :component =" examples['editable']" />
16
18
<api-item title =" API - md-slider" >
17
19
<p >The following options can be applied to all sliders:</p >
18
20
40
42
description: ' The model variable to bind the selection value. If no value is assigned, then it will use default value.' ,
41
43
defaults: ' 0'
42
44
},
45
+ {
46
+ name: ' md-editable' ,
47
+ type: ' Boolean' ,
48
+ description: ' Enables field for editable value of slider.' ,
49
+ defaults: ' false'
50
+ },
43
51
{
44
52
name: ' min' ,
45
53
type: ' Number' ,
46
54
description: ' Minimal value for slider.' ,
47
- defaults: ' 0 '
55
+ defaults: ' '
48
56
},
49
57
{
50
58
name: ' max' ,
Original file line number Diff line number Diff line change
1
+ <template >
2
+ <div class =" slider-example" >
3
+ <div class =" slider-demo-box" :style =" { background: getRGB }" ></div >
4
+ <div class =" sliders-demo" >
5
+ <md-slider v-model =" r" :max =" 255" md-editable >
6
+ R
7
+ </md-slider >
8
+ <md-slider v-model =" g" :max =" 255" md-editable >
9
+ G
10
+ </md-slider >
11
+ <md-slider v-model =" b" :max =" 255" md-editable >
12
+ B
13
+ </md-slider >
14
+ </div >
15
+ </div >
16
+ </template >
17
+
18
+ <script >
19
+ export default {
20
+ name: ' Example' ,
21
+ data : () => ({
22
+ r: 178 ,
23
+ g: 255 ,
24
+ b: 89
25
+ }),
26
+ computed: {
27
+ getRGB () {
28
+ return ` rgba(${ this .r } ,${ this .g } ,${ this .b } )`
29
+ }
30
+ }
31
+ }
32
+ </script >
33
+
34
+ <style lang="scss" scoped>
35
+ .slider-example {
36
+ max-width : 240px ;
37
+ border : 1px solid rgba (0 ,0 ,0 ,0.12 );
38
+ .slider-demo-box {
39
+ height : 160px ;
40
+ padding : 16px ;
41
+ }
42
+ .sliders-demo {
43
+ padding : 16px 16px 0 ;
44
+ }
45
+ }
46
+ </style >
47
+
Original file line number Diff line number Diff line change 14
14
<div class =" md-slider-background-upper" :style =" upperStyles" ></div >
15
15
</div >
16
16
</div >
17
+ <div class =" md-slider-editable" v-if =" mdEditable" >
18
+ <md-field >
19
+ <md-input v-model.number =" editableField" v-bind =" { disabled }" ></md-input >
20
+ </md-field >
21
+ </div >
17
22
</div >
18
23
</template >
19
24
41
46
},
42
47
name: String ,
43
48
required: Boolean ,
44
- disabled: Boolean
49
+ disabled: Boolean ,
50
+ mdEditable: Boolean
45
51
},
46
52
computed: {
53
+ editableField: {
54
+ get () {
55
+ return this .value
56
+ },
57
+ set (newValue) {
58
+ const value = (newValue < this .min )
59
+ ? this .min
60
+ : newValue > this .max ? this .max : newValue
61
+ this .currentValue = value || this .min
62
+ },
63
+ },
47
64
currentValue: {
48
65
get () {
49
66
return this .value
84
101
label {
85
102
white-space : nowrap ;
86
103
}
104
+ .md-slider-editable {
105
+ width : 30px ;
106
+ .md-field {
107
+ padding : 0 ;
108
+ margin : 0 ;
109
+ min-height : 20px ;
110
+ input {
111
+ max-width : 30px ;
112
+ text-align : center ;
113
+ }
114
+ }
115
+ }
87
116
}
88
117
89
118
.md-slider {
You can’t perform that action at this time.
0 commit comments