fix: sync fqdn change on the UI

This commit is contained in:
Andras Bacsai 2024-08-15 11:23:44 +02:00
parent a5f526a6c8
commit 9864d380a3
4 changed files with 22 additions and 9 deletions

View File

@ -25,6 +25,7 @@ public function getListeners()
return [
"echo-private:user.{$userId},ServiceStatusChanged" => 'check_status',
'check_status',
'refresh' => '$refresh',
];
}

View File

@ -11,7 +11,11 @@ class EditCompose extends Component
public $serviceId;
protected $listeners = ['refreshEnvs', 'envsUpdated'];
protected $listeners = [
'refreshEnvs',
'envsUpdated',
'refresh' => 'envsUpdated',
];
protected $rules = [
'service.docker_compose_raw' => 'required',

View File

@ -53,7 +53,7 @@ public function mount()
public function saveCompose($raw)
{
$this->service->docker_compose_raw = $raw;
$this->submit();
$this->submit(notify: false);
}
public function instantSave()
@ -62,7 +62,7 @@ public function instantSave()
$this->dispatch('success', 'Service settings saved.');
}
public function submit()
public function submit($notify = true)
{
try {
$this->validate();
@ -76,7 +76,7 @@ public function submit()
$this->service->refresh();
$this->service->saveComposeConfigs();
$this->dispatch('refreshEnvs');
$this->dispatch('success', 'Service saved.');
$notify && $this->dispatch('success', 'Service saved.');
} catch (\Throwable $e) {
return handleError($e, $this);
} finally {

View File

@ -9,11 +9,17 @@
class All extends Component
{
public $resource;
public string $resourceClass;
public bool $showPreview = false;
public ?string $modalId = null;
public ?string $variables = null;
public ?string $variablesPreview = null;
public string $view = 'normal';
protected $listeners = [
@ -29,8 +35,8 @@ public function mount()
{
$this->resourceClass = get_class($this->resource);
$resourceWithPreviews = ['App\Models\Application'];
$simpleDockerfile = !is_null(data_get($this->resource, 'dockerfile'));
if (str($this->resourceClass)->contains($resourceWithPreviews) && !$simpleDockerfile) {
$simpleDockerfile = ! is_null(data_get($this->resource, 'dockerfile'));
if (str($this->resourceClass)->contains($resourceWithPreviews) && ! $simpleDockerfile) {
$this->showPreview = true;
}
$this->modalId = new Cuid2;
@ -48,7 +54,7 @@ public function sortEnvironmentVariables()
{
$this->resource->load(['environment_variables', 'environment_variables_preview']);
$sortBy = $this->resource->settings->is_env_sorting_enabled ? 'key' : 'order';
$sortBy = data_get($this->resource, 'settings.is_env_sorting_enabled') ? 'key' : 'order';
$sortFunction = function ($variables) use ($sortBy) {
if ($sortBy === 'key') {
@ -83,6 +89,7 @@ private function formatEnvironmentVariables($variables)
if ($item->is_multiline) {
return "$item->key=(Multiline environment variable, edit in normal view)";
}
return "$item->key=$item->value";
})->join("\n");
}
@ -156,6 +163,7 @@ private function handleSingleSubmit($data)
$found = $this->resource->environment_variables()->where('key', $data['key'])->first();
if ($found) {
$this->dispatch('error', 'Environment variable already exists.');
return;
}
@ -216,7 +224,7 @@ private function updateOrCreateVariables($isPreview, $variables)
$found = $this->resource->$method()->where('key', $key)->first();
if ($found) {
if (!$found->is_shown_once && !$found->is_multiline) {
if (! $found->is_shown_once && ! $found->is_multiline) {
$found->value = $value;
$found->save();
}
@ -261,4 +269,4 @@ public function refreshEnvs()
$this->sortEnvironmentVariables();
$this->getDevView();
}
}
}