Skip to content

Commit 962a487

Browse files
Add more modifier constructors (#991)
* Add constructors for padding modifier * Add background, overlay, grid modifier constructors * Add layout adjustment modifiers * Add constructors for animation modifiers * Add controls and indicators constructors * Apply suggestions from code review Co-authored-by: May Matyi <[email protected]> Signed-off-by: Carson Katri <[email protected]> * Add guards for bool/nil --------- Signed-off-by: Carson Katri <[email protected]> Co-authored-by: May Matyi <[email protected]>
1 parent 8a17e87 commit 962a487

20 files changed

+100
-2
lines changed

lib/live_view_native_swift_ui/modifiers/animation/animation.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.Animation do
77
field :animation, Animation
88
field :value, :string
99
end
10+
11+
def params(animation, [value: value]), do: [animation: animation, value: value]
12+
def params(params), do: params
1013
end

lib/live_view_native_swift_ui/modifiers/animation/content_transition.ex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,13 @@ defmodule LiveViewNativeSwiftUi.Modifiers.ContentTransition do
66
modifier_schema "content_transition" do
77
field :transition, ContentTransition
88
end
9+
10+
def params(params) do
11+
with {:ok, _} <- ContentTransition.cast(params) do
12+
[transition: params]
13+
else
14+
_ ->
15+
params
16+
end
17+
end
918
end

lib/live_view_native_swift_ui/modifiers/animation/transition.ex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,13 @@ defmodule LiveViewNativeSwiftUi.Modifiers.Transition do
66
modifier_schema "transition" do
77
field :transition, Transition
88
end
9+
10+
def params(params) do
11+
with {:ok, _} <- Transition.cast(params) do
12+
[transition: params]
13+
else
14+
_ ->
15+
params
16+
end
17+
end
918
end

lib/live_view_native_swift_ui/modifiers/controls_and_indicators/button_style.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.ButtonStyle do
1010
plain
1111
)a)
1212
end
13+
14+
def params(style) when is_atom(style) and not is_boolean(style) and not is_nil(style), do: [style: style]
15+
def params(params), do: params
1316
end

lib/live_view_native_swift_ui/modifiers/controls_and_indicators/control_size.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.ControlSize do
44
modifier_schema "control_size" do
55
field(:size, Ecto.Enum, values: ~w(mini small regular large)a)
66
end
7+
8+
def params(size) when is_atom(size) and not is_boolean(size) and not is_nil(size), do: [size: size]
9+
def params(params), do: params
710
end

lib/live_view_native_swift_ui/modifiers/controls_and_indicators/date_picker_style.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.DatePickerStyle do
1111
stepper_field
1212
)a)
1313
end
14+
15+
def params(style) when is_atom(style) and not is_boolean(style) and not is_nil(style), do: [style: style]
16+
def params(params), do: params
1417
end

lib/live_view_native_swift_ui/modifiers/controls_and_indicators/default_wheel_picker_item_height.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.DefaultWheelPickerItemHeight do
44
modifier_schema "default_wheel_picker_item_height" do
55
field(:height, :float)
66
end
7+
8+
def params(height) when is_number(height), do: [height: height]
9+
def params(params), do: params
710
end

lib/live_view_native_swift_ui/modifiers/controls_and_indicators/gauge_style.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.GaugeStyle do
1111
accessory_linear
1212
)a)
1313
end
14+
15+
def params(style) when is_atom(style) and not is_boolean(style) and not is_nil(style), do: [style: style]
16+
def params(params), do: params
1417
end

lib/live_view_native_swift_ui/modifiers/controls_and_indicators/picker_style.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.PickerStyle do
1313
palette
1414
)a)
1515
end
16+
17+
def params(style) when is_atom(style) and not is_boolean(style) and not is_nil(style), do: [style: style]
18+
def params(params), do: params
1619
end

lib/live_view_native_swift_ui/modifiers/controls_and_indicators/progress_view_style.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,7 @@ defmodule LiveViewNativeSwiftUi.Modifiers.ProgressViewStyle do
88
circular
99
)a)
1010
end
11+
12+
def params(style) when is_atom(style) and not is_boolean(style) and not is_nil(style), do: [style: style]
13+
def params(params), do: params
1114
end

0 commit comments

Comments
 (0)