feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
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
This commit is contained in:
78
themes/demo/pages/ajax.htm
Normal file
78
themes/demo/pages/ajax.htm
Normal file
@@ -0,0 +1,78 @@
|
||||
title = "AJAX framework"
|
||||
url = "/demo/ajax"
|
||||
layout = "default"
|
||||
==
|
||||
<?php
|
||||
function onTest()
|
||||
{
|
||||
$value1 = input('value1', '');
|
||||
$value2 = input('value2', '');
|
||||
$operation = input('operation', '');
|
||||
|
||||
if (!is_numeric($value1) || $value1 === '' || !is_numeric($value2) || $value2 === '') {
|
||||
$this['result'] = null;
|
||||
return;
|
||||
}
|
||||
|
||||
switch ($operation) {
|
||||
case '+' :
|
||||
$this['result'] = $value1 + $value2;
|
||||
break;
|
||||
case '-' :
|
||||
$this['result'] = $value1 - $value2;
|
||||
break;
|
||||
case '*' :
|
||||
$this['result'] = $value1 * $value2;
|
||||
break;
|
||||
default :
|
||||
$this['result'] = $value1 / $value2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
?>
|
||||
==
|
||||
<div class="jumbotron title-js">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<h1>AJAX framework</h1>
|
||||
<p>This built-in JavaScript framework provides simple but powerful AJAX capabilities. Check out the calculator example below.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">Calculator</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form role="form" class="form-inline" data-request="onTest" data-request-update="calcresult: '#result'">
|
||||
<input type="text" class="form-control" value="15" name="value1" style="width:100px" data-track-input>
|
||||
<select class="form-control" name="operation" style="width: 70px" data-track-input>
|
||||
<option>+</option>
|
||||
<option>-</option>
|
||||
<option>*</option>
|
||||
<option>/</option>
|
||||
</select>
|
||||
<input type="text" class="form-control" value="5" name="value2" style="width:100px" data-track-input>
|
||||
<button type="submit" class="btn btn btn-primary" data-attach-loading>Calculate</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="panel-footer" id="result">
|
||||
{% partial "calcresult" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Page Explanation -->
|
||||
<div class="container">{% partial "explain/ajax.htm" %}</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div class="text-center">
|
||||
<p><a href="{{ 'plugins'|page }}" class="btn btn-lg btn-default">Continue to Plugin components</a></p>
|
||||
</div>
|
||||
Reference in New Issue
Block a user