TextInput::make('title')
->required()
->maxLength(255)
->live($debounce = true)
->afterStateUpdated(function (Get $get, Set $set, ?string $operation, ?string $old, ?string $state, ?Model $record) {
if ($operation == 'edit' && $record->isPublished()) {
return;
}
if (($get('slug') ?? '') !== Str::slug($old)) {
return;
}
$set('slug', Str::slug($state));
}),
TextInput::make('slug')
->required()
->readOnly()
->maxLength(255),
Toggle::make('slug_is_editable')
->label('Edit Slug'),
TextInput::make('title')
->required()
->maxLength(255)
->live($debounce = true)
->afterStateUpdated(function (Get $get, Set $set, ?string $operation, ?string $old, ?string $state, ?Model $record) {
if ($operation == 'edit' && $record->isPublished()) {
return;
}
if (($get('slug') ?? '') !== Str::slug($old)) {
return;
}
$set('slug', Str::slug($state));
}),
TextInput::make('slug')
->required()
->readOnly()
->maxLength(255),
Toggle::make('slug_is_editable')
->label('Edit Slug'),