Improved usability of part select element

This commit is contained in:
Jan Böhmer 2022-12-24 16:25:29 +01:00
parent 7558d57545
commit 64e7ce4ad6
3 changed files with 8 additions and 6 deletions

View file

@ -13,12 +13,13 @@ export default class extends Controller {
let settings = {
allowEmptyOption: true,
plugins: ['dropdown_input'],
searchField: "name",
searchField: ["name", "description", "category", "footprint"],
valueField: "id",
labelField: "name",
preload: "focus",
render: {
item: (data, escape) => {
return '<span>' + (data.image ? "<img style='height: 1.5rem;' ' src='" + data.image + "'/>" : "") + escape(data.name) + '</span>';
return '<span>' + (data.image ? "<img style='height: 1.5rem; margin-right: 5px;' ' src='" + data.image + "'/>" : "") + escape(data.name) + '</span>';
},
option: (data, escape) => {
if(data.text) {

View file

@ -136,14 +136,14 @@ class TypeaheadController extends AbstractController
* @param EntityManagerInterface $entityManager
* @return JsonResponse
*/
public function parts(string $query, EntityManagerInterface $entityManager, PartPreviewGenerator $previewGenerator,
AttachmentURLGenerator $attachmentURLGenerator): JsonResponse
public function parts(EntityManagerInterface $entityManager, PartPreviewGenerator $previewGenerator,
AttachmentURLGenerator $attachmentURLGenerator, string $query = ""): JsonResponse
{
$this->denyAccessUnlessGranted('@parts.read');
$repo = $entityManager->getRepository(Part::class);
$parts = $repo->autocompleteSearch($query);
$parts = $repo->autocompleteSearch($query, 100);
$data = [];
foreach ($parts as $part) {

View file

@ -72,11 +72,12 @@ class PartRepository extends NamedDBElementRepository
$qb = $this->createQueryBuilder('part');
$qb->select('part')
->leftJoin('part.category', 'category')
->leftJoin('part.footprint', 'footprint')
->where('part.name LIKE :query')
->orWhere('part.description LIKE :query')
->orWhere('category.name LIKE :query')
->orWhere('footprint.name LIKE :query')
;
$qb->setParameter('query', '%'.$query.'%');