Skip to content

Commit

Permalink
Format
Browse files Browse the repository at this point in the history
  • Loading branch information
Flo0807 committed Feb 21, 2024
1 parent 633b535 commit 74590e2
Showing 1 changed file with 67 additions and 68 deletions.
135 changes: 67 additions & 68 deletions demo/lib/demo_web/item_actions/duplicate_tag.ex
Original file line number Diff line number Diff line change
@@ -1,70 +1,69 @@
defmodule DemoWeb.ItemActions.DuplicateTag do
@moduledoc false

use BackpexWeb, :item_action

alias Demo.Repo

@impl Backpex.ItemAction
def icon(assigns) do
~H"""
<Heroicons.document_duplicate class="h-5 w-5 cursor-pointer transition duration-75 hover:scale-110 hover:text-green-600" />
"""
end

@impl Backpex.ItemAction
def fields do
[
name: %{
module: Backpex.Fields.Text,
label: "Name",
searchable: true,
placeholder: "Tag name"
}
]
end

@impl Backpex.ItemAction
def label(_assigns), do: "Duplicate"

@impl Backpex.ItemAction
def confirm(_assigns), do: "Please complete the form to duplicate the item."

@impl Backpex.ItemAction
def confirm_label(_assigns), do: "Duplicate"

@impl Backpex.ItemAction
def cancel_label(_assigns), do: "Cancel"

@impl Backpex.ItemAction
def changeset(item, change, metadata) do
Demo.Tag.create_changeset(item, change, metadata)
end

@impl Backpex.ItemAction
def init_change(assigns) do
[item | _other] = assigns.selected_items

item
end

@impl Backpex.ItemAction
def handle(socket, _items, params) do
result =
%Demo.Tag{}
|> Demo.Tag.create_changeset(params, [target: nil, assigns: socket.assigns])
|> Repo.insert()

socket =
case result do
{:ok, _created} ->
put_flash(socket, :info, "Item has been duplicated.")

_error ->
put_flash(socket, :error, "Error while duplicating item.")
end


{:noreply, socket}
end
@moduledoc false

use BackpexWeb, :item_action

alias Demo.Repo

@impl Backpex.ItemAction
def icon(assigns) do
~H"""
<Heroicons.document_duplicate class="h-5 w-5 cursor-pointer transition duration-75 hover:scale-110 hover:text-green-600" />
"""
end

@impl Backpex.ItemAction
def fields do
[
name: %{
module: Backpex.Fields.Text,
label: "Name",
searchable: true,
placeholder: "Tag name"
}
]
end

@impl Backpex.ItemAction
def label(_assigns), do: "Duplicate"

@impl Backpex.ItemAction
def confirm(_assigns), do: "Please complete the form to duplicate the item."

@impl Backpex.ItemAction
def confirm_label(_assigns), do: "Duplicate"

@impl Backpex.ItemAction
def cancel_label(_assigns), do: "Cancel"

@impl Backpex.ItemAction
def changeset(item, change, metadata) do
Demo.Tag.create_changeset(item, change, metadata)
end

@impl Backpex.ItemAction
def init_change(assigns) do
[item | _other] = assigns.selected_items

item
end

@impl Backpex.ItemAction
def handle(socket, _items, params) do
result =
%Demo.Tag{}
|> Demo.Tag.create_changeset(params, target: nil, assigns: socket.assigns)
|> Repo.insert()

socket =
case result do
{:ok, _created} ->
put_flash(socket, :info, "Item has been duplicated.")

_error ->
put_flash(socket, :error, "Error while duplicating item.")
end

{:noreply, socket}
end
end

0 comments on commit 74590e2

Please sign in to comment.