Sha256: e37e5f44062a5aa1e7be31e05c3fe6bd9f0fe71e89accfe7b12e1f44551a387f

Contents?: true

Size: 1.09 KB

Versions: 7

Compression:

Stored size: 1.09 KB

Contents

module Spina
  module Admin
    class NavigationItemsController < AdminController
      before_action :set_navigation
      
      def new
        @navigation_item = @navigation.navigation_items.new(parent_id: params[:parent_id])
        @pages = Page.sorted.main.includes(:translations)
      end
      
      def create
        @navigation_item = NavigationItem.new(navigation_item_params)
        if @navigation_item.save
          render turbo_stream: turbo_stream.append(@navigation_item.parent || @navigation, @navigation_item)
        end
      end
      
      def destroy
        @navigation_item = @navigation.navigation_items.find(params[:id])
        @navigation_item.destroy
        render turbo_stream: turbo_stream.remove(view_context.dom_id(@navigation_item, :container))
      end
      
      private
      
        def navigation_item_params
          params.require(:navigation_item).permit(:page_id, :parent_id).merge(navigation_id: @navigation.id)
        end
      
        def set_navigation
          @navigation = Navigation.find(params[:navigation_id])
        end
      
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
spina-2.12.0 app/controllers/spina/admin/navigation_items_controller.rb
spina-2.11.0 app/controllers/spina/admin/navigation_items_controller.rb
spina-2.10.0 app/controllers/spina/admin/navigation_items_controller.rb
spina-2.9.1 app/controllers/spina/admin/navigation_items_controller.rb
spina-2.9.0 app/controllers/spina/admin/navigation_items_controller.rb
spina-2.8.1 app/controllers/spina/admin/navigation_items_controller.rb
spina-2.8.0 app/controllers/spina/admin/navigation_items_controller.rb