first version of app config and modified inits.
This commit is contained in:
1 parent
bfaa22052f
commit
71d5abae2e
36 files changed
+377
-264
No files matched your search
@@ -34,6 +34,12 @@ module OrbitApp
|
||||
define_method(field){|var| instance_variable_set( "@" + field, var)}
|
||||
end
|
||||
|
||||
def find_by_path(path)
|
||||
@widgets.each do |widget|
|
||||
return widget if widget.name == path
|
||||
end
|
||||
end
|
||||
|
||||
def get_categories
|
||||
eval(@categories_query) rescue nil
|
||||
end
|
||||
@@ -46,9 +52,17 @@ module OrbitApp
|
||||
@default_widget = DefaultWidget.new(&block)
|
||||
end
|
||||
|
||||
def customize_widget(name,label,options ={})
|
||||
@widgets << Widget.new(name,label,options)
|
||||
end
|
||||
def customize_widget(name,&block)
|
||||
@widgets << Widget.new(name,&block)
|
||||
end
|
||||
|
||||
# def customize_widget(name,label,options ={})
|
||||
# @widgets << Widget.new(name,label,options)
|
||||
# end
|
||||
|
||||
# def customize_widget_options_fields_i18n(settings)
|
||||
# @customize_widget_options_fields_i18n = settings
|
||||
# end
|
||||
|
||||
def to_module_app_format
|
||||
hash = {}
|
||||
@@ -57,10 +71,13 @@ module OrbitApp
|
||||
hash
|
||||
end
|
||||
|
||||
def get_fields
|
||||
get_default_widget.get_fields
|
||||
end
|
||||
|
||||
def get_default_widget
|
||||
return @default_widget
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class DefaultWidget
|
||||
@@ -69,9 +86,16 @@ module OrbitApp
|
||||
def initialize(&block)
|
||||
@query = nil
|
||||
@image = nil
|
||||
@more_link = {}
|
||||
@fields = []
|
||||
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
||||
end
|
||||
|
||||
def more_link_to(label_i18n,path_method)
|
||||
@more_link[:label_i18n] = label_i18n
|
||||
@more_link[:path_method] = path_method
|
||||
end
|
||||
|
||||
def self.get_interface_args
|
||||
#will need to work with design
|
||||
{:name=>"default_widget",:field=>nil,:label=>'label',:style=>STYLE}
|
||||
@@ -81,6 +105,18 @@ module OrbitApp
|
||||
{:query=>@query,:image=>@image} rescue nil
|
||||
end
|
||||
|
||||
def link_field(field_name,setting)
|
||||
@fields << [field_name,setting,:link]
|
||||
end
|
||||
|
||||
def field(field_name)
|
||||
@fields << [field_name,nil,:field]
|
||||
end
|
||||
|
||||
def get_fields
|
||||
@fields
|
||||
end
|
||||
|
||||
def query(var)
|
||||
@query = var
|
||||
end
|
||||
@@ -94,19 +130,38 @@ module OrbitApp
|
||||
class Widget
|
||||
attr_reader :name,:default_template,:fields
|
||||
|
||||
def initialize(name,label,options ={})
|
||||
def initialize(name,&block)
|
||||
@name = name
|
||||
@fields = options[:fields]
|
||||
@label = label
|
||||
@style= options[:style]
|
||||
@options = {}
|
||||
block.arity < 1 ? instance_eval(&block) : block.call(self) if block_given?
|
||||
|
||||
# @fields = options[:fields]
|
||||
# @label = label
|
||||
# @style= options[:style]
|
||||
end
|
||||
|
||||
def to_hash
|
||||
{:name => @name,:fields=>@fields,:label=>@label,:style=>@style}
|
||||
def widget_i18n(str) # "gallery.widget.widget1"
|
||||
@widget_i18n = str
|
||||
end
|
||||
|
||||
def style(ary)# []
|
||||
@style = ary
|
||||
end
|
||||
|
||||
def get_options
|
||||
@options
|
||||
end
|
||||
|
||||
def finalize!
|
||||
def options(opt_name,*options) # "vertical",
|
||||
option = options[0]
|
||||
@options[opt_name] = {:label_i18n=>option[:i18n] , :opts=>option[:options_item]}
|
||||
# options => :i18n => "gallery.widget_option.vertical",:options_item=>[1, 2]
|
||||
# :i18n =>"gallery.widget_option.album",:options_item => {"query"=>"GalleryAlbum.all", "value"=>:id, "label"=>:name}
|
||||
end
|
||||
|
||||
|
||||
def to_hash
|
||||
{:name => @name,:fields=>@fields,:label=>@label,:style=>@style,:i18n=>@widget_i18n}
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
Reference in new issue
Block a user