Skip to content

Commit 011a019

Browse files
committed
fix: Add hidden-attribute to field-blocks
1 parent 70bec51 commit 011a019

3 files changed

Lines changed: 24 additions & 3 deletions

File tree

Form/Field/Field.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
namespace Loki\AdminComponents\Form\Field;
55

66
use Loki\AdminComponents\Form\Field\FieldType\Editor;
7+
use Loki\AdminComponents\Form\Field\FieldType\Input;
78
use Magento\Framework\DataObject;
89
use Magento\Framework\View\Element\AbstractBlock;
910
use RuntimeException;
@@ -84,6 +85,10 @@ public function getFieldAttributes(): array
8485
$fieldAttributes['required'] = null;
8586
}
8687

88+
if ($this->isHidden() && $this->getFieldType() instanceof Input) {
89+
$fieldAttributes['type'] = 'hidden';
90+
}
91+
8792
return $fieldAttributes;
8893
}
8994

@@ -107,4 +112,14 @@ public function isVisible(): bool
107112

108113
return true;
109114
}
115+
116+
public function isHidden(): bool
117+
{
118+
$hidden = $this->getData('hidden');
119+
if (is_bool($hidden)) {
120+
return $hidden;
121+
}
122+
123+
return false;
124+
}
110125
}

view/adminhtml/templates/form/field.phtml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,20 @@ if (false === $field->isVisible()) {
3434
return;
3535
}
3636

37+
$cssClass[] = 'admin__field';
38+
if ($field->isHidden()) {
39+
$cssClass[] = 'hidden';
40+
}
41+
3742
$depends = $field->getDepends();
3843
$dependStatement = '';
3944
if (!empty($depends)) {
4045
$dependStatement = 'x-show="item.'.$depends['propertyName'] . " == '".$depends['propertyValue']."'\"";
4146
}
47+
48+
$cssClass = implode(' ', $cssClass);
4249
?>
43-
<div class="admin__field" <?= $escaper->escapeHtml($dependStatement) ?>>
50+
<div class="<?= $cssClass ?>" <?= $escaper->escapeHtml($dependStatement) ?>>
4451
<div class="admin__field-label">
4552
<label for="<?= $escaper->escapeHtml($field->getCode()) ?>">
4653
<span><?= $escaper->escapeHtml($field->getLabel()) ?></span>

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
<?php
22
declare(strict_types=1);
33

4-
/** @version 0.5.1 */
5-
64
use Magento\Framework\Escaper;
75
use Magento\Framework\View\Element\Template;
86
use Loki\AdminComponents\Form\Field\Field;
97
use Loki\AdminComponents\Form\Field\FieldType\Input;
108
use Loki\Components\Util\Block\TemplateRenderer;
119

10+
/** @version 0.5.1 */
1211
/** @var Escaper $escaper */
1312
/** @var Template $block */
1413
/** @var Field $field */

0 commit comments

Comments
 (0)