diff --git a/composer.json b/composer.json index 673f14f..f8e6202 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,6 @@ "require": { "php": ">=8.1", "oomphinc/composer-installers-extender": "^2.0", - "php-forge/html": "dev-main", "yii2-extensions/asset-bootstrap5": "dev-main", "yiisoft/yii2": "*" }, diff --git a/src/Summernote.php b/src/Summernote.php index 490c619..3a8eefa 100644 --- a/src/Summernote.php +++ b/src/Summernote.php @@ -5,10 +5,9 @@ namespace Yii2\Extensions\Summernote; use JsonException; -use PHPForge\Html\Helper\Utils; -use PHPForge\Html\TextArea; use Yii2\Extensions\Summernote\Asset\SummernoteAsset; use Yii; +use yii\helpers\Html; use yii\widgets\InputWidget; final class Summernote extends InputWidget @@ -29,7 +28,7 @@ public function init(): void $this->config = array_merge(['lang' => Yii::$app->language], $this->config); $this->id = $this->hasModel() - ? Utils::generateInputId($this->model->formName(), $this->attribute) + ? Html::getInputId($this->model, $this->attribute) : $this->getId() . '-summernote'; } @@ -76,21 +75,11 @@ private function registerClientScript(): void */ private function renderTextArea(): string { - unset($this->options['id']); - - $textArea = TextArea::widget()->attributes($this->options); + $this->options['id'] = $this->id; return match ($this->hasModel()) { - true => $textArea - ->content((string) $this->model->{$this->attribute}) - ->id($this->id) - ->name(Utils::generateInputName($this->model->formName(), $this->attribute)) - ->render(), - default => $textArea - ->content((string) $this->value) - ->id($this->id) - ->name($this->name) - ->render(), + true => Html::activeTextArea($this->model, $this->attribute, $this->options), + default => Html::textArea($this->name, $this->value, $this->options), }; } } diff --git a/tests/RenderTest.php b/tests/RenderTest.php index c766771..ab02263 100644 --- a/tests/RenderTest.php +++ b/tests/RenderTest.php @@ -91,7 +91,7 @@ public function testOptions(): void $this->assertSame( << + HTML, $filePond, );