Skip to content

Commit ac571aa

Browse files
committed
2 parents 1c386b9 + 1d0c1b6 commit ac571aa

File tree

3 files changed

+18
-17
lines changed

3 files changed

+18
-17
lines changed
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
@if (config('backpack.base.show_powered_by') || config('backpack.base.developer_link'))
22
<div class="text-muted ml-auto mr-auto">
33
@if (config('backpack.base.developer_link') && config('backpack.base.developer_name'))
4-
{{ trans('backpack::base.handcrafted_by') }} <a target="_blank" href="{{ config('backpack.base.developer_link') }}">{{ config('backpack.base.developer_name') }}</a>.
4+
{{ trans('backpack::base.handcrafted_by') }} <a target="_blank" rel="noopener" href="{{ config('backpack.base.developer_link') }}">{{ config('backpack.base.developer_name') }}</a>.
55
@endif
66
@if (config('backpack.base.show_powered_by'))
7-
{{ trans('backpack::base.powered_by') }} <a target="_blank" href="http://backpackforlaravel.com?ref=panel_footer_link">Backpack for Laravel</a>.
7+
{{ trans('backpack::base.powered_by') }} <a target="_blank" rel="noopener" href="http://backpackforlaravel.com?ref=panel_footer_link">Backpack for Laravel</a>.
88
@endif
99
</div>
1010
@endif

src/resources/views/base/inc/main_header.blade.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<header class="{{ config('backpack.base.header_class') }}">
22
<!-- Logo -->
3-
<button class="navbar-toggler sidebar-toggler d-lg-none mr-auto ml-3" type="button" data-toggle="sidebar-show">
3+
<button class="navbar-toggler sidebar-toggler d-lg-none mr-auto ml-3" type="button" data-toggle="sidebar-show" aria-label="{{ trans('backpack::base.toggle_navigation')}}">
44
<span class="navbar-toggler-icon"></span>
55
</button>
6-
<a class="navbar-brand" href="{{ url(config('backpack.base.home_link')) }}">
6+
<a class="navbar-brand" href="{{ url(config('backpack.base.home_link')) }}" title="{{ config('backpack.base.project_name') }}">
77
{!! config('backpack.base.project_logo') !!}
88
</a>
9-
<button class="navbar-toggler sidebar-toggler d-md-down-none" type="button" data-toggle="sidebar-lg-show">
9+
<button class="navbar-toggler sidebar-toggler d-md-down-none" type="button" data-toggle="sidebar-lg-show" aria-label="{{ trans('backpack::base.toggle_navigation')}}">
1010
<span class="navbar-toggler-icon"></span>
1111
</button>
1212

src/resources/views/crud/fields/select2_multiple.blade.php

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
<!-- select2 multiple -->
22
@php
33
if (!isset($field['options'])) {
4-
$options = $field['model']::all();
4+
$field['options'] = $field['model']::all();
55
} else {
6-
$options = call_user_func($field['options'], $field['model']::query());
6+
$field['options'] = call_user_func($field['options'], $field['model']::query());
77
}
8-
$multiple = isset($field['multiple']) && $field['multiple']===false ? '': 'multiple';
8+
9+
//build option keys array to use with Select All in javascript.
10+
$model_instance = new $field['model'];
11+
$options_ids_array = $field['options']->pluck($model_instance->getKeyName())->toArray();
12+
13+
$field['multiple'] = $field['multiple'] ?? true;
914
@endphp
1015

1116
@include('crud::fields.inc.wrapper_start')
@@ -16,15 +21,16 @@
1621
style="width: 100%"
1722
data-init-function="bpFieldInitSelect2MultipleElement"
1823
data-select-all="{{ var_export($field['select_all'] ?? false)}}"
24+
data-options-for-js="{{json_encode(array_values($options_ids_array))}}"
1925
@include('crud::fields.inc.attributes', ['default_class' => 'form-control select2_multiple'])
20-
{{$multiple}}>
26+
{{ $field['multiple'] ? 'multiple' : '' }}>
2127

2228
@if (isset($field['allows_null']) && $field['allows_null']==true)
2329
<option value="">-</option>
2430
@endif
2531

2632
@if (isset($field['model']))
27-
@foreach ($options as $option)
33+
@foreach ($field['options'] as $option)
2834
@if( (old(square_brackets_to_dots($field["name"])) && in_array($option->getKey(), old($field["name"]))) || (is_null(old(square_brackets_to_dots($field["name"]))) && isset($field['value']) && in_array($option->getKey(), $field['value']->pluck($option->getKeyName(), $option->getKeyName())->toArray())))
2935
<option value="{{ $option->getKey() }}" selected>{{ $option->{$field['attribute']} }}</option>
3036
@else
@@ -72,19 +78,14 @@
7278
function bpFieldInitSelect2MultipleElement(element) {
7379
7480
var $select_all = element.attr('data-select-all');
75-
7681
if (!element.hasClass("select2-hidden-accessible"))
7782
{
7883
var $obj = element.select2({
7984
theme: "bootstrap"
8085
});
8186
82-
var options = [];
83-
@if (count($options))
84-
@foreach ($options as $option)
85-
options.push('{{ $option->getKey() }}');
86-
@endforeach
87-
@endif
87+
//get options ids stored in the field.
88+
var options = JSON.parse(element.attr('data-options-for-js'));
8889
8990
if($select_all) {
9091
element.parent().find('.clear').on("click", function () {

0 commit comments

Comments
 (0)