Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<!-- Range -->
|
|
<?php if ($this->previewMode): ?>
|
|
<span class="form-control"><?= isset($field->value) ? e($field->value) : ' ' ?></span>
|
|
<?php else: ?>
|
|
<?php
|
|
$min = $field->config['min'] ?? 0;
|
|
$max = $field->config['max'] ?? 100;
|
|
$step = $field->config['step'] ?? 1;
|
|
$value = $field->value;
|
|
if ($min > $max) {
|
|
$min = $max - $step;
|
|
}
|
|
if (is_null($value)) {
|
|
$value = ($min + $max) / 2;
|
|
}
|
|
?>
|
|
|
|
<input
|
|
type="range"
|
|
step="<?= $step ?>"
|
|
name="<?= $field->getName() ?>"
|
|
id="<?= $field->getId() ?>"
|
|
value="<?= e($value) ?>"
|
|
min="<?= $min ?>"
|
|
max="<?= $max ?>"
|
|
<?= $field->getAttributes() ?>
|
|
/>
|
|
<span style="position: absolute; transform: translateX(-50%)"></span>
|
|
<script>
|
|
(() => {
|
|
const input = document.getElementById("<?= $field->getId() ?>");
|
|
input.addEventListener("input", function () {
|
|
this.nextElementSibling.innerHTML = this.value;
|
|
var pos = ((this.value - <?= $min ?>) / (<?= $max ?> - <?= $min ?>) * 100);
|
|
this.nextElementSibling.style.left = `calc(${pos}% + ${8 - pos * 0.15}px)`;
|
|
});
|
|
input.dispatchEvent(new Event('input'));
|
|
})();
|
|
</script>
|
|
<?php endif; ?>
|