OSDN Git Service

86419c0356128279c53f8533fec5889377296035
[pettanr/pettanr.git] / lib / manifest / local / view / filer / body / file_body / file_item / edit / edit.rb
1 module Manifest
2   module View
3     module FilerModule
4       module BodyModule
5         module FileBodyModule
6           module FileItemModule
7             module EditItemColumnModule
8               class Base
9                 attr :file_item, :edit_manifest, :item, :column_name
10                 
11                 def initialize file_item, edit_manifest, item
12                   @file_item = file_item
13                   @edit_manifest = edit_manifest
14                   @item = item
15                   @column_name = 'edit'
16                 end
17                 
18                 def filer
19                   @file_item.filer
20                 end
21                 
22                 def manifest
23                   self.filer.manifest
24                 end
25                 
26                 def item_name
27                   self.filer.item_name
28                 end
29                 
30                 def image_dir
31                   self.filer.image_dir
32                 end
33                 
34                 def column_template_dir
35                   self.filer.template_dir + 'item_column/'
36                 end
37                 
38                 def column_template_file_name
39                   raise "undefined column_template_file_name\n"
40                 end
41                 
42                 def column_template_name
43                   self.column_template_dir + self.column_template_file_name
44                 end
45                 
46                 def item_template_dir
47                   self.filer.template_dir + 'edit/'
48                 end
49                 
50                 def item_template_file_name
51                   raise "undefined item_template_file_name\n"
52                 end
53                 
54                 def item_template_name
55                   self.item_template_dir + self.item_template_file_name
56                 end
57                 
58               end
59               
60               class Default < Base
61                 def column_template_file_name
62                   'show'
63                 end
64                 
65                 def item_template_file_name
66                   if @item.own? self.filer.operators
67                     'default'
68                   else
69                     'none'
70                   end
71                 end
72                 
73                 def edit_img_file_name
74                   self.image_dir + 'edit.png'
75                 end
76                 
77                 def remove_img_file_name
78                   self.image_dir + 'remove.png'
79                 end
80                 
81                 def img_opt
82                   {:width => Manifest.manifest.magic_numbers['thumbnail_width'] / 2, 
83                     :height => Manifest.manifest.magic_numbers['thumbnail_height'] / 2}
84                 end
85                 
86                 def edit_img_opt
87                   img_opt.merge :src => self.edit_img_file_name
88                 end
89                 
90                 def remove_img_opt
91                   img_opt.merge :src => self.remove_img_file_name
92                 end
93                 
94               end
95               
96               class None < Base
97                 def column_template_file_name
98                   'none'
99                 end
100                 
101               end
102               
103               class Account < Base
104                 def column_template_file_name
105                   'show'
106                 end
107                 
108                 def item_template_file_name
109                   if @item.own? self.filer.operators
110                     'account'
111                   else
112                     'none'
113                   end
114                 end
115                 
116                 def edit_img_file_name
117                   self.image_dir + 'edit.png'
118                 end
119                 
120                 def img_opt
121                   {:width => Manifest.manifest.magic_numbers['thumbnail_width'] / 2, 
122                     :height => Manifest.manifest.magic_numbers['thumbnail_height'] / 2}
123                 end
124                 
125                 def edit_img_opt
126                   img_opt.merge :src => self.edit_img_file_name
127                 end
128                 
129               end
130               
131               class Template < Base
132                 def column_template_file_name
133                   'show'
134                 end
135                 
136                 def item_template_file_name
137                   'template'
138                 end
139                 
140                 def template_dir
141                   @item.path_name + '/'
142                 end
143                 
144                 def template_file_name
145                   @edit_manifest.template_name
146                 end
147                 
148                 def template_name
149                   self.template_dir + self.template_file_name
150                 end
151                 
152               end
153               
154             end
155           end
156         end
157       end
158     end
159   end
160 end