Elixir/Phoenix view helper to manage "active" state of a link
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENSE
README.md
mix.exs
mix.lock

README.md

phoenix-active-link

Build Status

Elixir/Phoenix helper to create links with "active" state.

Installation

Add phoenix_active_link to your list of dependencies in mix.exs:

def deps do
  [{:phoenix_active_link, "~> 0.1.1"}]
end

Usage

First, add

import PhoenixActiveLink

to the quote of the view function in your web.ex.

You can then use the functions as follow:

<header>
  <ul>
    <%= active_link(@conn, "Dashboard", to: "/", active: [{Dashboard, :index}], wrap_tag: :li) %>
    <%= active_link(@conn, "Users", to: "/users", wrap_tag: :li) %>
    <%= active_link(@conn, to: "/users", wrap_tag: :li) do %>
      <img src="foo.png">
    <% end %>
  </ul>
</header>

If you prefer to write PhoenixActiveLink.active_link explicitly, you can skip the first step.

Example of Active Tags

To specify the active and inactive tags for the wrap tag, use class_active and class_inactive. Example:

<%= active_link(@conn, "Home", to: "/", wrap_tag: :li, class_active: "active nav-item", class_inactive: "nav-item") %>

Defaults can be set in the config.ex as noted in the documentation

Documentation

For more information, take a look at the documentation

Credits

This library is inspired by/ported from active_link_to.