57 lines
1.3 KiB
PHP
57 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Project\Database;
|
|
|
|
use Exception;
|
|
use Livewire\Attributes\Locked;
|
|
use Livewire\Attributes\Validate;
|
|
use Livewire\Component;
|
|
|
|
class InitScript extends Component
|
|
{
|
|
#[Locked]
|
|
public array $script;
|
|
|
|
#[Locked]
|
|
public int $index;
|
|
|
|
#[Validate(['nullable', 'string'])]
|
|
public ?string $filename = null;
|
|
|
|
#[Validate(['nullable', 'string'])]
|
|
public ?string $content = null;
|
|
|
|
public function mount()
|
|
{
|
|
try {
|
|
$this->index = data_get($this->script, 'index');
|
|
$this->filename = data_get($this->script, 'filename');
|
|
$this->content = data_get($this->script, 'content');
|
|
} catch (Exception $e) {
|
|
return handleError($e, $this);
|
|
}
|
|
}
|
|
|
|
public function submit()
|
|
{
|
|
try {
|
|
$this->validate();
|
|
$this->script['index'] = $this->index;
|
|
$this->script['content'] = $this->content;
|
|
$this->script['filename'] = $this->filename;
|
|
$this->dispatch('save_init_script', $this->script);
|
|
} catch (Exception $e) {
|
|
return handleError($e, $this);
|
|
}
|
|
}
|
|
|
|
public function delete()
|
|
{
|
|
try {
|
|
$this->dispatch('delete_init_script', $this->script);
|
|
} catch (Exception $e) {
|
|
return handleError($e, $this);
|
|
}
|
|
}
|
|
}
|