Class: Clevic::DefaultView
Overview
A subclass of Clevic::DefaultView is created by Clevic::Record when the latter is included in a Sequel::Model subclass.
The Clevic::DefaultView subclass knows how to:
-
build a fairly sensible UI from the the ORM model metadata.
-
create a UI definition using a class method called define_ui.
See Clevic::ModelBuilder for an example.
Instance Attribute Summary
Attributes inherited from View
Instance Method Summary collapse
- #define_actions(table_view, action_builder) ⇒ Object
- #method_missing(meth, *args, &block) ⇒ Object
- #notify_data_changed(table_view, top_left_model_index, bottom_right_model_index) ⇒ Object
- #notify_key_press(table_view, key_press_event, current_model_index) ⇒ Object
- #title ⇒ Object
Methods inherited from View
[], #define_ui, define_ui_block, #define_ui_block, entity_class, entity_class=, #fields, #initialize, #notify_field, order, order=, views, widget_name, #widget_name
Constructor Details
This class inherits a constructor from Clevic::View
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, *args, &block) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/clevic/default_view.rb', line 13 def method_missing( meth, *args, &block ) if entity_class.respond_to?( meth ) entity_class.send( meth, *args, &block ) else super end end |
Instance Method Details
#define_actions(table_view, action_builder) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/clevic/default_view.rb', line 25 def define_actions( table_view, action_builder ) if entity_class.respond_to?( :actions ) puts "Deprecated: #{entity_class.name}.actions( table_view, action_builder ). Use define_actions( table_view, action_builder ) instead." entity_class.actions( table_view, action_builder ) elsif entity_class.respond_to?( :define_actions ) entity_class.define_actions( table_view, action_builder ) else super end end |
#notify_data_changed(table_view, top_left_model_index, bottom_right_model_index) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/clevic/default_view.rb', line 36 def notify_data_changed( table_view, top_left_model_index, bottom_right_model_index ) if entity_class.respond_to?( :data_changed ) puts "Deprecated: #{entity_class.name}.data_changed( top_left, bottom_right, table_view ). Use notify_data_changed( table_view, top_left_model_index, bottom_right_model_index ) instead." entity_class.data_changed( top_left_model_index, bottom_right_model_index, table_view ) elsif entity_class.respond_to?( :notify_data_changed ) entity_class.notify_data_changed( table_view, top_left_model_index, bottom_right_model_index ) else super end end |
#notify_key_press(table_view, key_press_event, current_model_index) ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/clevic/default_view.rb', line 47 def notify_key_press( table_view, key_press_event, current_model_index ) if entity_class.respond_to?( :key_press_event ) puts "Deprecated: #{entity_class.name}.key_press_event( key_press_event, current_model_index, table_view ). Use notify_key_press( table_view, key_press_event, current_model_index ) instead." entity_class.key_press_event( key_press_event, current_model_index, table_view ) elsif entity_class.respond_to?( :notify_key_press ) entity_class.notify_key_press( table_view, key_press_event, current_model_index ) else super end end |
#title ⇒ Object
21 22 23 |
# File 'lib/clevic/default_view.rb', line 21 def title @title ||= entity_class.name.demodulize.tableize.humanize end |