- @foreach ($tabs as $value => $label)
+ @foreach ($tabs as $tab)
@endforeach
diff --git a/resources/views/livewire/permissions/index.blade.php b/resources/views/livewire/permissions.blade.php
similarity index 100%
rename from resources/views/livewire/permissions/index.blade.php
rename to resources/views/livewire/permissions.blade.php
diff --git a/resources/views/livewire/permissions/create-edit.blade.php b/resources/views/livewire/permissions/create-edit.blade.php
deleted file mode 100644
index 431d66b050..0000000000
--- a/resources/views/livewire/permissions/create-edit.blade.php
+++ /dev/null
@@ -1,21 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/views/livewire/roles/index.blade.php b/resources/views/livewire/roles.blade.php
similarity index 100%
rename from resources/views/livewire/roles/index.blade.php
rename to resources/views/livewire/roles.blade.php
diff --git a/resources/views/livewire/roles/create-edit.blade.php b/resources/views/livewire/roles/create-edit.blade.php
deleted file mode 100644
index 541609d028..0000000000
--- a/resources/views/livewire/roles/create-edit.blade.php
+++ /dev/null
@@ -1,21 +0,0 @@
-
\ No newline at end of file
diff --git a/resources/views/livewire/tabbed-form.blade.php b/resources/views/livewire/tabbed-form.blade.php
new file mode 100644
index 0000000000..96eaed68fa
--- /dev/null
+++ b/resources/views/livewire/tabbed-form.blade.php
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/resources/views/livewire/users/create-edit.blade.php b/resources/views/livewire/users/create-edit.blade.php
deleted file mode 100644
index 8b07f11660..0000000000
--- a/resources/views/livewire/users/create-edit.blade.php
+++ /dev/null
@@ -1,21 +0,0 @@
-
\ No newline at end of file
diff --git a/src/Filament.php b/src/Filament.php
index af61c3b4c9..6a17edc87a 100644
--- a/src/Filament.php
+++ b/src/Filament.php
@@ -5,6 +5,7 @@ namespace Filament;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\HtmlString;
+use Illuminate\Support\Str;
use League\Glide\Urls\UrlBuilderFactory;
class Filament {
@@ -176,4 +177,18 @@ class Filament {
$urlBuilder = UrlBuilderFactory::create(null, config('app.key'));
return route('filament.image', ['path' => ltrim($urlBuilder->getUrl($path, $manipulations), '/')]);
}
+
+ /**
+ * Format a label from a given value
+ *
+ * @param string $value
+ * @return string
+ */
+ public function formatLabel(string $value)
+ {
+ return Str::of($value)
+ ->replaceMatches('/[\-_]/', ' ')
+ ->title()
+ ->__toString();
+ }
}
diff --git a/src/Http/Components/Tabs.php b/src/Http/Components/Tabs.php
index deef95d959..e85588d285 100644
--- a/src/Http/Components/Tabs.php
+++ b/src/Http/Components/Tabs.php
@@ -6,13 +6,6 @@ use Illuminate\View\Component;
class Tabs extends Component
{
- /**
- * The initally selected tab.
- *
- * @var string
- */
- public $tab;
-
/**
* The tabs.
*
@@ -27,9 +20,8 @@ class Tabs extends Component
* @param array $tabs
* @return void
*/
- public function __construct(string $tab, array $tabs)
+ public function __construct(array $tabs)
{
- $this->tab = $tab;
$this->tabs = $tabs;
}
diff --git a/src/Http/Fields/Field.php b/src/Http/Fields/Field.php
index f0749d5eb7..7d863db2dd 100644
--- a/src/Http/Fields/Field.php
+++ b/src/Http/Fields/Field.php
@@ -4,6 +4,7 @@ namespace Filament\Http\Fields;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
+use Filament;
class Field
{
@@ -32,7 +33,7 @@ class Field
$this->key = 'form_data.'.$this->name;
$this->id = Str::slug($this->key);
$this->field_type = $this->getFieldType();
- $this->label = $this->formatLabel($name);
+ $this->label = Filament::formatLabel($name);
}
public static function make($name)
@@ -147,12 +148,4 @@ class Field
$baseName = class_basename(get_called_class());
return Str::of($baseName)->kebab();
}
-
- protected function formatLabel($value)
- {
- return Str::of($value)
- ->replaceMatches('/[\-_]/', ' ')
- ->title()
- ->__toString();
- }
}
diff --git a/src/Http/Livewire/PermissionCreate.php b/src/Http/Livewire/PermissionCreate.php
index e086e24512..fd1392ebdc 100644
--- a/src/Http/Livewire/PermissionCreate.php
+++ b/src/Http/Livewire/PermissionCreate.php
@@ -36,13 +36,13 @@ class PermissionCreate extends Component
public function render()
{
- $fields = $this->fields()->groupBy(function ($field, $key) {
+ $groupedFields = $this->fields()->groupBy(function ($field, $key) {
return $field->group;
});
- return view('filament::livewire.permissions.create-edit', [
+ return view('filament::livewire.tabbed-form', [
'title' => __('filament::permissions.create'),
- 'fields' => $fields,
+ 'groupedFields' => $groupedFields,
]);
}
}
diff --git a/src/Http/Livewire/PermissionEdit.php b/src/Http/Livewire/PermissionEdit.php
index 23e2e1af00..ef783fb32f 100644
--- a/src/Http/Livewire/PermissionEdit.php
+++ b/src/Http/Livewire/PermissionEdit.php
@@ -43,13 +43,13 @@ class PermissionEdit extends Component
public function render()
{
- $fields = $this->fields()->groupBy(function ($field, $key) {
+ $groupedFields = $this->fields()->groupBy(function ($field, $key) {
return $field->group;
});
- return view('filament::livewire.permissions.create-edit', [
+ return view('filament::livewire.tabbed-form', [
'title' => __('filament::permissions.edit'),
- 'fields' => $fields,
+ 'groupedFields' => $groupedFields,
]);
}
}
diff --git a/src/Http/Livewire/Permissions.php b/src/Http/Livewire/Permissions.php
index 587e5bb6a7..8098104105 100644
--- a/src/Http/Livewire/Permissions.php
+++ b/src/Http/Livewire/Permissions.php
@@ -21,7 +21,7 @@ class Permissions extends Component
$customPermissions = Permission::where('is_system', false)->get();
- return view('filament::livewire.permissions.index', [
+ return view('filament::livewire.permissions', [
'title' => __('filament::permissions.index'),
'permissions' => $permissions,
'customPermissions' => $customPermissions,
diff --git a/src/Http/Livewire/RoleCreate.php b/src/Http/Livewire/RoleCreate.php
index 8567ab874b..cd585ee7b4 100644
--- a/src/Http/Livewire/RoleCreate.php
+++ b/src/Http/Livewire/RoleCreate.php
@@ -36,13 +36,13 @@ class RoleCreate extends Component
public function render()
{
- $fields = $this->fields()->groupBy(function ($field, $key) {
+ $groupedFields = $this->fields()->groupBy(function ($field, $key) {
return $field->group;
});
- return view('filament::livewire.roles.create-edit', [
+ return view('filament::livewire.tabbed-form', [
'title' => __('filament::roles.create'),
- 'fields' => $fields,
+ 'groupedFields' => $groupedFields,
]);
}
}
diff --git a/src/Http/Livewire/RoleEdit.php b/src/Http/Livewire/RoleEdit.php
index e84e52fe19..fde08969ec 100644
--- a/src/Http/Livewire/RoleEdit.php
+++ b/src/Http/Livewire/RoleEdit.php
@@ -43,13 +43,13 @@ class RoleEdit extends Component
public function render()
{
- $fields = $this->fields()->groupBy(function ($field, $key) {
+ $groupedFields = $this->fields()->groupBy(function ($field, $key) {
return $field->group;
});
- return view('filament::livewire.roles.create-edit', [
+ return view('filament::livewire.tabbed-form', [
'title' => __('filament::roles.edit'),
- 'fields' => $fields,
+ 'groupedFields' => $groupedFields,
]);
}
}
diff --git a/src/Http/Livewire/Roles.php b/src/Http/Livewire/Roles.php
index 278c8b5062..8dfacba29a 100644
--- a/src/Http/Livewire/Roles.php
+++ b/src/Http/Livewire/Roles.php
@@ -20,7 +20,7 @@ class Roles extends Component
$allRoles = Role::all();
- return view('filament::livewire.roles.index', [
+ return view('filament::livewire.roles', [
'title' => __('filament::roles.index'),
'roles' => $roles,
'allRoles' => $allRoles,
diff --git a/src/Http/Livewire/UserCreate.php b/src/Http/Livewire/UserCreate.php
index 4568d61af8..061ce1a6de 100644
--- a/src/Http/Livewire/UserCreate.php
+++ b/src/Http/Livewire/UserCreate.php
@@ -32,13 +32,13 @@ class UserCreate extends Component
public function render()
{
- $fields = $this->fields()->groupBy(function ($field, $key) {
+ $groupedFields = $this->fields()->groupBy(function ($field, $key) {
return $field->group;
});
- return view('filament::livewire.users.create-edit', [
+ return view('filament::livewire.tabbed-form', [
'title' => __('filament::users.create'),
- 'fields' => $fields,
+ 'groupedFields' => $groupedFields,
]);
}
}
diff --git a/src/Http/Livewire/UserEdit.php b/src/Http/Livewire/UserEdit.php
index ac5626be2f..aee5c25155 100644
--- a/src/Http/Livewire/UserEdit.php
+++ b/src/Http/Livewire/UserEdit.php
@@ -49,10 +49,10 @@ class UserEdit extends Component
public function render()
{
- $fields = $this->fields()->groupBy(function ($field, $key) {
+ $groupedFields = $this->fields()->groupBy(function ($field, $key) {
return $field->group;
});
- return view('filament::livewire.users.create-edit', compact('fields'));
+ return view('filament::livewire.tabbed-form', compact('groupedFields'));
}
}