@@ -75,10 +75,6 @@ export default def(class Slider extends Component {
75
75
` ;
76
76
77
77
create_template ( { template } ) {
78
- const min = this . get ( 'min' ) ;
79
- const max = this . get ( 'max' ) ;
80
- const value = this . get ( 'value' ) ?? min ;
81
- const step = this . get ( 'step' ) ?? 1 ;
82
78
const label = this . get ( 'label' ) ?? this . get ( 'name' ) ;
83
79
84
80
$ ( template ) . html ( /*html*/ `
@@ -87,17 +83,20 @@ export default def(class Slider extends Component {
87
83
<input class="slider-input" type="range">
88
84
</div>
89
85
` ) ;
90
-
91
- // Set attributes here to prevent XSS injection
92
- $ ( template ) . find ( '.slider-input' ) . attr ( 'min' , min ) ;
93
- $ ( template ) . find ( '.slider-input' ) . attr ( 'max' , max ) ;
94
- $ ( template ) . find ( '.slider-input' ) . attr ( 'value' , value ) ;
95
- $ ( template ) . find ( '.slider-input' ) . attr ( 'step' , step ) ;
96
86
}
97
87
98
88
on_ready ( { listen } ) {
99
89
const input = this . dom_ . querySelector ( '.slider-input' ) ;
100
90
91
+ // Set attributes here to prevent XSS injection
92
+ {
93
+ const min = this . get ( 'min' ) ;
94
+ input . setAttribute ( 'min' , min ) ;
95
+ input . setAttribute ( 'max' , this . get ( 'max' ) ) ;
96
+ input . setAttribute ( 'step' , this . get ( 'step' ) ?? 1 ) ;
97
+ input . value = this . get ( 'value' ) ?? min ;
98
+ }
99
+
101
100
input . addEventListener ( 'input' , e => {
102
101
const on_change = this . get ( 'on_change' ) ;
103
102
if ( on_change ) {
0 commit comments