Sha256: 5878324aa7e9eaa27d1584ce6704510f3cc634cbd5c93327d2de4296e91ef1fb
Contents?: true
Size: 1.67 KB
Versions: 6
Compression:
Stored size: 1.67 KB
Contents
# frozen_string_literal: true module Katalyst module Navigation module Editor class StatusBarComponent < BaseComponent ACTIONS = <<~ACTIONS.gsub(/\s+/, " ").freeze navigation:change@document->#{STATUS_BAR_CONTROLLER}#change ACTIONS attr_reader :container def call tag.div(**html_attributes) do concat status(:published, last_update: l(menu.updated_at, format: :short)) concat status(:draft) concat status(:dirty) concat actions end end def status(state, **) tag.span(t("views.katalyst.navigation.editor.#{state}_html", **), class: "status-text", data: { state => "" }) end def actions tag.menu do concat action(:discard, class: "button button--text") concat action(:revert, class: "button button--text") if menu.state == :draft concat action(:save, class: "button button--secondary") concat action(:publish, class: "button button--primary") end end def action(action, **) tag.li do button_tag(t("views.katalyst.navigation.editor.#{action}"), name: "commit", value: action, form: menu_form_id, **) end end private def default_html_attributes { data: { controller: STATUS_BAR_CONTROLLER, action: ACTIONS, state: menu.state, }, } end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems