OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / peta / element_nestable_content.js.coffee
1 class Peta.ElementNestableContent extends Peta.Content\r
2   element_items: (element_model) ->\r
3     n = @my_class().my_manifest().associations.child_element_name(element_model)\r
4     @get(n)\r
5   \r
6   elements_items: () ->\r
7     _this = this\r
8     r = _.map @my_class().child_models, (element_model) ->\r
9       _this.element_items(element_model)\r
10     _.flatten(r)\r
11   \r
12   boosts: (level) ->\r
13     super(level)\r
14     _.each @elements_items(), (item) ->\r
15       item.boosts(level)\r
16   \r
17   get: (name) ->\r
18     val = super(name)\r
19     return val if !(typeof val == 'object')\r
20     _this = this\r
21     attrs = val\r
22     r = null\r
23     _.each @my_class().child_models(), (element_model) ->\r
24       n = _this.my_class().my_manifest().associations.child_element_name(element_model)\r
25       if n == name\r
26         if _this.my_class().my_manifest().associations.is_has_one(element_model)\r
27           r = new element_model(attrs)\r
28         else\r
29           r = _.map attrs, (attr) ->\r
30             new element_model(attr)\r
31     r\r
32   \r
33   \r