Sha256: 44bf8131a2da57fbd03a0e4a5b32d7443acb9d7811560cf3786d4d346b6c88a1

Contents?: true

Size: 1.69 KB

Versions: 11

Compression:

Stored size: 1.69 KB

Contents

# frozen_string_literal: true

module Katalyst
  module Navigation
    module Editor
      class StatusBar < Base
        ACTIONS = <<~ACTIONS.gsub(/\s+/, " ").freeze
          navigation:change@document->#{STATUS_BAR_CONTROLLER}#change
        ACTIONS

        def build(**options)
          tag.div **default_options(**options) 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, **options)
          tag.span(t("views.katalyst.navigation.editor.#{state}_html", **options),
                   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, **options)
          tag.li do
            button_tag(t("views.katalyst.navigation.editor.#{action}"),
                       name:  "commit",
                       value: action,
                       form:  menu_form_id,
                       **options)
          end
        end

        private

        def default_options(**options)
          add_option(options, :data, :controller, STATUS_BAR_CONTROLLER)
          add_option(options, :data, :action, ACTIONS)
          add_option(options, :data, :state, menu.state)

          options
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
katalyst-navigation-1.4.1 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.4.0 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.3.4 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.3.3 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.3.2 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.3.1 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.3.0 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.2.0 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.1.2 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.1.1 app/helpers/katalyst/navigation/editor/status_bar.rb
katalyst-navigation-1.1.0 app/helpers/katalyst/navigation/editor/status_bar.rb