Class: Phlexi::Form::Theme
- Inherits:
-
Phlexi::Field::Theme
- Object
- Phlexi::Field::Theme
- Phlexi::Form::Theme
- Defined in:
- lib/phlexi/form/theme.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#resolve_validity_theme(property, field) ⇒ String?
Resolves the theme for a component based on its current validity state.
Class Method Details
.theme ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/phlexi/form/theme.rb', line 4 def self.theme @theme ||= { # == Base base: nil, hint: nil, error: nil, full_error: :error, wrapper: nil, inner_wrapper: nil, button: nil, submit_button: :button, # == Errors form_errors_wrapper: nil, form_errors_message: nil, form_errors_list: nil, # == Label label: nil, invalid_label: nil, valid_label: nil, neutral_label: nil, # == Input input: nil, valid_input: nil, invalid_input: nil, neutral_input: nil, # String string: :input, valid_string: :valid_input, invalid_string: :invalid_input, neutral_string: :neutral_input, # Email email: :input, valid_email: :valid_input, invalid_email: :invalid_input, neutral_email: :neutral_input, # Password password: :input, valid_password: :valid_input, invalid_password: :invalid_input, neutral_password: :neutral_input, # Phone phone: :input, valid_phone: :valid_input, invalid_phone: :invalid_input, neutral_phone: :neutral_input, # Color color: :input, valid_color: :valid_input, invalid_color: :invalid_input, neutral_color: :neutral_input, # Url url: :input, valid_url: :valid_input, invalid_url: :invalid_input, neutral_url: :neutral_input, # Search search: :input, valid_search: :valid_input, invalid_search: :invalid_input, neutral_search: :neutral_input, # Number number: :input, valid_number: :valid_input, invalid_number: :invalid_input, neutral_number: :neutral_input, # Date date: :input, valid_date: :valid_input, invalid_date: :invalid_input, neutral_date: :neutral_input, # Time time: :input, valid_time: :valid_input, invalid_time: :invalid_input, neutral_time: :neutral_input, # DateTime datetime: :input, valid_datetime: :valid_input, invalid_datetime: :invalid_input, neutral_datetime: :neutral_input, # Checkbox checkbox: :input, valid_checkbox: :valid_input, invalid_checkbox: :invalid_input, neutral_checkbox: :neutral_input, # Range range: :input, valid_range: :valid_input, invalid_range: :invalid_input, neutral_range: :neutral_input, # Radio radio_button: :input, valid_radio_button: :valid_input, invalid_radio_button: :invalid_input, neutral_radio_button: :neutral_input, # Boolean boolan: :checkbox, valid_boolan: :valid_checkbox, invalid_boolan: :invalid_checkbox, neutral_boolan: :neutral_checkbox, # Textarea textarea: :input, valid_textarea: :valid_input, invalid_textarea: :invalid_input, neutral_textarea: :neutral_input, # Hstore hstore: :textarea, valid_hstore: :valid_textarea, invalid_hstore: :invalid_textarea, neutral_hstore: :neutral_textarea, # Select select: :input, valid_select: :valid_input, invalid_select: :invalid_input, neutral_select: :neutral_input, # File file: :input, valid_file: :valid_input, invalid_file: :invalid_input, neutral_file: :neutral_input, # BelongsTo belongs_to: :select, valid_belongs_to: :valid_select, invalid_belongs_to: :invalid_select, neutral_belongs_to: :neutral_select, # HasMany has_many: :select, valid_has_many: :valid_select, invalid_has_many: :invalid_select, neutral_has_many: :neutral_select }.freeze end |
Instance Method Details
#resolve_validity_theme(property, field) ⇒ String?
Resolves the theme for a component based on its current validity state
This method determines the validity state of the field (valid, invalid, or neutral) and returns the corresponding theme by prepending the state to the component name.
174 175 176 177 178 179 180 181 182 183 184 185 186 |
# File 'lib/phlexi/form/theme.rb', line 174 def resolve_validity_theme(property, field) return unless field validity_property = if field.has_errors? :"invalid_#{property}" elsif field.object_valid? :"valid_#{property}" else :"neutral_#{property}" end resolve_theme(validity_property) end |