mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 21:54:14 -08:00
07a92d20d7
* adds select2 placeholders to select lists To allow us to clear the selection on „select2“ selects, we need a placeholder attribute See: https://select2.org/placeholders * Removes empty option from multiple select select2 requires an empty option value on singular selects, but not on multiple selects. When selecting multiple options, this empty option would be shown as selectable otherwise, not clearing the selection. * Adds the option to clear select2 instances Sets the correct options to allow clearing of out select2 instances. The empty placeholder is required, since clearing only works when a placeholder ist set (event an empty one). See: https://select2.org/placeholders * Removes the „Clear selection“ option from select lists Since we can clear the select2 lists with their native clearing method, we can remove this hack * Updates generated assets (css/js)
52 lines
1.4 KiB
PHP
52 lines
1.4 KiB
PHP
<?php
|
|
namespace App\Http\Transformers;
|
|
use Illuminate\Pagination\LengthAwarePaginator;
|
|
|
|
/**
|
|
* Class SelectlistTransformer
|
|
*
|
|
* This handles the standardized formatting of the API response we need to provide for
|
|
* the rich (text and images) Select2 javascript.
|
|
*
|
|
* @package App\Http\Transformers
|
|
* @author [A. Gianotto] [<snipe@snipe.net>]
|
|
* @since [v4.0.16]
|
|
* @return \Illuminate\Http\Response
|
|
*/
|
|
|
|
class SelectlistTransformer
|
|
{
|
|
|
|
public function transformSelectlist (LengthAwarePaginator $select_items)
|
|
{
|
|
$items_array=[];
|
|
|
|
// Loop through the paginated collection to set the array values
|
|
foreach ($select_items as $select_item) {
|
|
$items_array[]= [
|
|
'id' => (int) $select_item->id,
|
|
'text' => ($select_item->use_text) ? e($select_item->use_text) : e($select_item->name),
|
|
'image' => ($select_item->use_image) ? e($select_item->use_image) : null,
|
|
|
|
];
|
|
|
|
}
|
|
|
|
$results = [
|
|
'items' => $items_array,
|
|
'pagination' =>
|
|
[
|
|
'more' => ($select_items->currentPage() >= $select_items->lastPage()) ? false : true,
|
|
'per_page' => $select_items->perPage()
|
|
],
|
|
'total_count' => $select_items->total(),
|
|
'page' => $select_items->currentPage(),
|
|
'page_count' => $select_items->lastPage()
|
|
];
|
|
|
|
return $results;
|
|
|
|
}
|
|
|
|
}
|