4 attr_accessor :editor, :root_item, :pool, :index
5 def initialize editor, root_item
13 # regist stored element
15 @root_item.boosts 'post'
16 self.register nil, @root_item
17 editize_element @root_item
20 def editize_element parent
21 parent.class.child_element_names.each do |element_name|
22 e = parent.__send__ element_name
23 e = [e] unless e.respond_to?(:each)
24 e.each do |element_item|
25 element_item.boosts 'post'
26 self.register parent, element_item
27 self.editize_element element_item
32 def register parent, item
33 item.extend Peta::Editize
35 item.parent = parent if parent
40 item.pool_id = item.id
42 @pool[item.item_name] ||= {'stored' => {}, 'new' => {}}
43 @pool[item.item_name][item.dom_pool_type] ||= {}
44 @pool[item.item_name][item.dom_pool_type][item.pool_id] = item