Skip to content

Commit a1ebdcc

Browse files
committed
Core Base, Item wip
1 parent a7171f2 commit a1ebdcc

File tree

107 files changed

+495
-221
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+495
-221
lines changed

packages/audit/src/Resources/AuditResource.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
use Moox\Audit\Resources\AuditResource\Pages\ListAudits;
1818
use Moox\Audit\Resources\AuditResource\Pages\ViewAudit;
1919
use Moox\Core\Traits\Base\BaseInResource;
20-
use Moox\Core\Traits\Tabs\TabsInResource;
20+
use Moox\Core\Traits\Tabs\HasResourceTabs;
2121
use Override;
2222
use Spatie\Activitylog\Models\Activity;
2323

2424
class AuditResource extends Resource
2525
{
2626
use BaseInResource;
27-
use TabsInResource;
27+
use HasResourceTabs;
2828

2929
protected static ?string $model = Activity::class;
3030

packages/audit/src/Resources/AuditResource/Pages/ListAudits.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44

55
use Filament\Resources\Pages\ListRecords;
66
use Moox\Audit\Resources\AuditResource;
7-
use Moox\Core\Traits\Tabs\TabsInListPage;
7+
use Moox\Core\Traits\Tabs\HasListPageTabs;
88
use Spatie\Activitylog\Models\Activity;
99

1010
class ListAudits extends ListRecords
1111
{
12-
use TabsInListPage;
12+
use HasListPageTabs;
1313

1414
protected static string $resource = AuditResource::class;
1515

packages/category/src/Resources/CategoryResource.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@
3434
use Moox\Category\Resources\CategoryResource\Pages\ListCategories;
3535
use Moox\Category\Resources\CategoryResource\Pages\ViewCategory;
3636
use Moox\Core\Traits\Base\BaseInResource;
37-
use Moox\Core\Traits\Tabs\TabsInResource;
37+
use Moox\Core\Traits\Tabs\HasResourceTabs;
3838
use Override;
3939

4040
// use Moox\Core\Forms\Components\TitleWithSlugInput;
4141

4242
class CategoryResource extends Resource
4343
{
4444
use BaseInResource;
45-
use TabsInResource;
45+
use HasResourceTabs;
4646

4747
protected static ?string $model = Category::class;
4848

packages/category/src/Resources/CategoryResource/Pages/ListCategories.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
use Filament\Resources\Pages\ListRecords;
1111
use Moox\Category\Models\Category;
1212
use Moox\Category\Resources\CategoryResource;
13-
use Moox\Core\Traits\Tabs\TabsInListPage;
13+
use Moox\Core\Traits\Tabs\HasListPageTabs;
1414
use Override;
1515

1616
class ListCategories extends ListRecords
1717
{
18-
use TabsInListPage;
18+
use HasListPageTabs;
1919

2020
public static string $resource = CategoryResource::class;
2121

packages/core/README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Moox Core requires these packages:
4747

4848
## Traits
4949

50-
### TabsInListPage
50+
### HasListPageTabs
5151

5252
This trait provides functionality for creating dynamic tabs in Filament resources.
5353

@@ -60,11 +60,11 @@ This trait provides functionality for creating dynamic tabs in Filament resource
6060
The DynamicTabs trait is already implemented in all Moox packages including Moox Builder. If you want to implement this feature in your existing package:
6161

6262
```php
63-
use Moox\Core\Traits\Tabs\TabsInListPage;
63+
use Moox\Core\Traits\Tabs\HasListPageTabs;
6464

6565
class ListItems extends ListRecords
6666
{
67-
use TabsInListPage;
67+
use HasListPageTabs;
6868

6969
public function getTabs(): array
7070
{
@@ -345,7 +345,7 @@ And finally the most-known mistake, throws "Cannot access offset of type string
345345

346346
So don't forget to put the query in an extra array, even if it is a single query.
347347

348-
As mentioned, the QueriesInConfig trait is used in TabsInListPage, another Trait in Moox Core. Please code dive there, to see how to implement the Feature from outside Moox.
348+
As mentioned, the QueriesInConfig trait is used in HasListPageTabs, another Trait in Moox Core. Please code dive there, to see how to implement the Feature from outside Moox.
349349

350350
### TranslatableConfig
351351

@@ -447,7 +447,7 @@ As [Google Material Design Icons](https://blade-ui-kit.com/blade-icons?set=20) p
447447

448448
You can disable Google Icons and use the Filament default icons instead, see [config](#Config).
449449

450-
### TaxonomyInModel
450+
### HasModelTaxonomy
451451

452452
This trait provides functionality for models to work with dynamic taxonomies.
453453

@@ -459,11 +459,11 @@ This trait provides functionality for models to work with dynamic taxonomies.
459459
#### Usage
460460

461461
```php
462-
use Moox\Core\Traits\Taxonomy\TaxonomyInModel;
462+
use Moox\Core\Traits\Taxonomy\HasModelTaxonomy;
463463

464464
class YourItem extends Model
465465
{
466-
use TaxonomyInModel;
466+
use HasModelTaxonomy;
467467

468468
protected function getResourceName(): string
469469
{
@@ -499,7 +499,7 @@ class YourItem extends Model
499499
> We do not soft-delete the polymorphics, so if you restore a Taxonomy, these are lost.
500500
```
501501

502-
### TaxonomyInResource
502+
### HasResourceTaxonomy
503503

504504
This trait provides methods for generating Filament form fields, table columns, and filters for dynamic taxonomies.
505505

@@ -513,11 +513,11 @@ This trait provides methods for generating Filament form fields, table columns,
513513
#### Usage
514514

515515
```php
516-
use Moox\Core\Traits\Taxonomy\TaxonomyInResource;
516+
use Moox\Core\Traits\Taxonomy\HasResourceTaxonomy;
517517

518518
class YourResource extends Resource
519519
{
520-
use TaxonomyInResource;
520+
use HasResourceTaxonomy;
521521

522522
public static function form(Form $form): Form
523523
{
@@ -542,7 +542,7 @@ class YourResource extends Resource
542542
}
543543
```
544544

545-
### TaxonomyInPages
545+
### HasPagesTaxonomy
546546

547547
This trait provides methods for handling dynamic taxonomies in Filament resource pages.
548548

@@ -555,11 +555,11 @@ This trait provides methods for handling dynamic taxonomies in Filament resource
555555
#### Usage
556556

557557
```php
558-
use Moox\Core\Traits\Taxonomy\TaxonomyInPages;
558+
use Moox\Core\Traits\Taxonomy\HasPagesTaxonomy;
559559

560560
class EditYourModel extends EditRecord
561561
{
562-
use TaxonomyInPages;
562+
use HasPagesTaxonomy;
563563

564564
// ... other page code ...
565565
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Implementation
2+
3+
The implementation guide covers all the possible ways to implement the Moox Core package.
4+
5+
## Base Entities
6+
7+
Moox Core ships base entities that can be used to create new entities:
8+
9+
### Item Entity
10+
11+
The Item Entity is implemented in our Single Entity Package [Moox Item](https://github.com/mooxphp/item). You can use the `php artisan moox:build` command to create a new item entity. This is the manual way to implement the Item Entity:
12+
13+
#### Item Model
14+
15+
```php
16+
use Moox\Core\Entities\Items\Item\MooxModel;
17+
18+
class Item extends MooxModel {}
19+
```
20+
21+
### Item Resource
22+
23+
```php
24+
use Moox\Core\Entities\BaseResource;
25+
26+
class ItemResource extends Resource
27+
{
28+
// your resource
29+
}
30+
```
31+
32+
### Item Pages
33+
34+
```php
35+
use Moox\Core\Entities\Items\Item\Pages\MooxCreatePage;
36+
use Moox\Item\Moox\Entities\Items\ItemResource;
37+
38+
class CreatePage extends MooxCreatePage
39+
{
40+
protected static string $resource = ItemResource::class;
41+
}
42+
```
43+
44+
```php
45+
use Moox\Core\Entities\Items\Item\Pages\MooxEditPage;
46+
use Moox\Item\Moox\Entities\Items\ItemResource;
47+
48+
class EditPage extends MooxEditPage
49+
{
50+
protected static string $resource = ItemResource::class;
51+
}
52+
```
53+
54+
```php
55+
use Moox\Core\Entities\Items\Item\Pages\MooxListPage;
56+
use Moox\Item\Moox\Entities\Items\ItemResource;
57+
58+
class ListPage extends MooxListPage
59+
{
60+
protected static string $resource = ItemResource::class;
61+
}
62+
```
63+
64+
```php
65+
use Moox\Core\Entities\Items\Item\Pages\MooxViewPage;
66+
use Moox\Item\Moox\Entities\Items\ItemResource;
67+
68+
class ViewPage extends MooxViewPage
69+
{
70+
protected static string $resource = ItemResource::class;
71+
}
72+
```
73+
74+
## Core Traits
75+
76+
Moox Core ships with multiple traits that can be used to add functionality to entities:
77+
78+
### Has Tabs
79+
80+
### Has Taxonomy

packages/core/src/Entities/MooxBaseResource.php renamed to packages/core/src/Entities/BaseResource.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
use Illuminate\Database\Eloquent\SoftDeletes;
1717
use Illuminate\Database\Eloquent\SoftDeletingScope;
1818

19-
abstract class MooxBaseResource extends Resource
19+
abstract class BaseResource extends Resource
2020
{
2121
protected static function modifyEloquentQuery(Builder $query): Builder
2222
{

packages/core/src/Entities/Items/Item/MooxModel.php renamed to packages/core/src/Entities/Items/Item/ItemModel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Illuminate\Database\Eloquent\Model;
66

7-
class MooxModel extends Model
7+
class ItemModel extends Model
88
{
99
// nothing for now
1010
}

packages/core/src/Entities/Items/Item/MooxResource.php renamed to packages/core/src/Entities/Items/Item/ItemResource.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
namespace Moox\Core\Entities\Items\Item;
44

55
use Filament\Forms\Components\Actions;
6-
use Moox\Core\Entities\MooxBaseResource;
7-
use Moox\Core\Traits\Tabs\TabsInResource;
6+
use Moox\Core\Entities\BaseResource;
7+
use Moox\Core\Traits\Tabs\HasResourceTabs;
88

9-
abstract class MooxResource extends MooxBaseResource
9+
class ItemResource extends BaseResource
1010
{
11-
use TabsInResource;
11+
use HasResourceTabs;
1212

1313
public static function enableCreate(): bool
1414
{

packages/core/src/Entities/Items/Item/Pages/MooxCreatePage.php renamed to packages/core/src/Entities/Items/Item/Pages/ItemCreatePage.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use Illuminate\Database\Eloquent\SoftDeletes;
88
use Illuminate\Database\Eloquent\SoftDeletingScope;
99

10-
abstract class MooxCreatePage extends CreateRecord
10+
abstract class ItemCreatePage extends CreateRecord
1111
{
1212
protected function resolveRecord($key): Model
1313
{

0 commit comments

Comments
 (0)