$this->addField([
'name' => 'section_effects',
'type' => 'FormSection',
- 'label' => __('Reflets, ombres et bordures'),
+ 'label' => __('Ombres et bordures'),
]);
- $this->addField([
- 'name' => 'pageReflection',
- 'type' => 'Checkbox',
- 'label' => __('Afficher le reflet sur la page'),
- 'default' => false,
- 'translatable' => false,
- ]);
$this->addField([
'name' => 'shadeAlpha',
'type' => 'Integer',
- 'label' => __('Transparence des ombres et reflets sur les pages'),
+ 'label' => __('Transparence des ombres sur les pages'),
'min' => 0,
'max' => 100,
'default' => 100,
'type' => 'FormSection',
'label' => __('Fond d\'écran'),
]);
- $this->addField([
- 'name' => 'transparentBackground',
- 'type' => 'Checkbox',
- 'label' => __('Fond transparent'),
- 'hint' => __('Si cette option est cochée, aucun fond ne sera pris en compte (ni l\'image, ni la couleur)'),
- 'default' => false,
- 'translatable' => false,
- ]);
- $this->addField([
- 'type' => 'FormSeparator',
- ]);
$this->addField([
'name' => 'backgroundColor',
'type' => 'Color',
'label' => __('Logo affiché au chargement'),
'translatable' => false,
]);
- $this->addField([
- 'name' => 'loaderPosition',
- 'type' => 'Checkbox',
- 'label' => __('Placer le logo à gauche et le loader à droite'),
- 'default' => false,
- 'translatable' => false,
- ]);
$this->addField([
'name' => 'section_pagesbar',
'type' => 'FormSection',
public function getPreviewURL($params = [], $page = 2)
{
if (count($params) > 0) {
- $get = [];
+ $g = [];
foreach ($params as $k => $v) {
- $get = [$k . '=' . urlencode($v)];
+ $g[] = $k . '=' . urlencode($v);
}
- $get = '?' . implode('&', $get);
+ $get = '?' . implode('&', $g);
} else {
$get = '';
}
- return 'https://workshop.fluidbook.com/viewerh/20098-' . $this->getIdValue() . '_f2e0452eed6dba9878016ce5603fdc54_' . time() . '/' . $get . '#/page/' . $page;
+ return 'https://workshop.fluidbook.com/viewerh/20098-' . $this->getIdValue() . '_f2e0452eed6dba9878016ce5603fdc54/' . $get . '#/page/' . $page;
}
@php
- $previewURL=$crud->entry->getPreviewURL(['widget'=>1,'action'=>'fullscreen'],0)
+ $previewURL=$crud->entry->getPreviewURL(['widget'=>'1','action'=>'fullscreen','theme'=>''],0)
@endphp
@push('after_scripts')
(function ($) {
$(function () {
$(document).on('change', 'form input,select,textarea', function () {
- var json=JSON.stringify($(this).closest('form').serialize());
- console.log(json);
+ var previewURL = "{!! $previewURL !!}";
+ var variables = {};
+ var ignore = ['http_referrer', '_method', '_token', 'slug', 'save_action'];
+ var form = $(this).closest('form');
+ $.each($(this).closest('form').serializeArray(), function (k, v) {
+ if (ignore.indexOf(v.name) >= 0) {
+ return;
+ }
+ if ($(form).find(':hidden[name="' + v.name + '"]').nextAll('.dropzone').length > 0) {
+ return;
+ }
+ variables[v.name] = v.value;
+ });
+ $('.dropzone').each(function () {
+ var file = $(this).find('span[data-dz-name]');
+ var filename = '';
+ if ($(file).length > 0) {
+ filename = $(file).text();
+ }
+ var k = $(this).closest('.dropzone').prevAll(':hidden');
+ if ($(k).length === 0) {
+ return;
+ }
+ var name = $(k).val();
+ variables[name] = filename;
+ });
+ console.log(variables);
+
+ var json = JSON.stringify(variables);
+ var url = previewURL.replace('&theme=', '&theme=' + encodeURIComponent(json));
+ document.getElementById('themePreviewIframe').src = url;
+
});
- })
+ });
})(jQuery);
</script>
@endpush
</style>
<div class="card" id="themePreview">
- <iframe src="{{$previewURL}}" width="100%" height="100%" frameborder="0" allowfullscreen></iframe>
+ <iframe id="themePreviewIframe" src="{{$previewURL}}" width="100%" height="100%" frameborder="0"
+ allowfullscreen></iframe>
</div>
@endsection