OSDN Git Service

js add panel viewer
[pettanr/pettanr.git] / app / assets / javascripts / peta / content.js.coffee
1 class Peta.Content extends Peta.Item\r
2   # Dynamic Methods\r
3   \r
4   # Class Methods\r
5   @is_content: () ->\r
6     @my_class().my_manifest().content_model()\r
7   \r
8   @owner_type: () ->\r
9     @my_class().my_manifest().owner_type()\r
10   \r
11   @owner_model: () -> \r
12     @parent_model()\r
13   \r
14   @owner_column: () ->\r
15     @owner_type().toString() + '_id'\r
16   \r
17   # Instance Methods\r
18   \r
19   # Class Methods\r
20   \r
21   @operator: (operators) ->\r
22     return null if not @owner_type()\r
23     operators[@owner_type()]\r
24   \r
25   # Instance Methods\r
26   \r
27   owner_model: () ->\r
28     if @my_class().owner_model()\r
29       this[@my_class().owner_model().item_name()]()\r
30     else\r
31       this\r
32   \r
33   # super return if my item\r
34   is_visible: (operators) ->\r
35     super(operators)\r
36     return null if @owner_model().is_own(operators)\r
37     true\r
38   \r
39   is_own: (operators) ->\r
40     operator = @my_class().operator(operators)\r
41     return false if not operator\r
42     @owner_model().get(@my_class().owner_column()) == operator.id\r
43 \r
44   @test: () ->\r
45     super()\r
46     console.log(@is_content())\r
47     console.log(@owner_type())\r
48     console.log(@owner_model())\r
49     console.log(@owner_column())\r
50     console.log()\r
51   \r
52   test: () ->\r
53     super()\r
54     console.log()\r
55   \r