diff --git a/CHANGELOG.md b/CHANGELOG.md index 958fcec..b4bfb57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,17 @@ -## [12.3.1](https://github.com/yajra/laravel-datatables-html/compare/v12.3.0...v12.3.1) (2025-10-07) +# [12.4.0](https://github.com/yajra/laravel-datatables-html/compare/v12.3.1...v12.4.0) (2025-10-07) -### Bug Fixes +### Features + +* column default content ([b9f1df4](https://github.com/yajra/laravel-datatables-html/commit/b9f1df477b96cb8756324a68c0b10057e8e9070a)) + +## [12.3.1](https://github.com/yajra/laravel-datatables-html/compare/v12.3.0...v12.3.1) (2025-10-07) -* cc footer search ([ad6f7a0](https://github.com/yajra/laravel-datatables-html/commit/ad6f7a0c2a3b573c4f10e63937aa16f03683dfdd)), closes [#3256](https://github.com/yajra/laravel-datatables-html/issues/3256) -# Laravel DataTables Html Plugin. +### Bug Fixes -## CHANGELOG +* cc footer search ([ad6f7a0](https://github.com/yajra/laravel-datatables-html/commit/ad6f7a0c2a3b573c4f10e63937aa16f03683dfdd)), closes [#3256](https://github.com/yajra/laravel-datatables/issues/3256) -### UNRELEASED ### v12.1.0 (2025-09-22) diff --git a/src/Html/Column.php b/src/Html/Column.php index 724e3f7..9da4280 100644 --- a/src/Html/Column.php +++ b/src/Html/Column.php @@ -595,6 +595,20 @@ public function exportFormat(string|callable $format): static return $this; } + /** + * Set column default content. + * + * @return $this + * + * @see https://datatables.net/reference/option/columns.defaultContent + */ + public function defaultContent(string $content): static + { + $this->attributes['defaultContent'] = $content; + + return $this; + } + public function toArray(): array { if (! $this->isAuthorized()) { diff --git a/tests/Html/Builder/BuilderTest.php b/tests/Html/Builder/BuilderTest.php index f1ea1cf..ab5cd5e 100644 --- a/tests/Html/Builder/BuilderTest.php +++ b/tests/Html/Builder/BuilderTest.php @@ -328,4 +328,21 @@ public function it_can_set_template_data(): void $builder->generateScripts()->toHtml() ); } + + #[Test] + public function it_can_set_column_default_content(): void + { + $builder = $this->getHtmlBuilder(); + + $builder->columns([ + Column::make('name'), + Column::make('email')->defaultContent('N/A'), + Column::make('age')->defaultContent(''), + ]); + + $this->assertCount(3, $builder->getColumns()); + $this->assertNull($builder->getColumns()[0]->defaultContent); + $this->assertEquals('N/A', $builder->getColumns()[1]->defaultContent); + $this->assertEquals('', $builder->getColumns()[2]->defaultContent); + } }