mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-31 15:24:31 +03:00
Reorgranised blade view files to form a convention
- Primarily moved and re-organised view files. - Included readme within views to document the convention. - Fixed some issues with page field select list in previous commit. - Tweaked some route names while going through. - Split some views out further. Closes #2805
This commit is contained in:
@ -4,7 +4,7 @@ $label
|
||||
$errors?
|
||||
$model?
|
||||
--}}
|
||||
@include('components.custom-checkbox', [
|
||||
@include('form.custom-checkbox', [
|
||||
'name' => $name,
|
||||
'label' => $label,
|
||||
'value' => 'true',
|
||||
|
13
resources/views/form/custom-checkbox.blade.php
Normal file
13
resources/views/form/custom-checkbox.blade.php
Normal file
@ -0,0 +1,13 @@
|
||||
{{--
|
||||
$name
|
||||
$value
|
||||
$checked
|
||||
$label
|
||||
--}}
|
||||
<label custom-checkbox class="toggle-switch @if($errors->has($name)) text-neg @endif">
|
||||
<input type="checkbox" name="{{$name}}" value="{{ $value }}" @if($checked) checked="checked" @endif>
|
||||
<span tabindex="0" role="checkbox"
|
||||
aria-checked="{{ $checked ? 'true' : 'false' }}"
|
||||
class="custom-checkbox text-primary">@icon('check')</span>
|
||||
<span class="label">{{$label}}</span>
|
||||
</label>
|
15
resources/views/form/dropzone.blade.php
Normal file
15
resources/views/form/dropzone.blade.php
Normal file
@ -0,0 +1,15 @@
|
||||
{{--
|
||||
@url - URL to upload to.
|
||||
@placeholder - Placeholder text
|
||||
@successMessage
|
||||
--}}
|
||||
<div component="dropzone"
|
||||
option:dropzone:url="{{ $url }}"
|
||||
option:dropzone:success-message="{{ $successMessage ?? '' }}"
|
||||
option:dropzone:remove-message="{{ trans('components.image_upload_remove') }}"
|
||||
option:dropzone:upload-limit-message="{{ trans('errors.server_upload_limit') }}"
|
||||
option:dropzone:timeout-message="{{ trans('errors.file_upload_timeout') }}"
|
||||
|
||||
class="dropzone-container text-center">
|
||||
<button type="button" class="dz-message">{{ $placeholder }}</button>
|
||||
</div>
|
@ -15,7 +15,7 @@
|
||||
<div>
|
||||
<div class="form-group">
|
||||
<label for="owner">{{ trans('entities.permissions_owner') }}</label>
|
||||
@include('components.user-select', ['user' => $model->ownedBy, 'name' => 'owned_by', 'compact' => false])
|
||||
@include('form.user-select', ['user' => $model->ownedBy, 'name' => 'owned_by', 'compact' => false])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
32
resources/views/form/image-picker.blade.php
Normal file
32
resources/views/form/image-picker.blade.php
Normal file
@ -0,0 +1,32 @@
|
||||
<div class="image-picker @if($errors->has($name)) has-error @endif"
|
||||
image-picker="{{$name}}"
|
||||
data-default-image="{{ $defaultImage }}">
|
||||
|
||||
<div class="grid half">
|
||||
<div class="text-center">
|
||||
<img @if($currentImage && $currentImage !== 'none') src="{{$currentImage}}" @else src="{{$defaultImage}}" @endif class="{{$imageClass}} @if($currentImage=== 'none') none @endif" alt="{{ trans('components.image_preview') }}">
|
||||
</div>
|
||||
<div class="text-center">
|
||||
|
||||
<input type="file" class="custom-file-input" accept="image/*" name="{{ $name }}" id="{{ $name }}">
|
||||
<label for="{{ $name }}" class="button outline">{{ trans('components.image_select_image') }}</label>
|
||||
<input type="hidden" data-reset-input name="{{ $name }}_reset" value="true" disabled="disabled">
|
||||
@if(isset($removeName))
|
||||
<input type="hidden" data-remove-input name="{{ $removeName }}" value="{{ $removeValue }}" disabled="disabled">
|
||||
@endif
|
||||
|
||||
<br>
|
||||
<button class="text-button text-muted" data-action="reset-image" type="button">{{ trans('common.reset') }}</button>
|
||||
|
||||
@if(isset($removeName))
|
||||
<span class="sep">|</span>
|
||||
<button class="text-button text-muted" data-action="remove-image" type="button">{{ trans('common.remove') }}</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($errors->has($name))
|
||||
<div class="text-neg text-small">{{ $errors->first($name) }}</div>
|
||||
@endif
|
||||
|
||||
</div>
|
@ -5,7 +5,7 @@ $role
|
||||
$action
|
||||
$model?
|
||||
--}}
|
||||
@include('components.custom-checkbox', [
|
||||
@include('form.custom-checkbox', [
|
||||
'name' => $name . '[' . $role->id . '][' . $action . ']',
|
||||
'label' => $label,
|
||||
'value' => 'true',
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="toggle-switch-list dual-column-content">
|
||||
@foreach($roles as $role)
|
||||
<div>
|
||||
@include('components.custom-checkbox', [
|
||||
@include('form.custom-checkbox', [
|
||||
'name' => $name . '[' . strval($role->id) . ']',
|
||||
'label' => $role->display_name,
|
||||
'value' => $role->id,
|
||||
|
8
resources/views/form/toggle-switch.blade.php
Normal file
8
resources/views/form/toggle-switch.blade.php
Normal file
@ -0,0 +1,8 @@
|
||||
<label toggle-switch="{{$name}}" custom-checkbox class="toggle-switch">
|
||||
<input type="hidden" name="{{$name}}" value="{{$value?'true':'false'}}"/>
|
||||
<input type="checkbox" @if($value) checked="checked" @endif>
|
||||
<span tabindex="0" role="checkbox"
|
||||
aria-checked="{{ $value ? 'true' : 'false' }}"
|
||||
class="custom-checkbox text-primary">@icon('check')</span>
|
||||
<span class="label">{{ $label }}</span>
|
||||
</label>
|
9
resources/views/form/user-select-list.blade.php
Normal file
9
resources/views/form/user-select-list.blade.php
Normal file
@ -0,0 +1,9 @@
|
||||
<a href="#" class="flex-container-row items-center dropdown-search-item" data-id="">
|
||||
<span>{{ trans('settings.users_none_selected') }}</span>
|
||||
</a>
|
||||
@foreach($users as $user)
|
||||
<a href="#" class="flex-container-row items-center dropdown-search-item" data-id="{{ $user->id }}">
|
||||
<img class="avatar mr-m" src="{{ $user->getAvatar(30) }}" alt="{{ $user->name }}">
|
||||
<span>{{ $user->name }}</span>
|
||||
</a>
|
||||
@endforeach
|
34
resources/views/form/user-select.blade.php
Normal file
34
resources/views/form/user-select.blade.php
Normal file
@ -0,0 +1,34 @@
|
||||
<div class="dropdown-search custom-select-input" components="dropdown dropdown-search user-select"
|
||||
option:dropdown-search:url="/search/users/select"
|
||||
>
|
||||
<input refs="user-select@input" type="hidden" name="{{ $name }}" value="{{ $user->id ?? '' }}">
|
||||
<div refs="dropdown@toggle"
|
||||
class="dropdown-search-toggle {{ $compact ? 'compact' : '' }} flex-container-row items-center"
|
||||
aria-haspopup="true" aria-expanded="false" tabindex="0">
|
||||
<div refs="user-select@user-info" class="flex-container-row items-center px-s">
|
||||
@if($user)
|
||||
<img class="avatar small mr-m" src="{{ $user->getAvatar($compact ? 22 : 30) }}" alt="{{ $user->name }}">
|
||||
<span>{{ $user->name }}</span>
|
||||
@else
|
||||
<span>{{ trans('settings.users_none_selected') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<span style="font-size: {{ $compact ? '1.15rem' : '1.5rem' }}; margin-left: auto;">
|
||||
@icon('caret-down')
|
||||
</span>
|
||||
</div>
|
||||
<div refs="dropdown@menu" class="dropdown-search-dropdown card" role="menu">
|
||||
<div class="dropdown-search-search">
|
||||
@icon('search')
|
||||
<input refs="dropdown-search@searchInput"
|
||||
aria-label="{{ trans('common.search') }}"
|
||||
autocomplete="off"
|
||||
placeholder="{{ trans('common.search') }}"
|
||||
type="text">
|
||||
</div>
|
||||
<div refs="dropdown-search@loading" class="text-center">
|
||||
@include('common.loading-icon')
|
||||
</div>
|
||||
<div refs="dropdown-search@listContainer" class="dropdown-search-list"></div>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user