Feature #14275 » 14275.patch
| app/helpers/custom_fields_helper.rb | ||
|---|---|---|
| 79 | 79 | |
| 80 | 80 | # Return custom field html tag corresponding to its format | 
| 81 | 81 | def custom_field_tag(prefix, custom_value) | 
| 82 | css = custom_value.custom_field.css_classes | |
| 82 | cf = custom_value.custom_field | |
| 83 | css = cf.css_classes | |
| 84 | placeholder = cf.description | |
| 85 |     placeholder&.tr!("\n", ' ') if cf.field_format != 'text' | |
| 83 | 86 | data = nil | 
| 84 |     if custom_value.custom_field.full_text_formatting? | |
| 87 |     if cf.full_text_formatting? | |
| 85 | 88 | css += ' wiki-edit' | 
| 86 | 89 |       data = { | 
| 87 | 90 | :auto_complete => true | 
| 88 | 91 | } | 
| 89 | 92 | end | 
| 90 |     custom_value.custom_field.format.edit_tag( | |
| 93 |     cf.format.edit_tag( | |
| 91 | 94 | self, | 
| 92 |       custom_field_tag_id(prefix, custom_value.custom_field), | |
| 93 |       custom_field_tag_name(prefix, custom_value.custom_field), | |
| 95 |       custom_field_tag_id(prefix, cf), | |
| 96 |       custom_field_tag_name(prefix, cf), | |
| 94 | 97 | custom_value, | 
| 95 | 98 | :class => css, | 
| 99 | :placeholder => placeholder, | |
| 96 | 100 | :data => data) | 
| 97 | 101 | end | 
| 98 | 102 | |
| public/stylesheets/application.css | ||
|---|---|---|
| 510 | 510 | outline: none; | 
| 511 | 511 | } | 
| 512 | 512 | |
| 513 | input:placeholder-shown { | |
| 514 | text-overflow: ellipsis; | |
| 515 | } | |
| 516 | ||
| 513 | 517 | select[multiple=multiple] {background: #fff; padding-right: initial; height: auto;} | 
| 514 | 518 | fieldset {border: 1px solid #e4e4e4; margin:0; min-width: inherit;} | 
| 515 | 519 | legend {color: #333;} | 
| test/helpers/custom_fields_helper_test.rb | ||
|---|---|---|
| 96 | 96 |     assert_select_in custom_field_tag('object', value), "textarea.text_cf.wiki-edit.cf_#{field.id}" | 
| 97 | 97 | end | 
| 98 | 98 | |
| 99 | def test_custom_field_tag_class_should_contain_placeholder | |
| 100 | field = IssueCustomField.create!(:name => 'Text', :field_format => 'string', :description => "Foo\nBar\nBaz") | |
| 101 | value = CustomValue.new(:value => 'bar', :custom_field => field) | |
| 102 | ||
| 103 |     assert_select_in custom_field_tag('object', value), "input.string_cf.cf_#{field.id}[placeholder=?]", 'Foo Bar Baz' | |
| 104 | end | |
| 105 | ||
| 99 | 106 | def test_select_type_radio_buttons | 
| 100 | 107 |     result = select_type_radio_buttons('UserCustomField') | 
| 101 | 108 | assert_select_in result, 'input[type="radio"]', :count => 10 |