Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
danharrin committed Mar 27, 2024
1 parent 03cea4b commit 6a706a5
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 10 deletions.
4 changes: 2 additions & 2 deletions docs/dist/3.x/panels/resources/creating-records/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1079,12 +1079,12 @@ <h2 id="lifecycle-hooks"><a class="heading-anchor" href="#lifecycle-hooks"><span
<p>Alternatively, if you&#39;re creating records in a modal action, check out the <a href="../../actions/prebuilt-actions/create#lifecycle-hooks">Actions documentation</a>.</p>
<h2 id="halting-the-creation-process"><a class="heading-anchor" href="#halting-the-creation-process"><span class="heading-anchor-icon" aria-hidden="true">#</span></a>Halting the creation process</h2>
<p>At any time, you may call <code>$this-&gt;halt()</code> from inside a lifecycle hook or mutation method, which will halt the entire creation process:</p>
<pre class="torchlight" style="background-color: #292D3E; --theme-selection-background: #00000080;" data-torchlight-processed="3449c9e5e332f1dbb81505cd739fbf3f"><code class="language-php"><!-- Syntax highlighted by torchlight.dev --><div class='line'><span style="color: #F78C6C;">use</span><span style="color: #FFCB6B;"> </span><span style="color: #A6ACCD;">Filament</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Notifications</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Actions</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Action</span><span style="color: #89DDFF;">;</span></div><div class='line'><span style="color: #F78C6C;">use</span><span style="color: #FFCB6B;"> </span><span style="color: #A6ACCD;">Filament</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Notifications</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Notification</span><span style="color: #89DDFF;">;</span></div><div class='line'>&nbsp;</div><div class='line'><span style="color: #C792EA;">protected</span><span style="color: #A6ACCD;"> </span><span style="color: #C792EA;">function</span><span style="color: #A6ACCD;"> </span><span style="color: #82AAFF;">beforeCreate</span><span style="color: #89DDFF;">():</span><span style="color: #A6ACCD;"> </span><span style="color: #F78C6C;">void</span></div><div class='line'><span style="color: #89DDFF;">{</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">if</span><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">(!</span><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">$this-&gt;</span><span style="color: #82AAFF;">getRecord</span><span style="color: #89DDFF;">()-&gt;</span><span style="color: #A6ACCD;">team</span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">subscribed</span><span style="color: #89DDFF;">())</span><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">{</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #FFCB6B;">Notification</span><span style="color: #89DDFF;">::</span><span style="color: #82AAFF;">make</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">warning</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">title</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">You don</span><span style="color: #A6ACCD;">\&#39;</span><span style="color: #C3E88D;">t have an active subscription!</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">)</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">body</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">Choose a plan to continue.</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">)</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">persistent</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">actions</span><span style="color: #89DDFF;">([</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #FFCB6B;">Action</span><span style="color: #89DDFF;">::</span><span style="color: #82AAFF;">make</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">subscribe</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">)</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">button</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">url</span><span style="color: #89DDFF;">(</span><span style="color: #82AAFF;">route</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">subscribe</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">),</span><span style="color: #A6ACCD;"> </span><span style="color: #FFCB6B;">shouldOpenInNewTab</span><span style="color: #89DDFF;">:</span><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">true),</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">])</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">send</span><span style="color: #89DDFF;">();</span></div><div class='line'><span style="color: #A6ACCD;"> </span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">$this-&gt;</span><span style="color: #82AAFF;">halt</span><span style="color: #89DDFF;">();</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">}</span></div><div class='line'><span style="color: #89DDFF;">}</span></div><textarea data-torchlight-original="true" style="display: none !important;">use Filament\Notifications\Actions\Action;
<pre class="torchlight" style="background-color: #292D3E; --theme-selection-background: #00000080;" data-torchlight-processed="3449c9e5e332f1dbb81505cd739fbf3f"><code class="language-php"><!-- Syntax highlighted by torchlight.dev --><div class='line'><span style="color: #F78C6C;">use</span><span style="color: #FFCB6B;"> </span><span style="color: #A6ACCD;">Filament</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Notifications</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Actions</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Action</span><span style="color: #89DDFF;">;</span></div><div class='line'><span style="color: #F78C6C;">use</span><span style="color: #FFCB6B;"> </span><span style="color: #A6ACCD;">Filament</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Notifications</span><span style="color: #89DDFF;">\</span><span style="color: #A6ACCD;">Notification</span><span style="color: #89DDFF;">;</span></div><div class='line'>&nbsp;</div><div class='line'><span style="color: #C792EA;">protected</span><span style="color: #A6ACCD;"> </span><span style="color: #C792EA;">function</span><span style="color: #A6ACCD;"> </span><span style="color: #82AAFF;">beforeCreate</span><span style="color: #89DDFF;">():</span><span style="color: #A6ACCD;"> </span><span style="color: #F78C6C;">void</span></div><div class='line'><span style="color: #89DDFF;">{</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">if</span><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">(!</span><span style="color: #A6ACCD;"> </span><span style="color: #82AAFF;">auth</span><span style="color: #89DDFF;">()-&gt;</span><span style="color: #82AAFF;">user</span><span style="color: #89DDFF;">()-&gt;</span><span style="color: #A6ACCD;">team</span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">subscribed</span><span style="color: #89DDFF;">())</span><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">{</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #FFCB6B;">Notification</span><span style="color: #89DDFF;">::</span><span style="color: #82AAFF;">make</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">warning</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">title</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">You don</span><span style="color: #A6ACCD;">\&#39;</span><span style="color: #C3E88D;">t have an active subscription!</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">)</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">body</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">Choose a plan to continue.</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">)</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">persistent</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">actions</span><span style="color: #89DDFF;">([</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #FFCB6B;">Action</span><span style="color: #89DDFF;">::</span><span style="color: #82AAFF;">make</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">subscribe</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">)</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">button</span><span style="color: #89DDFF;">()</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">url</span><span style="color: #89DDFF;">(</span><span style="color: #82AAFF;">route</span><span style="color: #89DDFF;">(</span><span style="color: #89DDFF;">&#39;</span><span style="color: #C3E88D;">subscribe</span><span style="color: #89DDFF;">&#39;</span><span style="color: #89DDFF;">),</span><span style="color: #A6ACCD;"> </span><span style="color: #FFCB6B;">shouldOpenInNewTab</span><span style="color: #89DDFF;">:</span><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">true),</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">])</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">-&gt;</span><span style="color: #82AAFF;">send</span><span style="color: #89DDFF;">();</span></div><div class='line'><span style="color: #A6ACCD;"> </span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">$this-&gt;</span><span style="color: #82AAFF;">halt</span><span style="color: #89DDFF;">();</span></div><div class='line'><span style="color: #A6ACCD;"> </span><span style="color: #89DDFF;">}</span></div><div class='line'><span style="color: #89DDFF;">}</span></div><textarea data-torchlight-original="true" style="display: none !important;">use Filament\Notifications\Actions\Action;
use Filament\Notifications\Notification;

protected function beforeCreate(): void
{
if (! $this-&gt;getRecord()-&gt;team-&gt;subscribed()) {
if (! auth()-&gt;user()-&gt;team-&gt;subscribed()) {
Notification::make()
-&gt;warning()
-&gt;title('You don\'t have an active subscription!')
Expand Down
Loading

0 comments on commit 6a706a5

Please sign in to comment.