OSDN Git Service

element
[pettanr/pettanr.git] / lib / peta / element.rb
1 module Peta
2   class Element < Content
3     self.abstract_class = true
4     
5     # Dynamic ClassMethods
6     
7     
8     def self.list_opt_for_panel
9       {}
10     end
11     
12     def self.show_opt_for_panel
13       {}
14     end
15     
16     def self.json_opt_for_panel
17       {}
18     end
19     
20     def has_picture?
21       false
22     end
23     
24     def has_part?
25       false
26     end
27     
28     def parts
29       @parts ||= []
30     end
31     
32     def extend_column
33       nil
34     end
35     
36     def extend_element_name
37       self.extend_column ? self.attributes[extend_column] : self.element_name
38     end
39     
40     def parent
41       @parent
42     end
43     
44     def parent= content
45       @parent = content
46     end
47     
48     def scenario_template with_engine = false
49       self.path_name(with_engine) + '/scenario'
50     end
51     
52     def element_face_template with_engine = false
53       self.path_name(with_engine) + '/element_face'
54     end
55     
56     def tag_attributes column = nil, opt = {}
57       r = super
58       r.merge({'data-parent_dom_id' => self.parent.dom_item_id}) if self.editor
59       r
60     end
61     
62   end
63 end
64