class Maglev::Editor::LinksController

def edit; end

def edit; end

def input_id

def input_id
  params[:input_name].parameterize.underscore
end

def link_params

def link_params
  params.require(:link).permit(:link_label, :link_type, :link_id, :url_href, :email, :href, :section_id,
                               :open_new_window)
end

def set_link

def set_link
  @link = Maglev::Content::EditorLink.new(link_params)
end

def set_page

def set_page
  @page = maglev_page_resources.find_by(id: @link.link_id) ||
          services.fetch_static_pages.call.find { |page| page.id == @link.link_id }
end

def set_sections

def set_sections
  return unless @page
  @sections = services.get_page_section_names.call(page: @page)
end

def update

def update
  # some inputs are displayed based on the value of other inputs
  return unless params[:refresh] == '1' || !@link.valid?
  flash.now[:alert] = flash_t(:error) unless @link.valid?
  render :edit, status: :unprocessable_content
end