Sha256: 43875603e63672f097c9698ba2e96dab87cbff0dde05ab51282d2ded44249318
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true class DataList attr_writer :list def initialize(objects) self.sel_objects = [] self.list = objects @observers = [] end def add_observer(observer) @observers.append(observer) end def notify @observers.each { |observer| observer.on_datalist_changed(get_data) } end def select(number) raise ArgumentError, "arg 'number' not Integer" if number.class != Integer sel_objects.append(number) end def clear_select self.sel_objects = [] end def get_select sel_objects.inject([]) {|res, index| res<<list[index].id} end def clear_selected self.sel_objects = [] end #def get_selected # list_id=[] # sel_objects.each do |i| # list_id.append(list[i].id) # end # list_id #end def get_data result = [] id = 0 list.each do |o| elem = [] elem << id # * необходима так как, если нам передадут [1,2,3], то передастся row.push(1,2,3) elem.push(*table_fields(o)) result << elem id += 1 end DataTable.new(result) end def replace_objects(objects_list) self.list=objects_list.dup notify end def get_names end def table_fields(object) [] end private attr_accessor :sel_objects attr_reader :list end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shanti555890-1.1.5 | lib/source/all_data/data_list.rb |
shanti555890-1.1.4 | lib/source/all_data/data_list.rb |