WebHost: weighted-options bugfixes (#3448)
* Fix improper css for word-break on player-options page
* Add default handling to weighted-options types
* Remove random-low/mid/high from Toggle, Choice, and TextChoice,
* Port key sorting for OptionList and OptionSet from player-options to weighted-options
* Ensure Choice and TextChoice values are set properly
* Remove debug line 🤦♂️
			
			
This commit is contained in:
		
							parent
							
								
									c7eef13b33
								
							
						
					
					
						commit
						06e65c1dc6
					
				|  | @ -15,7 +15,7 @@ html { | |||
|   border-radius: 8px; | ||||
|   padding: 1rem; | ||||
|   color: #eeffeb; | ||||
|   word-break: break-all; | ||||
|   word-break: break-word; | ||||
| } | ||||
| #player-options #player-options-header h1 { | ||||
|   margin-bottom: 0; | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ html{ | |||
|     border-radius: 8px; | ||||
|     padding: 1rem; | ||||
|     color: #eeffeb; | ||||
|     word-break: break-all; | ||||
|     word-break: break-word; | ||||
| 
 | ||||
|     #player-options-header{ | ||||
|         h1{ | ||||
|  |  | |||
|  | @ -1,9 +1,9 @@ | |||
| {% macro Toggle(option_name, option) %} | ||||
|     <table> | ||||
|         <tbody> | ||||
|             {{ RangeRow(option_name, option, "No", "false") }} | ||||
|             {{ RangeRow(option_name, option, "Yes", "true") }} | ||||
|             {{ RandomRows(option_name, option) }} | ||||
|             {{ RangeRow(option_name, option, "No", "false", False, "true" if option.default else "false") }} | ||||
|             {{ RangeRow(option_name, option, "Yes", "true", False, "true" if option.default else "false") }} | ||||
|             {{ RandomRow(option_name, option) }} | ||||
|         </tbody> | ||||
|     </table> | ||||
| {% endmacro %} | ||||
|  | @ -18,10 +18,10 @@ | |||
|         <tbody> | ||||
|             {% for id, name in option.name_lookup.items() %} | ||||
|                 {% if name != 'random' %} | ||||
|                     {{ RangeRow(option_name, option, option.get_option_name(id), name) }} | ||||
|                     {{ RangeRow(option_name, option, option.get_option_name(id), name, False, name if option.get_option_name(option.default)|lower == name|lower else None) }} | ||||
|                 {% endif %} | ||||
|             {% endfor %} | ||||
|             {{ RandomRows(option_name, option) }} | ||||
|             {{ RandomRow(option_name, option) }} | ||||
|         </tbody> | ||||
|     </table> | ||||
| {% endmacro %} | ||||
|  | @ -72,7 +72,9 @@ | |||
|         </div> | ||||
|         <table> | ||||
|             <tbody> | ||||
|                 <!-- This table to be filled by JS --> | ||||
|                 {% if option.default %} | ||||
|                     {{ RangeRow(option_name, option, option.default, option.default) }} | ||||
|                 {% endif %} | ||||
|             </tbody> | ||||
|         </table> | ||||
|     </div> | ||||
|  | @ -90,10 +92,10 @@ | |||
|         <tbody> | ||||
|             {% for id, name in option.name_lookup.items() %} | ||||
|                 {% if name != 'random' %} | ||||
|                     {{ RangeRow(option_name, option, option.get_option_name(id), name) }} | ||||
|                     {{ RangeRow(option_name, option, option.get_option_name(id), name, False, name if option.get_option_name(option.default)|lower == name else None) }} | ||||
|                 {% endif %} | ||||
|             {% endfor %} | ||||
|             {{ RandomRows(option_name, option) }} | ||||
|             {{ RandomRow(option_name, option) }} | ||||
|         </tbody> | ||||
|     </table> | ||||
| {% endmacro %} | ||||
|  | @ -112,7 +114,7 @@ | |||
|                     type="number" | ||||
|                     id="{{ option_name }}-{{ item_name }}-qty" | ||||
|                     name="{{ option_name }}||{{ item_name }}" | ||||
|                     value="0" | ||||
|                     value="{{ option.default[item_name] if item_name in option.default else "0" }}" | ||||
|                 /> | ||||
|             </div> | ||||
|         {% endfor %} | ||||
|  | @ -121,13 +123,14 @@ | |||
| 
 | ||||
| {% macro OptionList(option_name, option) %} | ||||
|     <div class="list-container"> | ||||
|         {% for key in option.valid_keys|sort %} | ||||
|         {% for key in (option.valid_keys if option.valid_keys is ordered else option.valid_keys|sort) %} | ||||
|             <div class="list-entry"> | ||||
|                 <input | ||||
|                     type="checkbox" | ||||
|                     id="{{ option_name }}-{{ key }}" | ||||
|                     name="{{ option_name }}||{{ key }}" | ||||
|                     value="1" | ||||
|                     checked="{{ "checked" if key in option.default else "" }}" | ||||
|                 /> | ||||
|                 <label for="{{ option_name }}-{{ key }}"> | ||||
|                     {{ key }} | ||||
|  | @ -183,7 +186,7 @@ | |||
| 
 | ||||
| {% macro OptionSet(option_name, option) %} | ||||
|     <div class="set-container"> | ||||
|         {% for key in option.valid_keys|sort %} | ||||
|         {% for key in (option.valid_keys if option.valid_keys is ordered else option.valid_keys|sort) %} | ||||
|             <div class="set-entry"> | ||||
|                 <input type="checkbox" id="{{ option_name }}-{{ key }}" name="{{ option_name }}||{{ key }}" value="1" {{ "checked" if key in option.default }} /> | ||||
|                 <label for="{{ option_name }}-{{ key }}">{{ key }}</label> | ||||
|  | @ -200,13 +203,17 @@ | |||
|     </td> | ||||
| {% endmacro %} | ||||
| 
 | ||||
| {% macro RandomRow(option_name, option, extra_column=False) %} | ||||
|     {{ RangeRow(option_name, option, "Random", "random") }} | ||||
| {% endmacro %} | ||||
| 
 | ||||
| {% macro RandomRows(option_name, option, extra_column=False) %} | ||||
|     {% for key, value in {"Random": "random", "Random (Low)": "random-low", "Random (Middle)": "random-middle", "Random (High)": "random-high"}.items() %} | ||||
|         {{ RangeRow(option_name, option, key, value) }} | ||||
|     {% endfor %} | ||||
| {% endmacro %} | ||||
| 
 | ||||
| {% macro RangeRow(option_name, option, display_value, value, can_delete=False) %} | ||||
| {% macro RangeRow(option_name, option, display_value, value, can_delete=False, default_override=None) %} | ||||
|     <tr data-row="{{ option_name }}-{{ value }}-row" data-option-name="{{ option_name }}" data-value="{{ value }}"> | ||||
|         <td class="td-left"> | ||||
|             <label for="{{ option_name }}||{{ value }}"> | ||||
|  | @ -220,7 +227,7 @@ | |||
|                 name="{{ option_name }}||{{ value }}" | ||||
|                 min="0" | ||||
|                 max="50" | ||||
|                 {% if option.default == value %} | ||||
|                 {% if option.default == value or default_override == value %} | ||||
|                     value="25" | ||||
|                 {% else %} | ||||
|                     value="0" | ||||
|  | @ -229,7 +236,7 @@ | |||
|         </td> | ||||
|         <td class="td-right"> | ||||
|             <span id="{{ option_name }}||{{ value }}-value"> | ||||
|                 {% if option.default == value %} | ||||
|                 {% if option.default == value or default_override == value %} | ||||
|                     25 | ||||
|                 {% else %} | ||||
|                     0 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue