Skip to content

Commit a6bb407

Browse files
committed
Add new ViewModel EntitySelect
1 parent cbef8c8 commit a6bb407

2 files changed

Lines changed: 28 additions & 2 deletions

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php declare(strict_types=1);
2+
3+
namespace Loki\AdminComponents\ViewModel\Form\Field;
4+
5+
use Magento\Framework\View\Element\Block\ArgumentInterface;
6+
7+
class EntitySelect implements ArgumentInterface
8+
{
9+
10+
}

view/adminhtml/templates/form/field_type/entity_select.phtml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use Loki\AdminComponents\Component\Grid\GridRepository;
55
use Loki\AdminComponents\Component\Grid\GridViewModel;
66
use Loki\AdminComponents\Form\Field\Field;
77
use Loki\AdminComponents\Form\Field\FieldType\Input;
8+
use Loki\AdminComponents\ViewModel\Form\Field\EntitySelect;
89
use Loki\Components\Component\Component;
910
use Loki\Components\Component\ComponentContext;
1011
use Loki\Components\Factory\ViewModelFactory;
@@ -22,18 +23,33 @@ use Magento\Framework\View\Element\Template;
2223
/** @var Input $fieldType */
2324
/** @var TemplateRenderer $templateRenderer */
2425
/** @var ViewModelFactory $viewModelFactory */
26+
/** @var EntitySelect $entitySelect */
27+
28+
$entitySelect = $viewModelFactory->create(EntitySelect::class);
2529

2630
$field = $block->getField();
2731
$fieldAttributes = $field->getFieldAttributes();
2832
$fieldType = $field->getFieldType();
2933
$inputType = $fieldType->getInputType();
34+
3035
if (isset($fieldAttributes['type'])) {
3136
$inputType = $fieldAttributes['type'];
3237
unset($fieldAttributes['type']);
3338
}
3439

40+
$buttonLabel = $field->getButtonLabel();
41+
if (empty($buttonLabel)) {
42+
$buttonLabel = 'Select entity';
43+
}
44+
3545
/** @var Component $component */
36-
$block->setNamespace('customer_listing');
46+
$namespace = $field->getNamespace();
47+
if ($namespace) {
48+
$block->setNamespace($namespace);
49+
}
50+
51+
52+
3753
$block->setResourceModel(Customer::class);
3854
$block->setProvider(ObjectManager::getInstance()->get(Collection::class));
3955

@@ -72,7 +88,7 @@ $valueCode = $field->getScope() . '.' . $field->getCode();
7288
@change="<?= $escaper->escapeHtml($field->getAlpineSetter()) ?>"
7389
>
7490

75-
<button @click="showModalWrapper"><?= __('Select entity') ?></button>
91+
<button @click="showModalWrapper"><?= __($buttonLabel) ?></button>
7692
</div>
7793

7894
<template x-teleport="body">

0 commit comments

Comments
 (0)