Sha256: ed64f09a16f24ba00e99dc358085f9271a968f3b0ea426c1c359a5bb277c63fe

Contents?: true

Size: 1.21 KB

Versions: 7

Compression:

Stored size: 1.21 KB

Contents

module Spree
  module Admin
    module Actions
      class ProductPropertiesDefaultActionsBuilder
        include Spree::Core::Engine.routes.url_helpers

        def build
          root = Root.new
          add_select_from_prototype_action(root)
          add_add_product_properties_action(root)
          root
        end

        private

        def add_select_from_prototype_action(root)
          action =
            ActionBuilder.new('select_from_prototype', available_admin_prototypes_path).
            with_icon_key('list.svg').
            with_classes('js-new-ptype-link').
            with_data_attributes({ update: 'prototypes', remote: true }).
            build

          root.add(action)
        end

        def add_add_product_properties_action(root)
          action =
            ActionBuilder.new('add_product_properties', 'javascript:;').
            with_icon_key('add.svg').
            with_style(::Spree::Admin::Actions::ActionStyle::PRIMARY).
            with_classes('spree_add_fields').
            with_data_attributes({ target: 'tbody#sortVert' }).
            with_create_ability_check(::Spree::ProductProperty).
            build

          root.add(action)
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
spree_backend-4.8.4 app/models/spree/admin/actions/product_properties_default_actions_builder.rb
spree_backend-4.8.3 app/models/spree/admin/actions/product_properties_default_actions_builder.rb
spree_backend-4.8.2 app/models/spree/admin/actions/product_properties_default_actions_builder.rb
spree_backend-4.8.1 app/models/spree/admin/actions/product_properties_default_actions_builder.rb
spree_backend-4.7.2 app/models/spree/admin/actions/product_properties_default_actions_builder.rb
spree_backend-4.7.1 app/models/spree/admin/actions/product_properties_default_actions_builder.rb
spree_backend-4.7.0 app/models/spree/admin/actions/product_properties_default_actions_builder.rb