199 lines
9.2 KiB
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
|