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,16 @@
|
||||
<div class="report-container">
|
||||
<input type="hidden" value="<?= $this->alias ?>" data-container-alias />
|
||||
|
||||
<ul
|
||||
id="<?= $this->getId('container-list') ?>"
|
||||
class="<?= $this->canAddAndDelete ? 'add-delete' : null ?>"
|
||||
data-control="report-container">
|
||||
<?= $this->makePartial('widget_list') ?>
|
||||
</ul>
|
||||
|
||||
<?php if ($this->canAddAndDelete): ?>
|
||||
<div id="<?= $this->getId('container-toolbar') ?>" data-container-toolbar>
|
||||
<?= $this->makePartial('widget_toolbar') ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
@@ -0,0 +1,43 @@
|
||||
<?= Form::open([
|
||||
'data-request' => $this->getEventHandler('onAddWidget'),
|
||||
'data-request-success' => "\$(this).trigger('close.oc.popup'); \$(window).trigger('oc.reportWidgetAdded')",
|
||||
'data-popup-load-indicator' => 1
|
||||
]) ?>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="popup">×</button>
|
||||
<h4 class="modal-title"><?= e(trans('backend::lang.dashboard.add_widget')) ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label><?= e(trans('backend::lang.dashboard.widget_label')) ?></label>
|
||||
<select class="form-control custom-select" name="className" data-placeholder="<?= e(trans('backend::lang.form.select_placeholder')) ?>">
|
||||
<option></option>
|
||||
<?php foreach ($widgets as $className => $widgetInfo):?>
|
||||
<option value="<?= e($className) ?>"><?= isset($widgetInfo['label']) ? e(trans($widgetInfo['label'])) : $className ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label><?= e(trans('backend::lang.dashboard.widget_width')) ?></label>
|
||||
<select class="form-control custom-select" name="size">
|
||||
<?php foreach ($sizes as $size => $name):?>
|
||||
<option value="<?= e($size) ?>" <?= $size == 12 ? 'selected' : null ?>><?= e($name) ?></option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-primary">
|
||||
<?= e(trans('backend::lang.form.add')) ?>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.form.cancel')) ?>
|
||||
</button>
|
||||
</div>
|
||||
<?= Form::close() ?>
|
||||
33
modules/backend/widgets/reportcontainer/partials/_widget.php
Normal file
33
modules/backend/widgets/reportcontainer/partials/_widget.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php if ($widget->property('ocWidgetNewRow')): ?>
|
||||
<li class="item separator"></li>
|
||||
<?php endif ?>
|
||||
|
||||
<li class="item <?= 'width-'.$widget->property('ocWidgetWidth') ?> <?= $widget->property('ocWidgetNewRow') ? 'new-line' : null ?>">
|
||||
<div class="content">
|
||||
<div class="drag-handle"></div>
|
||||
|
||||
<div id="<?= $widgetAlias ?>"><?= $widget->render() ?></div>
|
||||
|
||||
<a href="javascript:;"
|
||||
class="wn-icon-cog widget-control edit-widget"
|
||||
data-inspectable
|
||||
data-inspector-title="<?= e(trans('backend::lang.dashboard.widget_inspector_title')) ?>"
|
||||
data-inspector-description="<?= e(trans('backend::lang.dashboard.widget_inspector_description')) ?>"
|
||||
data-inspector-config="<?= e($this->getWidgetPropertyConfig($widget)) ?>"
|
||||
data-inspector-class="<?= get_class($widget) ?>"
|
||||
data-inspector-offset="-3"
|
||||
data-inspector-offset-x="-15"
|
||||
data-inspector-placement="left"
|
||||
data-inspector-fallback-placement="left">
|
||||
<input type="hidden" name="widget_properties[]" data-inspector-values value="<?= e($this->getWidgetPropertyValues($widget)) ?>"/>
|
||||
Edit
|
||||
</a>
|
||||
|
||||
<?php if ($this->canAddAndDelete): ?>
|
||||
<button type="button" class="close widget-control close-widget" data-dismiss="popover" aria-hidden="true">×</button>
|
||||
<?php endif ?>
|
||||
|
||||
<input type="hidden" data-widget-alias name="widgetAliases[]" value="<?= $widgetAlias ?>"/>
|
||||
<input type="hidden" data-widget-order name="widgetSortOrders[]" value="<?= $sortOrder ?>"/>
|
||||
</div>
|
||||
</li>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php foreach ($widgets as $widgetAlias => $widgetInfo): ?>
|
||||
<?= $this->makePartial('widget', [
|
||||
'widgetAlias' => $widgetAlias,
|
||||
'widget' => $widgetInfo['widget'],
|
||||
'sortOrder' => $widgetInfo['sortOrder']
|
||||
]) ?>
|
||||
<?php endforeach ?>
|
||||
@@ -0,0 +1,48 @@
|
||||
<div class="dropdown dropup">
|
||||
<a
|
||||
href="javascript:;"
|
||||
class="manage-widgets"
|
||||
data-toggle="dropdown">
|
||||
<i class="icon-cogs"></i> <?= e(trans('backend::lang.dashboard.manage_widgets')) ?>
|
||||
</a>
|
||||
|
||||
<ul class="dropdown-menu" role="menu" data-dropdown-title="Manage dashboard">
|
||||
<li role="presentation">
|
||||
<a
|
||||
role="menuitem"
|
||||
href="javascript:;"
|
||||
data-control="popup"
|
||||
data-handler="<?= $this->getEventHandler('onLoadAddPopup') ?>"
|
||||
class="wn-icon-plus"
|
||||
tabindex="-1">
|
||||
<?= e(trans('backend::lang.dashboard.add_widget')) ?>
|
||||
</a>
|
||||
</li>
|
||||
<li role="separator" class="divider"></li>
|
||||
<?php if (\BackendAuth::getUser()->hasAccess('backend.manage_default_dashboard')): ?>
|
||||
<li role="presentation">
|
||||
<a
|
||||
role="menuitem"
|
||||
href="javascript:;"
|
||||
class="wn-icon-floppy-o"
|
||||
data-request="<?= $this->getEventHandler('onMakeLayoutDefault') ?>"
|
||||
data-request-confirm="<?= e(trans('backend::lang.dashboard.make_default_confirm')) ?>"
|
||||
tabindex="-1">
|
||||
<?= e(trans('backend::lang.dashboard.make_default')) ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<li role="presentation">
|
||||
<a
|
||||
role="menuitem"
|
||||
href="javascript:;"
|
||||
data-request-success="$(window).trigger('oc.reportWidgetRefresh')"
|
||||
data-request="<?= $this->getEventHandler('onResetWidgets') ?>"
|
||||
data-request-confirm="<?= e(trans('backend::lang.dashboard.reset_layout_confirm')) ?>"
|
||||
class="wn-icon-repeat"
|
||||
tabindex="-1">
|
||||
<?= e(trans('backend::lang.dashboard.reset_layout')) ?>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
Reference in New Issue
Block a user