Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
blocks / app / helpers / blocks / builder_helper.rb
Size: Mime:
module Blocks
  module BuilderHelper
    def blocks_form(form)
      render('admin/blocks/form', f: form)
    end

    def block_types
      Blocks.configuration.block_types
    end

    def blocks_blank_form(form, block_type)
      new_block = Blocks::Block.new(type: "Blocks::#{block_type}")

      output = form.fields_for(:blocks, new_block, child_index: 'new_block') do |b|
        render("admin/blocks/block_fields", f: b)
      end

      output
    end

    def blocks_add_links(options = {})
      block_types.map do |block_type|
        link_to("Add #{block_type}", '#', options.merge(data: { block_type: block_type}))
      end.join.html_safe
    end

    def blocks_form_data(form)
      Hash[block_types.map do |block_type|
        [block_type, blocks_blank_form(form, block_type)]
      end]
    end

    def blocks_editor
      Blocks.configuration.editor
    end

    def block_set_label
      Blocks.configuration.block_set_label
    end

    def blocks_content_alignments
      Blocks::Block.content_alignments.keys.map { |ca| [fa_icon("alignment-#{ca}"), ca]}
    end

    def blocks_arrangements
      Blocks::Block.arrangements.keys.map { |ar| [fa_icon("arrangement-#{ar}"), ar]}
    end

    def blocks_margins
      Blocks::Block.margins.keys.map { |mar| [fa_icon("margin-#{mar}"), mar]}
    end
  end
end