lib/voom/presenters/dsl/components/list.rb in voom-presenters-0.2.0 vs lib/voom/presenters/dsl/components/list.rb in voom-presenters-2.0.0

- old
+ new

@@ -1,31 +1,26 @@ -require 'voom/presenters/dsl/components/lists/line' -require 'voom/presenters/dsl/components/lists/separator' -require 'voom/presenters/dsl/components/lists/header' -require 'voom/presenters/dsl/components/mixins/content' -require 'voom/presenters/dsl/components/mixins/append' -require 'voom/presenters/dsl/components/mixins/attaches' - module Voom module Presenters module DSL module Components class List < Base include Mixins::Content include Mixins::Append include Mixins::Attaches - - attr_reader :lines, :lines_only, :color, :border, :selectable, :total_lines + include Mixins::Event + + attr_reader :lines, :lines_only, :color, :border, :selectable, :total_lines, :dense attr_accessor :components - + def initialize(**attribs_, &block) super(type: :list, **attribs_, &block) @color = attribs.delete(:color) { nil } @border = attribs.delete(:border) { nil } @lines_only = attribs.delete(:lines_only) { false } @selectable = attribs.delete(:selectable) { false } + @dense = attribs.delete(:dense) { false } @lines = [] @components = [] @total_lines = attribs.delete(:total_lines) || 0 add_select_control!( attribs.fetch(:select_control_label) { 'Select All' } ) expand! @@ -33,11 +28,11 @@ def add_select_control!(text) return unless @selectable && !@lines_only @lines << Lists::Header.new(parent: self, total_lines: @total_lines, - checkbox: {text: text}) + checkbox: {text: text, dirtyable: false}) end def line(text=nil, **attribs, &block) @lines << Lists::Line.new(parent:self, text: text, selectable: selectable, **attribs, &block) end @@ -48,7 +43,5 @@ end end end end end - -