more styling

This commit is contained in:
2017-11-03 03:37:48 +00:00
parent 6072e68a65
commit e41d4a6394
12 changed files with 385 additions and 179 deletions

View File

@@ -16,28 +16,28 @@
<ul>
<li class="form-row info">
<label>Frequency</label>
<label>123</label>
<label data-actuator-id="laser">1</label>
</li>
<li class="form-row info">
<li class="form-row">
<input type="range" class="laser slider" value="1" min="1" max="128">
</li>
<li class="form-row info">
<label>Motor 1</label>
<label>23</label>
<label data-actuator-id="motor1">1</label>
</li>
<li class="form-row info">
<li class="form-row">
<input type="range" class="motor slider" value="1" min="1" max="128" data-motor-nr="1">
</li>
<li class="form-row info">
<label>Motor 3</label>
<label>324</label>
<label data-actuator-id="motor2">1</label>
</li>
<li class="form-row">
<input type="range" class="motor slider" value="1" min="1" max="128" data-motor-nr="2">
</li>
<li class="form-row info">
<label>Motor 3</label>
<label>123</label>
<label data-actuator-id="motor3">1</label>
</li>
<li class="form-row">
<input type="range" class="motor slider" value="1" min="1" max="128" data-motor-nr="3">
@@ -69,7 +69,10 @@
<form>
<li class="form-row">
<label for="ap">AP Mode</label>
<span class="toggle"><input type="checkbox" name="ap"></span>
<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>
</li>
<li class="form-row">
<label for="ssid">SSID</label>

View File

@@ -113,7 +113,7 @@ var $ = function(selector){
actuator.data.call(this) : [this.value]
);
}
$(domEl).on(actuator.event, handle)
domEl.addEventListener(actuator.event, handle)
});
};
},
@@ -163,31 +163,46 @@ var $ = function(selector){
}
};Sui.ready(() => {
let debugResponse = (data) => {
document.querySelector('#response').html(data);
document.querySelector('#response').innerHTML = data;
};
// init collapsible containers
Sui.select('.collapsible').forEach((container) => {
container.querySelector('.heading').addEventListener('click', (item) => {
container.classList.toggle('open');
});
});
// init actuators
[{
api: 'MOTOR',
method: 'POST',
selector: '.motor.slider',
event: 'change',
data: function() {
let payload = {};
payload['motor' + this.getAttribute('data-motor-nr')] = this.value;
return Sui.util.serialize(payload);
},
onResponse: debugResponse
}, {
api: 'LASER',
method: 'POST',
selector: '.laser.slider',
selector: '.slider.motor',
event: 'change',
onResponse: debugResponse,
data: function() {
let payload = {},
motorValue = this.value,
motorNr = this.getAttribute('data-motor-nr'),
actuatorId = 'motor' + motorNr;
// update actuator value label
Sui.select('[data-actuator-id=\"'+ actuatorId + '\"]')
.forEach( element => element.innerHTML = motorValue);
// add actuator to payload
payload[actuatorId] = motorValue;
return Sui.util.serialize(payload);
}
}, {
api: 'LASER',
method: 'POST',
selector: '.slider.laser',
event: 'change',
onResponse: debugResponse,
data: function() {
// update actuator value label
Sui.select('[data-actuator-id="laser"]')
.forEach( element => element.innerHTML = this.value );
// return payload
return Sui.util.serialize({
laser: this.value
});

View File

@@ -1,3 +1,140 @@
input[type=range] {
-webkit-appearance: none;
width: 100%;
margin: 8.4px 0;
}
input[type=range]:focus {
outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
width: 100%;
height: 3.2px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #097479;
border-radius: 1.3px;
border: 0.2px solid #010101;
}
input[type=range]::-webkit-slider-thumb {
box-shadow: 0.6px 0.6px 2.8px #000000, 0px 0px 0.6px #0d0d0d;
border: 0.4px solid #000000;
height: 20px;
width: 20px;
border-radius: 50px;
background: #0eb8c0;
cursor: pointer;
-webkit-appearance: none;
margin-top: -8.6px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
background: #0eb4bb;
}
input[type=range]::-moz-range-track {
width: 100%;
height: 3.2px;
cursor: pointer;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
background: #097479;
border-radius: 1.3px;
border: 0.2px solid #010101;
}
input[type=range]::-moz-range-thumb {
box-shadow: 0.6px 0.6px 2.8px #000000, 0px 0px 0.6px #0d0d0d;
border: 0.4px solid #000000;
height: 20px;
width: 20px;
border-radius: 50px;
background: #0eb8c0;
cursor: pointer;
}
input[type=range]::-ms-track {
width: 100%;
height: 3.2px;
cursor: pointer;
background: transparent;
border-color: transparent;
color: transparent;
}
input[type=range]::-ms-fill-lower {
background: #043437;
border: 0.2px solid #010101;
border-radius: 2.6px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range]::-ms-fill-upper {
background: #097479;
border: 0.2px solid #010101;
border-radius: 2.6px;
box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
input[type=range]::-ms-thumb {
box-shadow: 0.6px 0.6px 2.8px #000000, 0px 0px 0.6px #0d0d0d;
border: 0.4px solid #000000;
height: 20px;
width: 20px;
border-radius: 50px;
background: #0eb8c0;
cursor: pointer;
height: 3.2px;
}
input[type=range]:focus::-ms-fill-lower {
background: #097479;
}
input[type=range]:focus::-ms-fill-upper {
background: #0eb4bb;
}
/* The switch - the box around the slider */
.switch {
position: relative;
display: inline;
/* The slider */
/* Rounded sliders */
}
.switch input {
display: none;
}
.switch .slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #b3b2b2;
-webkit-transition: .4s;
transition: .4s;
margin-left: -40px;
}
.switch .slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
.switch input:checked + .slider {
background-color: #097479;
}
.switch input:focus + .slider {
box-shadow: 0 0 1px #0eb8c0;
}
.switch input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
.switch .slider.round {
border-radius: 34px;
height: 34px;
width: 60px;
}
.switch .slider.round:before {
border-radius: 50%;
}
form .form-row {
display: flex;
justify-content: flex-end;
@@ -11,6 +148,9 @@ form .form-row > label {
form .form-row > label + label {
flex: 0;
}
form .form-row > label.switch + label {
flex: 1;
}
form .form-row > input {
flex: 2;
}