mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-11-11 06:32:23 +08:00
Do not reset changeset on parent update for secret and file system components
This commit is contained in:
parent
4ac8468c45
commit
e284c65a9a
3 changed files with 27 additions and 18 deletions
|
|
@ -4,6 +4,11 @@ defmodule LivebookWeb.Hub.FileSystemFormComponent do
|
||||||
alias Livebook.FileSystem
|
alias Livebook.FileSystem
|
||||||
alias Livebook.FileSystems
|
alias Livebook.FileSystems
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def mount(socket) do
|
||||||
|
{:ok, assign(socket, changeset: nil, error_message: nil)}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def update(assigns, socket) do
|
def update(assigns, socket) do
|
||||||
{file_system, assigns} = Map.pop!(assigns, :file_system)
|
{file_system, assigns} = Map.pop!(assigns, :file_system)
|
||||||
|
|
@ -13,17 +18,17 @@ defmodule LivebookWeb.Hub.FileSystemFormComponent do
|
||||||
title = title(file_system)
|
title = title(file_system)
|
||||||
|
|
||||||
file_system = file_system || %FileSystem.S3{hub_id: assigns.hub.id}
|
file_system = file_system || %FileSystem.S3{hub_id: assigns.hub.id}
|
||||||
changeset = FileSystems.change_file_system(file_system)
|
changeset = socket.assigns.changeset || FileSystems.change_file_system(file_system)
|
||||||
socket = assign(socket, assigns)
|
|
||||||
|
|
||||||
{:ok,
|
{:ok,
|
||||||
assign(socket,
|
socket
|
||||||
|
|> assign(assigns)
|
||||||
|
|> assign(
|
||||||
file_system: file_system,
|
file_system: file_system,
|
||||||
changeset: changeset,
|
changeset: changeset,
|
||||||
mode: mode,
|
mode: mode,
|
||||||
title: title,
|
title: title,
|
||||||
button: button,
|
button: button
|
||||||
error_message: nil
|
|
||||||
)}
|
)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,23 +5,28 @@ defmodule LivebookWeb.Hub.SecretFormComponent do
|
||||||
alias Livebook.Secrets
|
alias Livebook.Secrets
|
||||||
alias Livebook.Secrets.Secret
|
alias Livebook.Secrets.Secret
|
||||||
|
|
||||||
|
@impl true
|
||||||
|
def mount(socket) do
|
||||||
|
{:ok, assign(socket, changeset: nil, error_message: nil)}
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def update(assigns, socket) do
|
def update(assigns, socket) do
|
||||||
changeset =
|
changeset =
|
||||||
Secrets.change_secret(%Secret{}, %{
|
socket.assigns.changeset ||
|
||||||
name: assigns.secret_name,
|
Secrets.change_secret(%Secret{}, %{
|
||||||
value: assigns.secret_value
|
name: assigns.secret_name,
|
||||||
})
|
value: assigns.secret_value
|
||||||
|
})
|
||||||
socket = assign(socket, assigns)
|
|
||||||
|
|
||||||
{:ok,
|
{:ok,
|
||||||
assign(socket,
|
socket
|
||||||
|
|> assign(assigns)
|
||||||
|
|> assign(
|
||||||
title: title(socket),
|
title: title(socket),
|
||||||
button: button_attrs(socket),
|
button: button_attrs(socket),
|
||||||
changeset: changeset,
|
changeset: changeset,
|
||||||
deployment_group_id: assigns[:deployment_group_id],
|
deployment_group_id: assigns[:deployment_group_id]
|
||||||
error_message: nil
|
|
||||||
)}
|
)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,6 @@ defmodule LivebookWeb.Hub.Teams.DeploymentGroupFormComponent do
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-columns gap-4">
|
<div class="flex flex-columns gap-4">
|
||||||
<.form
|
<.form
|
||||||
:let={f}
|
|
||||||
id={"#{@id}-form"}
|
id={"#{@id}-form"}
|
||||||
for={@form}
|
for={@form}
|
||||||
phx-target={@myself}
|
phx-target={@myself}
|
||||||
|
|
@ -47,7 +46,7 @@ defmodule LivebookWeb.Hub.Teams.DeploymentGroupFormComponent do
|
||||||
>
|
>
|
||||||
<div class="flex flex-col space-y-4">
|
<div class="flex flex-col space-y-4">
|
||||||
<.text_field
|
<.text_field
|
||||||
field={f[:name]}
|
field={@form[:name]}
|
||||||
label="Name"
|
label="Name"
|
||||||
autofocus="true"
|
autofocus="true"
|
||||||
spellcheck="false"
|
spellcheck="false"
|
||||||
|
|
@ -61,14 +60,14 @@ defmodule LivebookWeb.Hub.Teams.DeploymentGroupFormComponent do
|
||||||
Deployment group mode.
|
Deployment group mode.
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
field={f[:mode]}
|
field={@form[:mode]}
|
||||||
options={[
|
options={[
|
||||||
{"Offline", :offline},
|
{"Offline", :offline},
|
||||||
{"Online", :online}
|
{"Online", :online}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<LivebookWeb.AppComponents.deployment_group_form_content hub={@hub} form={f} />
|
<LivebookWeb.AppComponents.deployment_group_form_content hub={@hub} form={@form} />
|
||||||
|
|
||||||
<div class="flex space-x-2">
|
<div class="flex space-x-2">
|
||||||
<.button type="submit" disabled={not @form.source.valid?}>
|
<.button type="submit" disabled={not @form.source.valid?}>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue