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
|