Sha256: 5571cf763dcc5228a9c5fc7101940dde56397770e75f7059c70f3027fd44bee2

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

format :html do
  view :menu, denial: :blank, tags: :unknown_ok do
    return "" if card.unknown?
    wrap_with :div, class: "card-menu #{menu_link_classes}" do
      menu_link
    end
  end

  def menu_link
    case voo.edit
    when :inline
      edit_in_place_link
    when :full
      edit_in_bridge_link
    else # :standard
      edit_link
    end
  end

  view :edit_link, tags: :unknown_ok, denial: :blank do
    edit_link
  end

  view :full_page_link do
    full_page_link
  end

  def full_page_link
    link_to_card card, full_page_icon, class: classy("full-page-link")
  end

  def edit_in_bridge_link opts={}
    edit_link :bridge, opts
  end

  def edit_link view=:edit, opts={}
    link_to_view view, menu_icon, edit_link_opts(opts.reverse_merge(modal: :lg))
  end

  # @param modal [Symbol] modal size
  def edit_link_opts modal: nil
    opts = { class: classy("edit-link") }
    if modal
      opts.merge! "data-slotter-mode": "modal", "data-modal-class": "modal-#{modal}"
    end
    opts
  end

  def menu_link_classes
    "nodblclick" + (show_view?(:hover_link) ? " _show-on-hover" : "")
  end

  def menu_icon
    material_icon "edit"
  end

  def full_page_icon
    icon_tag :open_in_new
  end

  def show_menu_item_edit?
    return unless card.real?

    card.ok?(:update) || structure_editable?
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
card-1.97.0.1 mod/standard/set/all/rich_html/menu.rb