mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2025-06-23 18:28:49 +02:00
Use the correct autocomplete type for non-part entities.
This commit is contained in:
parent
34053f6591
commit
4d78f8d4e8
2 changed files with 40 additions and 1 deletions
|
@ -24,10 +24,23 @@ declare(strict_types=1);
|
||||||
namespace App\Form;
|
namespace App\Form;
|
||||||
|
|
||||||
use App\Entity\Parameters\AbstractParameter;
|
use App\Entity\Parameters\AbstractParameter;
|
||||||
|
use App\Entity\Parameters\AttachmentTypeParameter;
|
||||||
|
use App\Entity\Parameters\CategoryParameter;
|
||||||
|
use App\Entity\Parameters\CurrencyParameter;
|
||||||
|
use App\Entity\Parameters\DeviceParameter;
|
||||||
|
use App\Entity\Parameters\FootprintParameter;
|
||||||
|
use App\Entity\Parameters\GroupParameter;
|
||||||
|
use App\Entity\Parameters\ManufacturerParameter;
|
||||||
|
use App\Entity\Parameters\PartParameter;
|
||||||
|
use App\Entity\Parameters\StorelocationParameter;
|
||||||
|
use App\Entity\Parameters\SupplierParameter;
|
||||||
|
use App\Entity\Parts\MeasurementUnit;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\NumberType;
|
use Symfony\Component\Form\Extension\Core\Type\NumberType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
use Symfony\Component\Form\FormInterface;
|
||||||
|
use Symfony\Component\Form\FormView;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
|
||||||
class ParameterType extends AbstractType
|
class ParameterType extends AbstractType
|
||||||
|
@ -117,6 +130,32 @@ class ParameterType extends AbstractType
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function finishView(FormView $view, FormInterface $form, array $options)
|
||||||
|
{
|
||||||
|
//By default use part parameters for autocomplete
|
||||||
|
$view->vars['type'] = 'part';
|
||||||
|
|
||||||
|
$map = [
|
||||||
|
PartParameter::class => 'part',
|
||||||
|
AttachmentTypeParameter::class => 'attachment_type',
|
||||||
|
CategoryParameter::class => 'category',
|
||||||
|
CurrencyParameter::class => 'currency',
|
||||||
|
DeviceParameter::class => 'device',
|
||||||
|
FootprintParameter::class => 'footprint',
|
||||||
|
GroupParameter::class => 'group',
|
||||||
|
ManufacturerParameter::class => 'manufacturer',
|
||||||
|
MeasurementUnit::class => 'measurement_unit',
|
||||||
|
StorelocationParameter::class => 'storelocation',
|
||||||
|
SupplierParameter::class => 'supplier',
|
||||||
|
];
|
||||||
|
|
||||||
|
if (isset($map[$options['data_class']])) {
|
||||||
|
$view->vars['type'] = $map[$options['data_class']];
|
||||||
|
}
|
||||||
|
|
||||||
|
parent::finishView($view, $form, $options); // TODO: Change the autogenerated stub
|
||||||
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver): void
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults([
|
$resolver->setDefaults([
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
|
|
||||||
{% block parameter_widget %}
|
{% block parameter_widget %}
|
||||||
{% import 'components/collection_type.macro.html.twig' as collection %}
|
{% import 'components/collection_type.macro.html.twig' as collection %}
|
||||||
<tr {{ stimulus_controller('pages/parameters_autocomplete', {"url": url('typeahead_parameters', {"query": "__QUERY__", "type": "part"})}) }}>
|
<tr {{ stimulus_controller('pages/parameters_autocomplete', {"url": url('typeahead_parameters', {"query": "__QUERY__", "type": form.vars["type"]})}) }}>
|
||||||
<td>{{ form_widget(form.name, {"attr": {"data-pages--parameters-autocomplete-target": "name"}}) }}{{ form_errors(form.name) }}</td>
|
<td>{{ form_widget(form.name, {"attr": {"data-pages--parameters-autocomplete-target": "name"}}) }}{{ form_errors(form.name) }}</td>
|
||||||
<td {{ stimulus_controller('pages/latex_preview') }}>{{ form_widget(form.symbol, {"attr": {"data-pages--parameters-autocomplete-target": "symbol", "data-pages--latex-preview-target": "input"}}) }}{{ form_errors(form.symbol) }}<span {{ stimulus_target('pages/latex_preview', 'preview') }}></span></td>
|
<td {{ stimulus_controller('pages/latex_preview') }}>{{ form_widget(form.symbol, {"attr": {"data-pages--parameters-autocomplete-target": "symbol", "data-pages--latex-preview-target": "input"}}) }}{{ form_errors(form.symbol) }}<span {{ stimulus_target('pages/latex_preview', 'preview') }}></span></td>
|
||||||
<td>{{ form_widget(form.value_min) }}{{ form_errors(form.value_min) }}</td>
|
<td>{{ form_widget(form.value_min) }}{{ form_errors(form.value_min) }}</td>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue