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
-
-