@@ -56,28 +56,30 @@ function commission_basil(style) {
5656 </ ul >
5757
5858 <% if @additional_fields . any? %>
59+ <% has_previously_used_fields = @additional_fields . any? { |field , _ | @guidance . key? ( field . id . to_s ) } %>
5960 <% if @relevant_fields . any? %>
60- <%# Show collapsed when there ARE primary fields %>
61+ <%# Show collapsed when there ARE primary fields (unless user has previously selected additional fields) %>
6162 < div style ="margin-top: 1.5rem; border-top: 1px solid #e0e0e0; padding-top: 1rem; ">
6263 < a href ="# " class ="js-toggle-additional-fields-section grey-text text-darken-2 " style ="display: block; font-weight: bold; ">
63- < i class ="material-icons tiny " style ="vertical-align: middle; "> add_circle_outline</ i >
64+ < i class ="material-icons tiny js-plus-minus " style ="vertical-align: middle; "> <%= has_previously_used_fields ? 'remove_circle_outline' : ' add_circle_outline' %> </ i >
6465 Show <%= pluralize ( @additional_fields . count , 'more field' ) %> you can include
65- < i class ="material-icons tiny js-chevron " style ="vertical-align: middle; "> expand_more</ i >
66+ < i class ="material-icons tiny js-chevron " style ="vertical-align: middle; "> <%= has_previously_used_fields ? 'expand_less' : ' expand_more' %> </ i >
6667 </ a >
6768
68- < div class ="js-additional-fields-container hide " style ="margin-top: 0.5rem; ">
69+ < div class ="js-additional-fields-container <%= ' hide' unless has_previously_used_fields %> " style ="margin-top: 0.5rem; ">
6970 < ul style ="margin-top: 0.5rem; ">
7071 <% @additional_fields . each do |field , value | %>
71- < li style ="margin-bottom: 0.5em; opacity: 0.7; ">
72+ <% field_previously_used = @guidance . key? ( field . id . to_s ) %>
73+ < li style ="margin-bottom: 0.5em; opacity: <%= field_previously_used ? '1' : '0.7' %> ; ">
7274 < label >
73- <%= check_box_tag "basil_commission[include_field][#{ field . id } ]" , field . id , false , class : 'js-toggle-additional-field' %>
75+ <%= check_box_tag "basil_commission[include_field][#{ field . id } ]" , field . id , field_previously_used , class : 'js-toggle-additional-field' %>
7476 < span class ="grey-text "> <%= field . label %> </ span >
7577 </ label >
7678 < div class ="grey-text text-darken-1 " style ="font-size: 0.85em; margin-left: 1.5rem; "> <%= truncate ( value , length : 140 ) %> </ div >
77- < div class ="js-additional-field-inputs hide " data-field-id ="<%= field . id %> ">
78- <%= hidden_field_tag "basil_commission[field][#{ field . id } ][label]" , field . label , disabled : true %>
79- <%= hidden_field_tag "basil_commission[field][#{ field . id } ][value]" , value , disabled : true %>
80- <%= range_field_tag "basil_commission[field][#{ field . id } ][importance]" , 1 , { min : 0 , max : 1.3 , step : 0.1 , style : 'width: 60%;' , disabled : true , class : 'js-importance-slider hide' } %>
79+ < div class ="js-additional-field-inputs <%= ' hide' unless field_previously_used %> " data-field-id ="<%= field . id %> ">
80+ <%= hidden_field_tag "basil_commission[field][#{ field . id } ][label]" , field . label , disabled : ! field_previously_used %>
81+ <%= hidden_field_tag "basil_commission[field][#{ field . id } ][value]" , value , disabled : ! field_previously_used %>
82+ <%= range_field_tag "basil_commission[field][#{ field . id } ][importance]" , @guidance . fetch ( field . id . to_s , 1 ) , { min : 0 , max : 1.3 , step : 0.1 , style : 'width: 60%;' , disabled : ! field_previously_used , class : 'js-importance-slider hide' } %>
8183 </ div >
8284 </ li >
8385 <% end %>
@@ -93,16 +95,17 @@ function commission_basil(style) {
9395 </ div >
9496 < ul style ="margin-top: 0.5rem; ">
9597 <% @additional_fields . each do |field , value | %>
96- < li style ="margin-bottom: 0.5em; opacity: 0.7; ">
98+ <% field_previously_used = @guidance . key? ( field . id . to_s ) %>
99+ < li style ="margin-bottom: 0.5em; opacity: <%= field_previously_used ? '1' : '0.7' %> ; ">
97100 < label >
98- <%= check_box_tag "basil_commission[include_field][#{ field . id } ]" , field . id , false , class : 'js-toggle-additional-field' %>
101+ <%= check_box_tag "basil_commission[include_field][#{ field . id } ]" , field . id , field_previously_used , class : 'js-toggle-additional-field' %>
99102 < span class ="grey-text "> <%= field . label %> </ span >
100103 </ label >
101104 < div class ="grey-text text-darken-1 " style ="font-size: 0.85em; margin-left: 1.5rem; "> <%= truncate ( value , length : 140 ) %> </ div >
102- < div class ="js-additional-field-inputs hide " data-field-id ="<%= field . id %> ">
103- <%= hidden_field_tag "basil_commission[field][#{ field . id } ][label]" , field . label , disabled : true %>
104- <%= hidden_field_tag "basil_commission[field][#{ field . id } ][value]" , value , disabled : true %>
105- <%= range_field_tag "basil_commission[field][#{ field . id } ][importance]" , 1 , { min : 0 , max : 1.3 , step : 0.1 , style : 'width: 60%;' , disabled : true , class : 'js-importance-slider hide' } %>
105+ < div class ="js-additional-field-inputs <%= ' hide' unless field_previously_used %> " data-field-id ="<%= field . id %> ">
106+ <%= hidden_field_tag "basil_commission[field][#{ field . id } ][label]" , field . label , disabled : ! field_previously_used %>
107+ <%= hidden_field_tag "basil_commission[field][#{ field . id } ][value]" , value , disabled : ! field_previously_used %>
108+ <%= range_field_tag "basil_commission[field][#{ field . id } ][importance]" , @guidance . fetch ( field . id . to_s , 1 ) , { min : 0 , max : 1.3 , step : 0.1 , style : 'width: 60%;' , disabled : ! field_previously_used , class : 'js-importance-slider hide' } %>
106109 </ div >
107110 </ li >
108111 <% end %>
@@ -365,12 +368,15 @@ $(document).ready(function() {
365368 e.preventDefault();
366369 var container = $(this).siblings('.js-additional-fields-container');
367370 var chevron = $(this).find('.js-chevron');
371+ var plusMinus = $(this).find('.js-plus-minus');
368372
369373 container.toggleClass('hide');
370374 if (container.hasClass('hide')) {
371375 chevron.text('expand_more');
376+ plusMinus.text('add_circle_outline');
372377 } else {
373378 chevron.text('expand_less');
379+ plusMinus.text('remove_circle_outline');
374380 }
375381 });
376382
0 commit comments