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