GanttEx.LinkForm (GanttEx v0.1.0)

Copy Markdown View Source

Converts links to the params of the dependency editor and validates them.

iex> link = GanttEx.Link.new!(id: 1, source: 1, target: 2, lag: 2)
iex> GanttEx.LinkForm.params(link)
%{"type" => "finish_to_start", "lag" => "2"}

iex> GanttEx.LinkForm.cast(%{"type" => "start_to_start", "lag" => "-1"})
{:ok, %{type: :start_to_start, lag: -1}}

iex> GanttEx.LinkForm.cast(%{"type" => "start_to_start", "lag" => "soon"})
{:error, [lag: :invalid_number]}

Summary

Functions

Validates submitted params.

Returns the form params for a link.

Functions

cast(params)

@spec cast(map()) :: {:ok, map()} | {:error, keyword(atom())}

Validates submitted params.

params(link)

@spec params(GanttEx.Link.t()) :: %{required(String.t()) => String.t()}

Returns the form params for a link.