| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  | module OrbitApp | 
					
						
							|  |  |  |     module Module | 
					
						
							|  |  |  |       module FrontendUtility | 
					
						
							| 
									
										
										
										
											2013-03-22 06:19:10 +00:00
										 |  |  |           Version = "0.2" | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |           module ClassMethods | 
					
						
							| 
									
										
										
										
											2013-03-22 06:19:10 +00:00
										 |  |  |             @@frontend_pages = {} | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |             #Record all frontend pages of orbit | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-22 06:19:10 +00:00
										 |  |  |           def add(key,var) #build @@frontend_pages | 
					
						
							|  |  |  |             if @@frontend_pages[key].nil? | 
					
						
							|  |  |  |               @@frontend_pages[key]= {"frontend"=>var} | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |               @@frontend_pages[key]["frontend"]= var | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           def add_default_widget(key,var) | 
					
						
							|  |  |  |             @@frontend_pages[key]["default_widget"]= var | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |           def all #return all frontend_pages of orbit | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |             return @@frontend_pages | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         extend ClassMethods | 
					
						
							|  |  |  |         def self.included( other ) | 
					
						
							|  |  |  |           other.extend( ClassMethods ) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |         class AppPageSet # From Registration | 
					
						
							| 
									
										
										
										
											2013-03-22 06:19:10 +00:00
										 |  |  |           def initialize(name,key,&block) | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |             @frontend_pages = []  | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |             block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? | 
					
						
							| 
									
										
										
										
											2013-03-22 06:19:10 +00:00
										 |  |  |             OrbitApp::Module::FrontendUtility.add(key,@frontend_pages) | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |           def app_page(name,&block) | 
					
						
							|  |  |  |             @frontend_pages << AppPage.new(name,&block) | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |           def to_module_app_format #For ModuleApp to fetch data | 
					
						
							| 
									
										
										
										
											2013-03-11 10:21:17 +00:00
										 |  |  |             result = {} | 
					
						
							|  |  |  |             @frontend_pages.collect do |t|  | 
					
						
							|  |  |  |               result[t.name] = {:i18n=>t.get_i18n,:style=>t.get_style} | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |             result | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         class AppPage | 
					
						
							|  |  |  |           attr_reader :name | 
					
						
							| 
									
										
										
										
											2013-03-11 10:21:17 +00:00
										 |  |  |           attr_reader :style | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |           def initialize(name,&block) | 
					
						
							| 
									
										
										
										
											2013-03-11 10:21:17 +00:00
										 |  |  |             @style | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |             @name = name | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |             @frontend_i18n = 'rulingcom.errors.init.app_page_noname' | 
					
						
							|  |  |  |             block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given? | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |           end | 
					
						
							|  |  |  |            | 
					
						
							| 
									
										
										
										
											2013-01-29 12:33:40 +00:00
										 |  |  |           def frontend_i18n(i18n) | 
					
						
							|  |  |  |             @frontend_i18n = i18n | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           def get_i18n | 
					
						
							|  |  |  |              @frontend_i18n | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |           def finalize! | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-11 10:21:17 +00:00
										 |  |  |           def get_style | 
					
						
							|  |  |  |             @style | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           def style(ary)# [] | 
					
						
							|  |  |  |             @style = ary | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-29 06:21:46 +00:00
										 |  |  |           protected | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |         end# of AppPage | 
					
						
							|  |  |  |     end # of FrontendUtility | 
					
						
							|  |  |  |   end # of Module | 
					
						
							|  |  |  | end # of OrbitApp |