Sha256: b649e96c4b94a30cacb2390bd6674757f8e6e1a4def98f9570c446e9ce9e84be

Contents?: true

Size: 1.17 KB

Versions: 50

Compression:

Stored size: 1.17 KB

Contents

module Avo
  module Concerns
    module HasControls
      extend ActiveSupport::Concern
      include Avo::Resources::Controls

      included do
        class_attribute :show_controls
        class_attribute :edit_controls
        class_attribute :index_controls
        class_attribute :row_controls
      end

      # Any change applied here should also be applied on Avo::Advanced::Resources::Controls::ExecutionContext default_controls
      def render_show_controls
        [BackButton.new, DeleteButton.new, DetachButton.new, ActionsList.new, EditButton.new]
      end

      def render_edit_controls
        [BackButton.new(label: I18n.t("avo.cancel").capitalize), DeleteButton.new, ActionsList.new, SaveButton.new(resource: self)]
      end

      def render_index_controls(item:)
        [BackButton.new, AttachButton.new(item: item), ActionsList.new(as_index_control: true), CreateButton.new(item: item)]
      end

      def render_row_controls(item:)
        [
          OrderControls.new,
          ShowButton.new(item: item),
          EditButton.new(item: item),
          DetachButton.new(item: item),
          DeleteButton.new(item: item)
        ]
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
avo-3.17.6.tw4 lib/avo/concerns/has_controls.rb
avo-3.17.6 lib/avo/concerns/has_controls.rb
avo-3.17.5 lib/avo/concerns/has_controls.rb
avo-3.17.4 lib/avo/concerns/has_controls.rb
avo-3.17.3 lib/avo/concerns/has_controls.rb
avo-3.17.5.tw4 lib/avo/concerns/has_controls.rb
avo-3.17.4.tw4 lib/avo/concerns/has_controls.rb
avo-3.17.3.tw4 lib/avo/concerns/has_controls.rb
avo-3.17.2.tw4 lib/avo/concerns/has_controls.rb
avo-3.17.2 lib/avo/concerns/has_controls.rb
avo-3.17.1.tw4 lib/avo/concerns/has_controls.rb
avo-3.17.1 lib/avo/concerns/has_controls.rb
avo-3.17.0 lib/avo/concerns/has_controls.rb
avo-3.16.6 lib/avo/concerns/has_controls.rb
avo-3.16.5 lib/avo/concerns/has_controls.rb
avo-3.16.4 lib/avo/concerns/has_controls.rb
avo-3.16.3 lib/avo/concerns/has_controls.rb
avo-3.16.2 lib/avo/concerns/has_controls.rb
avo-3.16.1 lib/avo/concerns/has_controls.rb
avo-3.16.0 lib/avo/concerns/has_controls.rb