Moved from "app/src" to "app/application".

Otherwise phpstorm doesn't understand the paths correctly. He thinks that this is not a complete application, but a package. And when creating a class, the namespace indicates “app” with a small letter, but should be “App”.
This commit is contained in:
2024-04-11 19:52:37 +05:00
parent e41f63f94f
commit b7d0a2453e
314 changed files with 5 additions and 5 deletions

View File

@@ -0,0 +1,12 @@
<div class="form-check">
@if(!is_null($notCheckedValue))
<input type="hidden" name="{{ $name }}" value="{{ $notCheckedValue }}">
@endif
<input class="form-check-input @error($requestName) is-invalid @enderror" name="{{ $name }}" type="checkbox" value="{{ $checkboxValue }}" @checked($checkboxValue === $userValue) id="form-checkbox-{{ $requestName }}">
<label class="form-check-label" for="form-checkbox-{{ $requestName }}">
{{ $title }}
</label>
@error($name)
<span class="invalid-feedback d-block">{{ $message }}</span>
@enderror
</div>

View File

@@ -0,0 +1,4 @@
<input name="{{ $name }}" value="{{ $value }}" type="hidden" {{ $attributes }} />
@error($requestName)
<span class="invalid-feedback" style="display: block;">{{ $message }}</span>
@enderror

View File

@@ -0,0 +1,11 @@
<div class="mb-4">
<label for="form-input-{{ $requestName }}">{{ $title }}
@if(!empty($example))
<span class="label__example">({{ __('example:') }} {!! $example !!})</span>
@endif
</label>
<input id="form-input-{{ $requestName }}" class="form-control @error($requestName) is-invalid @enderror" name="{{ $name }}" type="{{ $type }}" @if($type !== 'password') value="{{ $value }}" @endif {{ $attributes }}>
@error($requestName)
<span class="invalid-feedback">{{ $message }}</span>
@enderror
</div>

View File

@@ -0,0 +1,94 @@
<hr>
<div class="mb-4">
<label>{{ __('Languages') }}</label>
<div class="table-responsive">
<table class="table table-centered table-nowrap mb-0 rounded table-languages">
<thead class="thead-light">
<tr>
<th class="border-0 rounded-start">{{ __('validation.attributes.title') }}</th>
<th class="border-0">{{ __('validation.attributes.code') }}</th>
<th class="border-0">{{ __('validation.attributes.sort') }}</th>
<th class="border-0">{{ __('validation.attributes.is_default') }}</th>
<th class="border-0 rounded-end"></th>
</tr>
</thead>
<tbody>
@foreach($value as $index => $lang)
<tr class="item-language">
@include('components.volt.forms.languages.language', ['index' => $index, 'name' => $name, 'lang' => $lang])
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<td colspan="5">
<input type="hidden" class="language-number" name="{{ $name . '[language-number]' }}" value="{{ old($name . '.language-number', count($value)) }}">
<button class="btn btn-outline-primary add-language" type="button">+ {{ __('Add language') }}</button>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
@pushOnce('scripts')
<script>
(function() {
function languagesEventListener(tableLanguage) {
let languageIndex = tableLanguage.querySelector('input.language-number'),
addBlock = tableLanguage.querySelector('tbody');
tableLanguage.querySelector('button.add-language').addEventListener('click', (e) => {
++languageIndex.value;
axios.post('{{ route('admin.new-language') }}', {
_token: document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
name: '{{ $name }}',
index: Number(languageIndex.value),
})
.then(response => {
let container = document.createElement("tr");
container.classList = 'item-language';
container.innerHTML = response.data.html;
let button = container.querySelector('button.delete');
addEventButtonDelete(button, tableLanguage);
addBlock.append(container);
languagesHideShowButtonDelete(tableLanguage);
})
.catch(error => {
let container = document.createElement("div");
container.classList = 'alert alert-danger';
container.setAttribute('role', 'alert');
container.innerHTML = `{{ __('There was an error adding a language') }}<button type="button" class="btn-close alert__close" data-bs-dismiss="alert"></button>`;
e.target.after(container);
});
});
languagesHideShowButtonDelete(tableLanguage, tableLanguage);
let buttonsDelete = tableLanguage.querySelectorAll('button.delete');
if (buttonsDelete.length > 0) {
buttonsDelete.forEach(addEventButtonDelete, tableLanguage);
}
}
function addEventButtonDelete(button, tableLanguage) {
button.addEventListener('click', (e) => {
e.target.parentElement.parentElement.remove();
languagesHideShowButtonDelete(tableLanguage);
});
}
function languagesHideShowButtonDelete(tableLanguage) {
let buttons = tableLanguage.querySelectorAll('button.delete'),
display = 'inline-block';
if (buttons.length === 1) {
display = 'none';
}
buttons.forEach(function (button) {
button.style.display = display;
});
}
let languages = document.querySelectorAll('.table-languages');
if (languages.length > 0) {
languages.forEach(languagesEventListener);
}
})();
</script>
@endPushOnce

View File

@@ -0,0 +1,4 @@
<input class="form-control @error(\App\Helpers\Helpers::formatAttributeNameToRequestName($name)) is-invalid @enderror" name="{{ $name }}" type="{{ $type }}" value="{{ $value }}" required>
@error(\App\Helpers\Helpers::formatAttributeNameToRequestName($name))
<span class="invalid-feedback">{{ $message }}</span>
@enderror

View File

@@ -0,0 +1,34 @@
<td>
@if(isset($lang['id']))
<input type="hidden" name="{{ $name . '[items][' .$index . '][id]' }}" value="{{ $lang['id'] }}">
@endif
@include('components.volt.forms.languages.input', [
'value' => $lang['title'],
'name' => $name . '[items][' .$index . '][title]',
'type' => 'text',
])
</td>
<td>
@include('components.volt.forms.languages.input', [
'value' => $lang['code'],
'name' => $name . '[items][' . $index . '][code]',
'type' => 'text',
])
</td>
<td>
@include('components.volt.forms.languages.input', [
'value' => $lang['sort'],
'name' => $name . '[items][' . $index . '][sort]',
'type' => 'number',
])
</td>
<td class="align-middle">
@include('components.volt.forms.languages.radio', [
'value' => $index,
'checked' => $lang['is_default'],
'name' => $name . '[default]',
])
</td>
<td>
<button class="btn btn-danger delete" type="button">X</button>
</td>

View File

@@ -0,0 +1,4 @@
<input class="form-check-input @error(\App\Helpers\Helpers::formatAttributeNameToRequestName($name)) is-invalid @enderror" type="radio" @checked($checked) name="{{ $name }}" value="{{ $value }}">
@error(\App\Helpers\Helpers::formatAttributeNameToRequestName($name))
<span class="invalid-feedback">{{ $message }}</span>
@enderror

View File

@@ -0,0 +1,16 @@
<div class="mb-4">
<div class="h5 pb-3">{{ $title }}</div>
@error($requestName)
<span class="invalid-feedback d-block pb-3">{{ $message }}</span>
@enderror
<div class="row">
@foreach($list as $elementValue => $elementTitle)
<div class="form-check">
<input class="form-check-input" type="checkbox" name="{{ $name }}" value="{{ $elementValue }}" @checked(array_search($elementValue, $value) !== false) id="form-checkbox-{{ $requestName }}-{{ $loop->index }}">
<label class="form-check-label" for="form-checkbox-{{ $requestName }}-{{ $loop->index }}">
{{ $elementTitle }}
</label>
</div>
@endforeach
</div>
</div>

View File

@@ -0,0 +1,24 @@
<div class="pt-3">
<div class="h5 pb-3">{{ $title }}</div>
@error($requestName)
<span class="invalid-feedback d-block pb-3">{{ $message }}</span>
@enderror
@foreach($permissions as $mainPermission)
<div class="row ps-3">
<div class="mb-3">
<span class="h6 fw-bold">{{ $mainPermission->getTitle() }}</span>
</div>
<ul>
@foreach($mainPermission->getPermissions() as $keyPermission => $permission)
<li class="form-check">
<input class="form-check-input" type="checkbox" value="{{ $mainPermission->formatValue($keyPermission) }}" name="{{ $name }}" @checked($role->is_admin || $value->search($mainPermission->formatValue($keyPermission)) !== false) @disabled($role->is_admin) id="form-permission-{{ $requestName }}-{{ $mainPermission->name }}-{{ $keyPermission }}">
<label class="form-check-label" for="form-permission-{{ $requestName }}-{{ $mainPermission->name }}-{{ $keyPermission }}">
{{ $permission }}
</label>
</li>
@endforeach
</ul>
<hr>
</div>
@endforeach
</div>

View File

@@ -0,0 +1,12 @@
<div class="mb-4">
<label for="form-select-{{ $requestName }}">{{ $title }}</label>
<select id="form-select-{{ $requestName }}" aria-label="{{ $title }}" class="form-select @error($requestName) is-invalid @enderror" name="{{ $name }}" {{ $attributes }}>
{{ $slot }}
@foreach($list as $elementKey => $elementValue)
<option value="{{ $elementKey }}" @selected((string) $elementKey === (string) $value)>{{ $elementValue }}</option>
@endforeach
</select>
@error($requestName)
<span class="invalid-feedback">{{ $message }}</span>
@enderror
</div>

View File

@@ -0,0 +1,32 @@
<div class="upload-image mt-3 mb-4 rounded border border-1 p-3" data-morph="{{ $morph->value }}" data-storage-type="{{ $storageType->value }}" data-accepted-files="{{
$acceptedFiles->map(function (string $name) {
return '.' . $name;
})->implode(',')
}}">
<label>{{ $title }}</label>
<div>
<div class="mb-3 add-image" @if(\is_null($storage?->id)) style="display: none;" @endif>
<div class="position-relative d-inline-block">
<img class="img-fluid" src="{{ $storage->url ?? '' }}">
<button class="btn btn-danger m-0 add-image__remove position-absolute top-0 end-0" type="button">X</button>
</div>
</div>
<button class="btn btn-outline-primary upload-image__button" type="button">{{ __('Select images') }} ({{ $acceptedFiles->implode(', ') }})</button>
<div class="progress-wrapper" style="display: none">
<div class="progress-info">
<div class="progress-label">
<span class="text-success">{{ __('loading') }}</span>
</div>
<div class="progress-percentage">
<span class="upload-image__progressbar-text">0%</span>
</div>
</div>
<div class="progress">
<div class="progress-bar bg-success" role="progressbar" style="width: 0%;" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
<span class="invalid-feedback upload-image__error"></span>
<x-volt.forms.input-type-hidden :name="$name . '[file]'" class="save" :value="$storage->id ?? ''" />
<x-volt.forms.input-type-hidden :name="$name . '[delete]'" class="delete" value="0" />
</div>