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,39 @@
|
||||
.relation-behavior {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.relation-behavior .control-list {
|
||||
border: 1px solid #eeeeee;
|
||||
}
|
||||
.relation-behavior .control-list thead > tr > th {
|
||||
border-top: none !important;
|
||||
border-color: #eeeeee;
|
||||
}
|
||||
.relation-behavior .control-toolbar {
|
||||
padding: 0 20px 20px 20px;
|
||||
}
|
||||
.relation-behavior .control-toolbar .toolbar-item .form-control.search {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
.relation-behavior .control-toolbar .loading-indicator-container.size-input-text {
|
||||
min-height: 0;
|
||||
}
|
||||
.relation-behavior .control-toolbar .loading-indicator-container.size-input-text .loading-indicator > span {
|
||||
top: 4px;
|
||||
}
|
||||
.relation-behavior .list-header {
|
||||
padding: 0;
|
||||
}
|
||||
.relation-behavior .control-list:last-child > table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.relation-flush .control-list {
|
||||
border-top: none;
|
||||
}
|
||||
.relation-inset {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
}
|
||||
.form-group > .relation-behavior .control-toolbar {
|
||||
padding: 0 0 10px 0;
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Scripts for the Relation controller behavior.
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
var RelationBehavior = function() {
|
||||
|
||||
this.toggleListCheckbox = function(el) {
|
||||
$(el).closest('.control-list').listWidget('toggleChecked', [el])
|
||||
}
|
||||
|
||||
this.clickViewListRecord = function(recordId, relationId, sessionKey) {
|
||||
var newPopup = $('<a />'),
|
||||
$container = $('#'+relationId),
|
||||
requestData = paramToObj('data-request-data', $container.data('request-data'))
|
||||
|
||||
newPopup.popup({
|
||||
handler: 'onRelationClickViewList',
|
||||
size: 'huge',
|
||||
extraData: $.extend({}, requestData, {
|
||||
'manage_id': recordId,
|
||||
'_session_key': sessionKey
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
this.clickManageListRecord = function(recordId, relationId, sessionKey) {
|
||||
var oldPopup = $('#relationManagePopup'),
|
||||
$container = $('#'+relationId),
|
||||
requestData = paramToObj('data-request-data', $container.data('request-data'))
|
||||
|
||||
$.request('onRelationClickManageList', {
|
||||
data: $.extend({}, requestData, {
|
||||
'record_id': recordId,
|
||||
'_session_key': sessionKey
|
||||
})
|
||||
})
|
||||
|
||||
oldPopup.popup('hide')
|
||||
}
|
||||
|
||||
this.clickManagePivotListRecord = function(foreignId, relationId, sessionKey) {
|
||||
var oldPopup = $('#relationManagePivotPopup'),
|
||||
newPopup = $('<a />'),
|
||||
$container = $('#'+relationId),
|
||||
requestData = paramToObj('data-request-data', $container.data('request-data'))
|
||||
|
||||
if (oldPopup.length) {
|
||||
oldPopup.popup('hide')
|
||||
}
|
||||
|
||||
newPopup.popup({
|
||||
handler: 'onRelationClickManageListPivot',
|
||||
size: 'huge',
|
||||
extraData: $.extend({}, requestData, {
|
||||
'foreign_id': foreignId,
|
||||
'_session_key': sessionKey
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/*
|
||||
* This function is called every time a record is created, added, removed
|
||||
* or deleted using the relation widget. It triggers the change.oc.formwidget
|
||||
* event to notify other elements on the page about the changed form state.
|
||||
*/
|
||||
this.changed = function(relationId, event) {
|
||||
$('[data-field-name="' + relationId + '"]').trigger('change.oc.formwidget', {event: event});
|
||||
}
|
||||
|
||||
/*
|
||||
* This function transfers the supplied variables as hidden form inputs,
|
||||
* to any popup that is spawned within the supplied container. The spawned
|
||||
* popup must contain a form element.
|
||||
*/
|
||||
this.bindToPopups = function(container, vars) {
|
||||
$(container).on('show.oc.popup', function(event, $trigger, $modal){
|
||||
var $form = $('form', $modal)
|
||||
$.each(vars, function(name, value){
|
||||
$form.prepend($('<input />').attr({ type: 'hidden', name: name, value: value }))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function paramToObj(name, value) {
|
||||
if (value === undefined) value = ''
|
||||
if (typeof value == 'object') return value
|
||||
|
||||
try {
|
||||
return ocJSON("{" + value + "}")
|
||||
}
|
||||
catch (e) {
|
||||
throw new Error('Error parsing the '+name+' attribute value. '+e)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$.wn.relationBehavior = new RelationBehavior;
|
||||
}(window.jQuery);
|
||||
@@ -0,0 +1,60 @@
|
||||
@import "../../../../assets/less/core/boot.less";
|
||||
|
||||
@color-relation-border: #eeeeee;
|
||||
|
||||
.relation-behavior {
|
||||
margin-bottom: 20px;
|
||||
|
||||
.control-list {
|
||||
border: 1px solid @color-relation-border;
|
||||
|
||||
thead > tr > th {
|
||||
border-top: none !important;
|
||||
border-color: @color-relation-border;
|
||||
}
|
||||
}
|
||||
|
||||
.control-toolbar {
|
||||
padding: 0 20px 20px 20px;
|
||||
|
||||
.toolbar-item .form-control.search {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.loading-indicator-container.size-input-text {
|
||||
min-height: 0;
|
||||
.loading-indicator > span {
|
||||
top: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-header {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.control-list:last-child > table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Relation manager to sit flush to the element above
|
||||
.relation-flush {
|
||||
.control-list {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Relation manager to sit inset the standard padding (20px)
|
||||
.relation-inset {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
}
|
||||
|
||||
// Displayed in a form field
|
||||
.form-group > .relation-behavior {
|
||||
.control-toolbar {
|
||||
padding: 0 0 10px 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<a
|
||||
data-control="popup"
|
||||
data-size="huge"
|
||||
data-handler="onRelationButtonAdd"
|
||||
href="javascript:;"
|
||||
class="btn btn-sm btn-secondary wn-icon-plus">
|
||||
<?= e(trans($text, ['name' => trans($relationLabel)])) ?>
|
||||
</a>
|
||||
@@ -0,0 +1,8 @@
|
||||
<a
|
||||
data-control="popup"
|
||||
data-size="huge"
|
||||
data-handler="onRelationButtonCreate"
|
||||
href="javascript:;"
|
||||
class="btn btn-sm btn-secondary wn-icon-file">
|
||||
<?= e(trans($text, ['name' => trans($relationLabel)])) ?>
|
||||
</a>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php if ($relationViewMode == 'single'): ?>
|
||||
<button
|
||||
class="btn btn-sm btn-secondary wn-icon-trash-o"
|
||||
data-request="onRelationButtonDelete"
|
||||
data-request-confirm="<?= e(trans('backend::lang.relation.delete_confirm')) ?>"
|
||||
data-request-success="$.wn.relationBehavior.changed('<?= e($relationField) ?>', 'deleted')"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans($text)) ?>
|
||||
</button>
|
||||
<?php else: ?>
|
||||
<button
|
||||
class="btn btn-sm btn-secondary wn-icon-trash-o"
|
||||
onclick="$(this).data('request-data', {
|
||||
checked: $('#<?= $this->relationGetId('view') ?> .control-list').listWidget('getChecked')
|
||||
})"
|
||||
disabled="disabled"
|
||||
data-request="onRelationButtonDelete"
|
||||
data-request-confirm="<?= e(trans('backend::lang.relation.delete_confirm')) ?>"
|
||||
data-request-success="$.wn.relationBehavior.changed('<?= e($relationField) ?>', 'deleted')"
|
||||
data-trigger-action="enable"
|
||||
data-trigger="#<?= $this->relationGetId('view') ?> .control-list input[type=checkbox]"
|
||||
data-trigger-condition="checked"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans($text)) ?>
|
||||
</button>
|
||||
<?php endif ?>
|
||||
@@ -0,0 +1,8 @@
|
||||
<a
|
||||
data-control="popup"
|
||||
data-size="huge"
|
||||
data-handler="onRelationButtonLink"
|
||||
href="javascript:;"
|
||||
class="btn btn-sm btn-secondary wn-icon-link">
|
||||
<?= e(trans($text, ['name' => trans($relationLabel)])) ?>
|
||||
</a>
|
||||
@@ -0,0 +1,6 @@
|
||||
<button
|
||||
class="btn btn-sm btn-secondary wn-icon-arrows-rotate"
|
||||
data-request="onRelationButtonRefresh"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans($text)) ?>
|
||||
</button>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php if ($relationViewMode == 'single'): ?>
|
||||
<button
|
||||
class="btn btn-sm btn-secondary wn-icon-minus"
|
||||
data-request="onRelationButtonRemove"
|
||||
data-request-success="$.wn.relationBehavior.changed('<?= e($relationField) ?>', 'removed')"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans($text)) ?>
|
||||
</button>
|
||||
<?php else: ?>
|
||||
<button
|
||||
class="btn btn-sm btn-secondary wn-icon-minus"
|
||||
onclick="$(this).data('request-data', {
|
||||
checked: $('#<?= $this->relationGetId('view') ?> .control-list').listWidget('getChecked')
|
||||
})"
|
||||
disabled="disabled"
|
||||
data-request="onRelationButtonRemove"
|
||||
data-request-success="$.wn.relationBehavior.changed('<?= e($relationField) ?>', 'removed')"
|
||||
data-trigger-action="enable"
|
||||
data-trigger="#<?= $this->relationGetId('view') ?> .control-list input[type=checkbox]"
|
||||
data-trigger-condition="checked"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans($text)) ?>
|
||||
</button>
|
||||
<?php endif ?>
|
||||
@@ -0,0 +1,9 @@
|
||||
<a
|
||||
href="javascript:;"
|
||||
class="btn btn-sm btn-secondary wn-icon-unlink"
|
||||
data-request="onRelationButtonUnlink"
|
||||
data-request-success="$.wn.relationBehavior.changed('<?= e($relationField) ?>', 'removed')"
|
||||
data-request-confirm="<?= e(trans('backend::lang.relation.unlink_confirm')) ?>"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans($text)) ?>
|
||||
</a>
|
||||
@@ -0,0 +1,9 @@
|
||||
<a
|
||||
data-control="popup"
|
||||
data-size="huge"
|
||||
data-handler="onRelationButtonUpdate"
|
||||
data-request-data="manage_id: '<?= $relationManageId ?>'"
|
||||
href="javascript:;"
|
||||
class="btn btn-sm btn-secondary wn-icon-pencil">
|
||||
<?= e(trans($text, ['name' => trans($relationLabel)])) ?>
|
||||
</a>
|
||||
@@ -0,0 +1,18 @@
|
||||
<div
|
||||
id="<?= $this->relationGetId() ?>"
|
||||
data-request-data="_relation_field: '<?= $relationField ?>', _relation_extra_config: '<?= e(base64_encode(json_encode($relationExtraConfig))) ?>'"
|
||||
class="relation-behavior relation-view-<?= $relationViewMode ?>">
|
||||
|
||||
<?php if ($toolbar = $this->relationRenderToolbar()): ?>
|
||||
<!-- Relation Toolbar -->
|
||||
<div id="<?= $this->relationGetId('toolbar') ?>" class="relation-toolbar">
|
||||
<?= $toolbar ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<!-- Relation View -->
|
||||
<div id="<?= $this->relationGetId('view') ?>" class="relation-manager">
|
||||
<?= $this->relationRenderView() ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,71 @@
|
||||
<div id="<?= $relationManageWidget->getId('managePopup') ?>">
|
||||
<?php if ($relationManageId): ?>
|
||||
|
||||
<?= Form::ajax('onRelationManageUpdate', [
|
||||
'data-popup-load-indicator' => true,
|
||||
'sessionKey' => $newSessionKey,
|
||||
'data-request-success' => "$.wn.relationBehavior.changed('" . e($relationField) . "', 'updated')",
|
||||
]) ?>
|
||||
|
||||
<!-- Passable fields -->
|
||||
<input type="hidden" name="manage_id" value="<?= $relationManageId ?>" />
|
||||
<input type="hidden" name="_relation_field" value="<?= $relationField ?>" />
|
||||
<input type="hidden" name="_relation_mode" value="form" />
|
||||
<input type="hidden" name="_relation_session_key" value="<?= $relationSessionKey ?>" />
|
||||
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="popup">×</button>
|
||||
<h4 class="modal-title">
|
||||
<?= e(trans($relationManageTitle, ['name' => trans($relationLabel)])) ?>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<?= $relationManageWidget->render(['preview' => $this->readOnly]) ?>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<?= $this->relationMakePartial('manage_form_footer_update') ?>
|
||||
</div>
|
||||
|
||||
<?= Form::close() ?>
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
<?= Form::ajax('onRelationManageCreate', [
|
||||
'data-popup-load-indicator' => true,
|
||||
'data-request-success' => "$.wn.relationBehavior.changed('" . e($relationField) . "', 'created')",
|
||||
'sessionKey' => $newSessionKey
|
||||
]) ?>
|
||||
|
||||
<!-- Passable fields -->
|
||||
<input type="hidden" name="_relation_field" value="<?= $relationField ?>" />
|
||||
<input type="hidden" name="_relation_mode" value="form" />
|
||||
<input type="hidden" name="_relation_session_key" value="<?= $relationSessionKey ?>" />
|
||||
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="popup">×</button>
|
||||
<h4 class="modal-title">
|
||||
<?= e(trans($relationManageTitle, ['name' => trans($relationLabel)])) ?>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<?= $relationManageWidget->render() ?>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<?= $this->relationMakePartial('manage_form_footer_create') ?>
|
||||
</div>
|
||||
<?= Form::close() ?>
|
||||
|
||||
<?php endif ?>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$.wn.relationBehavior.bindToPopups('#<?= $relationManageWidget->getId("managePopup") ?>', {
|
||||
_relation_field: '<?= $relationField ?>',
|
||||
_relation_mode: 'form'
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,11 @@
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-primary">
|
||||
<?= e(trans('backend::lang.relation.create')) ?>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.cancel')) ?>
|
||||
</button>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php if ($this->readOnly): ?>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.close')) ?>
|
||||
</button>
|
||||
<?php else: ?>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-primary">
|
||||
<?= e(trans('backend::lang.relation.update')) ?>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.cancel')) ?>
|
||||
</button>
|
||||
<?php endif ?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<div id="relationManagePopup" data-request-data="_relation_field: '<?= $relationField ?>', _relation_mode: 'list'">
|
||||
<?= Form::open() ?>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="popup">×</button>
|
||||
<h4 class="modal-title"><?= e(trans($relationManageTitle, [
|
||||
'name' => trans($relationLabel)
|
||||
])) ?></h4>
|
||||
</div>
|
||||
|
||||
<div class="list-flush">
|
||||
<?php if ($relationSearchWidget): ?>
|
||||
<?= $relationSearchWidget->render() ?>
|
||||
<?php endif ?>
|
||||
<?php if ($relationManageFilterWidget): ?>
|
||||
<?= $relationManageFilterWidget->render() ?>
|
||||
<?php endif ?>
|
||||
<?= $relationManageWidget->render() ?>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<?= $this->relationMakePartial('manage_list_footer') ?>
|
||||
</div>
|
||||
<?= Form::close() ?>
|
||||
</div>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php if ($relationManageWidget->showCheckboxes): ?>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
data-request="onRelationManageAdd"
|
||||
data-dismiss="popup"
|
||||
data-request-success="$.wn.relationBehavior.changed('<?= e($relationField) ?>', 'added')"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans('backend::lang.relation.add_selected')) ?>
|
||||
</button>
|
||||
<?php endif ?>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.cancel')) ?>
|
||||
</button>
|
||||
@@ -0,0 +1,32 @@
|
||||
<div id="relationManagePivotPopup" data-request-data="_relation_field: '<?= $relationField ?>'">
|
||||
<?= Form::open() ?>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="popup">×</button>
|
||||
<h4 class="modal-title"><?= e(trans($relationManageTitle, ['name'=>trans($relationLabel)])) ?></h4>
|
||||
</div>
|
||||
<?php if (!$relationSearchWidget): ?>
|
||||
<div class="modal-body">
|
||||
<p><?= e(trans('backend::lang.relation.help')) ?></p>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<div class="list-flush">
|
||||
<?php if ($relationSearchWidget): ?>
|
||||
<?= $relationSearchWidget->render() ?>
|
||||
<?php endif ?>
|
||||
<?php if ($relationManageFilterWidget): ?>
|
||||
<?= $relationManageFilterWidget->render() ?>
|
||||
<?php endif ?>
|
||||
<?= $relationManageWidget->render() ?>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<?= $this->relationMakePartial('manage_pivot_footer') ?>
|
||||
</div>
|
||||
<?= Form::close() ?>
|
||||
</div>
|
||||
<script>
|
||||
setTimeout(
|
||||
function(){ $('#relationManagePivotPopup input.form-control:first').focus() },
|
||||
310
|
||||
)
|
||||
</script>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php if ($relationManageWidget->showCheckboxes): ?>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-primary"
|
||||
data-control="popup"
|
||||
data-handler="onRelationManageAddPivot"
|
||||
data-size="huge"
|
||||
data-dismiss="popup"
|
||||
data-stripe-load-indicator>
|
||||
<?= e(trans('backend::lang.relation.add_selected')) ?>
|
||||
</button>
|
||||
<?php endif ?>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.cancel')) ?>
|
||||
</button>
|
||||
@@ -0,0 +1,53 @@
|
||||
<?php if ($relationManageId): ?>
|
||||
|
||||
<?= Form::ajax('onRelationManagePivotUpdate', [
|
||||
'data' => ['_relation_field' => $relationField, 'manage_id' => $relationManageId],
|
||||
'data-request-success' => "$.wn.relationBehavior.changed('" . e($relationField) . "', 'updated')",
|
||||
'data-popup-load-indicator' => true
|
||||
]) ?>
|
||||
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="popup">×</button>
|
||||
<h4 class="modal-title"><?= e(trans('backend::lang.relation.related_data', ['name'=>trans($relationLabel)])) ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?= $relationPivotWidget->render(['preview' => $this->readOnly]) ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<?= $this->relationMakePartial('pivot_form_footer') ?>
|
||||
</div>
|
||||
|
||||
<?= Form::close() ?>
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
<?= Form::ajax('onRelationManagePivotCreate', [
|
||||
'data' => ['_relation_field' => $relationField, 'foreign_id' => $foreignId],
|
||||
'data-request-success' => "$.wn.relationBehavior.changed('" . e($relationField) . "', 'created')",
|
||||
'data-popup-load-indicator' => true
|
||||
]) ?>
|
||||
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="popup">×</button>
|
||||
<h4 class="modal-title"><?= e(trans('backend::lang.relation.related_data', ['name'=>trans($relationLabel)])) ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?= $relationPivotWidget->render() ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-primary">
|
||||
<?= e(trans('backend::lang.relation.add')) ?>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.cancel')) ?>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<?= Form::close() ?>
|
||||
|
||||
<?php endif ?>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php if ($this->readOnly): ?>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.close')) ?>
|
||||
</button>
|
||||
<?php else: ?>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-primary">
|
||||
<?= e(trans('backend::lang.relation.update')) ?>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default"
|
||||
data-dismiss="popup">
|
||||
<?= e(trans('backend::lang.relation.cancel')) ?>
|
||||
</button>
|
||||
<?php endif ?>
|
||||
@@ -0,0 +1,18 @@
|
||||
<div data-control="toolbar">
|
||||
|
||||
<?php foreach ($relationToolbarButtons as $type => $text): ?>
|
||||
|
||||
<?php if ($type === 'update'): ?>
|
||||
<?= $this->relationMakePartial('button_update', [
|
||||
'relationManageId' => $relationViewModel->getKey(),
|
||||
'text' => $text
|
||||
]) ?>
|
||||
<?php else: ?>
|
||||
<?= $this->relationMakePartial('button_' . $type, [
|
||||
'text' => $text
|
||||
]) ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?php endforeach ?>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?php if ($relationViewFilterWidget): ?>
|
||||
<?= $relationViewFilterWidget->render() ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?= $relationViewWidget->render() ?>
|
||||
Reference in New Issue
Block a user