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:
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Scripts for the Reorder controller behavior.
|
||||
*
|
||||
* The following functions are observed:
|
||||
* - Simple sorting: Post back the original sort orders and the new ordered identifiers.
|
||||
* - Nested sorting: Post back source and target nodes IDs and the move positioning.
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
var ReorderBehavior = function() {
|
||||
|
||||
this.sortMode = null
|
||||
|
||||
this.simpleSortOrders = []
|
||||
|
||||
this.initSorting = function (mode) {
|
||||
this.sortMode = mode
|
||||
|
||||
if (mode == 'simple') {
|
||||
this.initSortingSimple()
|
||||
}
|
||||
|
||||
$('#reorderTreeList').on('move.oc.treelist', $.proxy(this.processReorder, this))
|
||||
}
|
||||
|
||||
|
||||
this.processReorder = function(ev, sortData){
|
||||
var postData
|
||||
|
||||
if (this.sortMode == 'simple') {
|
||||
postData = { sort_orders: this.simpleSortOrders }
|
||||
}
|
||||
else if (this.sortMode == 'nested') {
|
||||
postData = this.getNestedMoveData(sortData)
|
||||
}
|
||||
|
||||
$('#reorderTreeList').request('onReorder', {
|
||||
data: postData
|
||||
})
|
||||
}
|
||||
|
||||
this.getNestedMoveData = function (sortData) {
|
||||
var
|
||||
$el,
|
||||
$item = sortData.item,
|
||||
moveData = {
|
||||
targetNode: 0,
|
||||
sourceNode: $item.data('recordId'),
|
||||
position: 'root'
|
||||
}
|
||||
|
||||
if (($el = $item.next()) && $el.length) {
|
||||
moveData.position = 'before'
|
||||
}
|
||||
else if (($el = $item.prev()) && $el.length) {
|
||||
moveData.position = 'after'
|
||||
}
|
||||
else if (($el = $item.parents('li:first')) && $el.length) {
|
||||
moveData.position = 'child'
|
||||
}
|
||||
|
||||
if ($el.length) {
|
||||
moveData.targetNode = $el.data('recordId')
|
||||
}
|
||||
|
||||
return moveData
|
||||
}
|
||||
|
||||
this.initSortingSimple = function () {
|
||||
var sortOrders = []
|
||||
|
||||
$('#reorderTreeList li').each(function(i) {
|
||||
sortOrders.push(i);
|
||||
})
|
||||
|
||||
this.simpleSortOrders = sortOrders
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$.wn.reorderBehavior = new ReorderBehavior;
|
||||
}(window.jQuery);
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php if ($reorderToolbarWidget): ?>
|
||||
<!-- Reorder Toolbar -->
|
||||
<div id="<?= $this->getId('reorderToolbar') ?>" class="reorder-toolbar">
|
||||
<?= $reorderToolbarWidget->render() ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<!-- Reorder List -->
|
||||
<?= Form::open() ?>
|
||||
<div
|
||||
id="reorderTreeList"
|
||||
class="control-treelist"
|
||||
data-control="treelist"
|
||||
<?= $reorderShowTree ? '' : 'data-nested="0"' ?>
|
||||
data-handle="<?= $reorderShowTree ? 'a.move' : '> li > .record > a.move' ?>"
|
||||
data-stripe-load-indicator>
|
||||
<?php if ($reorderRecords): ?>
|
||||
<ol id="reorderRecords">
|
||||
<?= $this->reorderMakePartial('records', ['records' => $reorderRecords]) ?>
|
||||
</ol>
|
||||
<?php else: ?>
|
||||
<p><?= Lang::get('backend::lang.reorder.no_records') ?></p>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<?= Form::close() ?>
|
||||
|
||||
<script>
|
||||
$.wn.reorderBehavior.initSorting('<?= $reorderSortMode ?>')
|
||||
</script>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php foreach ($records as $record): ?>
|
||||
|
||||
<li data-record-id="<?= $record->getKey() ?>"
|
||||
<?php if ($reorderSortMode === 'simple'): ?>
|
||||
data-record-sort-order="<?= $record->{$record->getSortOrderColumn()} ?>"
|
||||
<?php endif ?>
|
||||
>
|
||||
<div class="record">
|
||||
<a href="javascript:;" class="move"></a>
|
||||
<span><?= e($this->reorderGetRecordName($record)) ?></span>
|
||||
<input name="record_ids[]" type="hidden" value="<?= $record->getKey() ?>" />
|
||||
</div>
|
||||
|
||||
<?php if ($reorderShowTree): ?>
|
||||
<ol>
|
||||
<?php if ($record->children): ?>
|
||||
<?= $this->reorderMakePartial('records', ['records' => $record->children]) ?>
|
||||
<?php endif ?>
|
||||
</ol>
|
||||
<?php endif ?>
|
||||
</li>
|
||||
|
||||
<?php endforeach ?>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div data-control="toolbar">
|
||||
<a href="<?= $this->actionUrl('/') ?>" class="btn btn-primary oc-icon-caret-left">
|
||||
<?= e(trans('backend::lang.form.return_to_list')) ?>
|
||||
</a>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php Block::put('breadcrumb') ?>
|
||||
<?= $this->makeLayoutPartial('breadcrumb') ?>
|
||||
<?php Block::endPut() ?>
|
||||
<!-- Reorder Controller Widget -->
|
||||
<?= $this->reorderRender() ?>
|
||||
Reference in New Issue
Block a user