ldc-com-app-bo/resources/views/bo/pages/settings/form.blade.php

199 lines
9.2 KiB
PHP

<input name="key" value="{{ $settingModel->key }}" class="d-none">
@switch($settingModel->type)
@case(\App\Enums\SettingTypesEnum::string)
<div class="row">
<div class="col">
<fieldset class="border bg-white p-3 mb-3">
<legend>{{ $settingModel->key }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.varchar', [
'id' => 'setting' . $settingModel->key,
'label' => __('Texte du :model', ['model' => __('models.classes.setting')]),
'hasWordCounter' => true,
'name' => 'value',
'required' => true,
'model' => $settingModel ?? null,
'helper' => __('Doit posséder 3 caractères minimum, 255 maximum.'),
'placeholder' => "Un beau texte"
])
</div>
</div>
</fieldset>
</div>
</div>
@break
@case(\App\Enums\SettingTypesEnum::json)
<div class="row">
<div class="col">
<fieldset class="border bg-white p-3 mb-3">
<legend>{{ $settingModel->key }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.text', [
'id' => 'setting' . $settingModel->key,
'label' => __('Texte du :model', ['model' => __('models.classes.setting')]),
'hasWordCounter' => true,
'name' => 'value',
'required' => true,
'model' => $settingModel ?? null,
'helper' => __('Doit posséder 3 caractères minimum, 255 maximum.'),
'placeholder' => "Un beau texte"
])
</div>
</div>
</fieldset>
</div>
</div>
@break
@case(\App\Enums\SettingTypesEnum::numeric)
<div class="row">
<div class="col">
<fieldset class="border bg-white p-3">
<legend>{{ $settingModel->key }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.int-number', [
'id' => $settingModel->key,
'name' => 'value',
'label' => __('Nombre du :model', ['model' => __('models.classes.setting')]),
'model' => $settingModel ?? null,
'min' => 1,
'helper' => __('Doit être un nombre (minimum 1).'),
'required' => true,
])
</div>
</div>
</fieldset>
</div>
</div>
@break
@case(\App\Enums\SettingTypesEnum::boolean)
<div class="row">
<div class="col">
<fieldset class="border bg-white p-3 mb-3">
<legend>{{ $settingModel->key }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.boolean-switch', [
'id' => $settingModel->key,
'name' => 'value',
'label' => __('Activer ce paramètre ?'),
'model' => $settingModel ?? null,
'value' => ($settingModel->value === "true") ? 1 : 0,
'helper' => __('Une fois coché, ce paramètre sera activé.')
])
</div>
</div>
</fieldset>
</div>
</div>
@break
@case(\App\Enums\SettingTypesEnum::picture)
<div class="row">
<div class="col">
<fieldset class="border bg-white p-3 mb-3">
<legend>{{ $settingModel->key }}</legend>
<div class="row">
<div class="col-12">
@php
if($settingModel->key === "SquaredLogo") {
$dimWidth = 187;
$dimHeight = 187;
} elseif ($settingModel->key === "RectangleLogo") {
$dimWidth = 187;
$dimHeight = 100;
} elseif ($settingModel->key === "BackgroundImage") {
$dimWidth = 1920;
$dimHeight = 1200;
} elseif ($settingModel->key === "HomeButtonImage") {
$dimWidth = 100;
$dimHeight = 100;
}
$data = [
'id' => 'setting' . $settingModel->key,
'name' => 'value',
'helper' => __('L\'image qui va servir de vignette au produit, doit être de :widthpx (largeur) par :heightpx (hauteur)',
[
'width' => $dimWidth,
'height' => $dimHeight
]),
'width' => $dimWidth,
'height' => $dimHeight,
'value' => $settingModel->value ?? '',
];
@endphp
@include('modules.input-error', ['inputName' => 'value'])
<div class="image-input" data-json='@json($data)'></div>
</div>
</div>
</fieldset>
</div>
</div>
@break
@case(\App\Enums\SettingTypesEnum::color)
<div class="row">
<div class="col">
<fieldset class="border bg-white p-3 mb-3">
<legend>{{ $settingModel->key }}</legend>
<div class="row">
<div class="col-12 col-md-6 mb-3">
<div class="form-group">
@include('bo.partials.inputs.color-picker', [
'id' => $settingModel->key,
'name' => 'value',
'label' => __('Couleur du paramètre'),
'title' => __('Choisissez la couleur du paramètre'),
'model' => $settingModel,
'rgbaMode' => false,
'helper' => __('Doit être une couleur sous le format hexadécimal.'),
'nullable' => false,
'disabled' => false
])
</div>
</div>
</div>
</fieldset>
</div>
</div>
@break
@case(\App\Enums\SettingTypesEnum::directory)
<div class="row">
<div class="col">
<fieldset class="border bg-white p-3 mb-3">
<legend>{{ $settingModel->key }}</legend>
<div class="row">
<div class="col-12 col-md-6 mb-3">
<div class="form-group">
@include('bo.partials.inputs.bigint-foreign-id', [
'id' => $settingModel->key,
'name' => 'value',
'label' => __('Model à associer'),
'model' => $settingModel,
'associatedModels' => $directories,
'foreignLabel' => 'name',
'helper' => __('Doit être une couleur sous le format hexadécimal.'),
'required' => true,
])
</div>
</div>
</div>
</fieldset>
</div>
</div>
@break
@endswitch
@push('scripts')
<script nonce="{{ $nonce }}">
document.addEventListener("DOMContentLoaded", () => {
// Submit button clone.
const submit = document.getElementById('formSubmit')
submitClone = document.getElementById('formSubmitClone');
submitClone.addEventListener('click', (event) => {
event.preventDefault();
submit.click('');
})
});
</script>
@endpush