Allow Chapter H multi-applicable notes to be "disabled".

master
Pacman Ghost 4 years ago
parent e23118e97f
commit 54299e17b8
  1. 9
      vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2
  2. 10
      vasl_templates/webapp/static/snippets.js
  3. 4
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/ob_ma_notes.j2
  4. 5
      vasl_templates/webapp/tests/test_vasl_extensions.py
  5. 2
      vasl_templates/webapp/vasl_mod.py

@ -16,6 +16,7 @@
.ma-note table th { padding: 2px 10px 2px 5px ; text-align: left ; background: #f0f0f0 ; }
.ma-note table td { padding: 0 10px 0 5px ; }
.extra-notes-caption { border: 1px solid #e0e0e0 ; background: #fcfcfc ; font-weight: bold ; padding: 2px 5px ; }
.disabled { color: #808080 ; }
.slashed { text-decoration: line-through ; }
</style>
</head>
@ -36,7 +37,9 @@
{%if OB_MA_NOTES%}
<tr> <td style="padding:0 5px;">
{%for ma_note in OB_MA_NOTES%}
<div class="ma-note"> {{ma_note}} </div>
{%if not ma_note[0]%} <div class="disabled"> {%endif%}
<div class="ma-note"> {{ma_note[1]}} </div>
{%if not ma_note[0]%} </div> {%endif%}
{%endfor%}
{%endif%}
@ -44,7 +47,9 @@
<tr> <td style="padding:0 5px;">
{%if OB_EXTRA_MA_NOTES_CAPTION%} <div class="extra-notes-caption"> {{OB_EXTRA_MA_NOTES_CAPTION}} </div> {%endif%}
{%for ma_note in OB_EXTRA_MA_NOTES%}
<div class="ma-note"> {{ma_note}} </div>
{%if not ma_note[0]%} <div class="disabled"> {%endif%}
<div class="ma-note"> {{ma_note[1]}} </div>
{%if not ma_note[0]%} </div> {%endif%}
{%endfor%}
{%endif%}

@ -254,13 +254,17 @@ function make_snippet( $btn, params, extra_params, show_date_warnings )
key = key.substring( pos+1 ) ;
}
}
if ( ! ma_note && gUserSettings["hide-unavailable-ma-notes"] )
if ( !ma_note && gUserSettings["hide-unavailable-ma-notes"] )
continue ;
params[ param_name ].push(
// NOTE: We don't exclude disabled multi-applicable notes, since it can be confusing for
// the user (e.g. a vehicle references note X, but note X is not there), so instead,
// we allow them to be styled to have less visual impact.
var ma_note_enabled = ma_note && ma_note.indexOf( "<!-- disabled -->" ) === -1 ;
params[ param_name ].push( [ ma_note_enabled,
extn_marker +
"<span class='key'>" + key + ":" + "</span> " +
(ma_note || "Unavailable.")
) ;
] ) ;
}
}
function get_ma_notes( vo_type, player_no, param_name ) {

@ -1,8 +1,8 @@
{%for ma_note in OB_MA_NOTES%} [*] {{ma_note}}
{%for ma_note in OB_MA_NOTES%} [*] {{ma_note[1]}}
{%endfor%}
{%if OB_EXTRA_MA_NOTES%}
{%if OB_EXTRA_MA_NOTES_CAPTION%} === {{OB_EXTRA_MA_NOTES_CAPTION}} === {%endif%}
{%for ma_note in OB_EXTRA_MA_NOTES%} [*] {{ma_note}}
{%for ma_note in OB_EXTRA_MA_NOTES%} [*] {{ma_note[1]}}
{%endfor%}
{%endif%}

@ -422,6 +422,7 @@ def _extract_extn_ma_notes( clipboard ): #pylint: disable=missing-docstring
# just enough for us to determine whether we're showing the right one or not.
for i,ma_note in enumerate(ma_notes):
is_extn = "&#x2756;" in ma_note
mo = re.search( r"<span class='key'>(.+?):</span>(.*)", ma_note )
ma_notes[i] = is_extn, mo.group(1).strip(), mo.group(2).strip()[:20]
mo = re.search( r"<span class='key'>(.+?):</span>(.*)", ma_note, re.DOTALL )
val = mo.group(2).replace( "<!-- disabled -->", "" )
ma_notes[i] = is_extn, mo.group(1).strip(), val.strip()[:20]
return ma_notes

@ -429,7 +429,7 @@ def get_vo_gpids( vasl_mod ):
for vo_type in ("vehicles","ordnance"):
for vo_entries in listings[ vo_type ].values():
for vo_entry in vo_entries:
vo_gpids = vo_entry[ "gpid" ]
vo_gpids = vo_entry.get( "gpid" )
if not vo_gpids:
continue
gpids.update(

Loading…
Cancel
Save