Skip to content

Commit 19e1509

Browse files
authored
Merge pull request #77 from awais-vteams/revert-75-revert-74-fix/livewire-stubs-case
Revert "Revert "Fix: Livewire stubs not found on Linux (case sensitivity)""
2 parents 785899c + 48ba62a commit 19e1509

File tree

5 files changed

+146
-0
lines changed

5 files changed

+146
-0
lines changed

src/stubs/livewire/create.stub

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+
use {{livewireNamespace}}\Forms\{{modelName}}Form;
6+
use {{modelNamespace}}\{{modelName}};
7+
use Livewire\Component;
8+
9+
class Create extends Component
10+
{
11+
public {{modelName}}Form $form;
12+
13+
public function mount({{modelName}} ${{modelNameLowerCase}})
14+
{
15+
$this->form->set{{modelName}}Model(${{modelNameLowerCase}});
16+
}
17+
18+
public function save()
19+
{
20+
$this->form->store();
21+
22+
return $this->redirectRoute('{{modelRoute}}.index', navigate: true);
23+
}
24+
25+
public function render()
26+
{
27+
return view('livewire.{{modelView}}.create');
28+
}
29+
}

src/stubs/livewire/edit.stub

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+
use {{livewireNamespace}}\Forms\{{modelName}}Form;
6+
use {{modelNamespace}}\{{modelName}};
7+
use Livewire\Component;
8+
9+
class Edit extends Component
10+
{
11+
public {{modelName}}Form $form;
12+
13+
public function mount({{modelName}} ${{modelNameLowerCase}})
14+
{
15+
$this->form->set{{modelName}}Model(${{modelNameLowerCase}});
16+
}
17+
18+
public function save()
19+
{
20+
$this->form->update();
21+
22+
return $this->redirectRoute('{{modelRoute}}.index', navigate: true);
23+
}
24+
25+
public function render()
26+
{
27+
return view('livewire.{{modelView}}.edit');
28+
}
29+
}

src/stubs/livewire/form.stub

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
namespace {{livewireNamespace}}\Forms;
4+
5+
use {{modelNamespace}}\{{modelName}};
6+
use Livewire\Form;
7+
8+
class {{modelName}}Form extends Form
9+
{
10+
public ?{{modelName}} ${{modelNameLowerCase}}Model;
11+
{{livewireFormProperties}}
12+
13+
public function rules(): array
14+
{
15+
return [{{rules}}
16+
];
17+
}
18+
19+
public function set{{modelName}}Model({{modelName}} ${{modelNameLowerCase}}Model): void
20+
{
21+
$this->{{modelNameLowerCase}}Model = ${{modelNameLowerCase}}Model;
22+
{{livewireFormSetValues}}
23+
}
24+
25+
public function store(): void
26+
{
27+
$this->{{modelNameLowerCase}}Model->create($this->validate());
28+
29+
$this->reset();
30+
}
31+
32+
public function update(): void
33+
{
34+
$this->{{modelNameLowerCase}}Model->update($this->validate());
35+
36+
$this->reset();
37+
}
38+
}

src/stubs/livewire/index.stub

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+
use {{modelNamespace}}\{{modelName}};
6+
use Illuminate\View\View;
7+
use Livewire\Component;
8+
use Livewire\WithPagination;
9+
10+
class Index extends Component
11+
{
12+
use WithPagination;
13+
14+
public function render(): View
15+
{
16+
${{modelNamePluralLowerCase}} = {{modelName}}::paginate();
17+
18+
return view('livewire.{{modelView}}.index', compact('{{modelNamePluralLowerCase}}'))
19+
->with('i', $this->getPage() * ${{modelNamePluralLowerCase}}->perPage());
20+
}
21+
22+
public function delete({{modelName}} ${{modelNameLowerCase}})
23+
{
24+
${{modelNameLowerCase}}->delete();
25+
26+
return $this->redirectRoute('{{modelRoute}}.index', navigate: true);
27+
}
28+
}

src/stubs/livewire/show.stub

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+
use {{livewireNamespace}}\Forms\{{modelName}}Form;
6+
use {{modelNamespace}}\{{modelName}};
7+
use Livewire\Component;
8+
9+
class Show extends Component
10+
{
11+
public {{modelName}}Form $form;
12+
13+
public function mount({{modelName}} ${{modelNameLowerCase}})
14+
{
15+
$this->form->set{{modelName}}Model(${{modelNameLowerCase}});
16+
}
17+
18+
public function render()
19+
{
20+
return view('livewire.{{modelView}}.show', ['{{modelNameLowerCase}}' => $this->form->{{modelNameLowerCase}}Model]);
21+
}
22+
}

0 commit comments

Comments
 (0)