From 5e0019c753ea92bbcce1e911196ce4b92be4c92c Mon Sep 17 00:00:00 2001 From: Taka Date: Sun, 7 Apr 2019 13:10:25 +0000 Subject: [PATCH] Allow custom list bullets to be used everywhere (optionally). Also factored out common CSS into its own include file. --- .../webapp/data/default-template-pack/atmm.j2 | 4 ++-- .../webapp/data/default-template-pack/baz.j2 | 4 +--- .../webapp/data/default-template-pack/common.css | 13 +++++++++++++ .../webapp/data/default-template-pack/mol-p.j2 | 5 +---- .../webapp/data/default-template-pack/mol.j2 | 9 ++++----- .../data/default-template-pack/ob_ma_notes.j2 | 6 +----- .../webapp/data/default-template-pack/ob_note.j2 | 3 +++ .../webapp/data/default-template-pack/ob_setup.j2 | 3 +++ .../webapp/data/default-template-pack/ob_vo.j2 | 4 +--- .../data/default-template-pack/ob_vo_note.css | 2 -- .../webapp/data/default-template-pack/ob_vo_note.j2 | 5 ++++- .../webapp/data/default-template-pack/pf.j2 | 6 ++---- .../webapp/data/default-template-pack/piat.j2 | 4 +--- .../webapp/data/default-template-pack/players.j2 | 9 +++++++-- .../webapp/data/default-template-pack/psk.j2 | 4 +--- .../webapp/data/default-template-pack/scenario.j2 | 4 ++-- .../data/default-template-pack/scenario_note.j2 | 3 +++ .../webapp/data/default-template-pack/ssr.j2 | 11 ++++++----- .../webapp/data/default-template-pack/thh.j2 | 4 ++-- .../default-template-pack/victory_conditions.j2 | 5 ++++- vasl_templates/webapp/static/snippets.js | 2 ++ vasl_templates/webapp/static/user_settings.js | 3 ++- .../webapp/templates/user-settings-dialog.html | 1 + vasl_templates/webapp/tests/test_vassal.py | 5 +++-- vasl_templates/webapp/vo_notes.py | 9 ++++++--- 25 files changed, 75 insertions(+), 53 deletions(-) create mode 100644 vasl_templates/webapp/data/default-template-pack/common.css diff --git a/vasl_templates/webapp/data/default-template-pack/atmm.j2 b/vasl_templates/webapp/data/default-template-pack/atmm.j2 index 7cc3295..21a5c97 100644 --- a/vasl_templates/webapp/data/default-template-pack/atmm.j2 +++ b/vasl_templates/webapp/data/default-template-pack/atmm.j2 @@ -3,7 +3,7 @@ @@ -23,7 +23,7 @@ td { margin: 0 ; padding: 0 ; } ATMM check: dr ≤ 3 (△)
- diff --git a/vasl_templates/webapp/data/default-template-pack/baz.j2 b/vasl_templates/webapp/data/default-template-pack/baz.j2 index 5192a36..13484e7 100644 --- a/vasl_templates/webapp/data/default-template-pack/baz.j2 +++ b/vasl_templates/webapp/data/default-template-pack/baz.j2 @@ -3,9 +3,7 @@ diff --git a/vasl_templates/webapp/data/default-template-pack/common.css b/vasl_templates/webapp/data/default-template-pack/common.css new file mode 100644 index 0000000..cf438af --- /dev/null +++ b/vasl_templates/webapp/data/default-template-pack/common.css @@ -0,0 +1,13 @@ +p { margin-top: 5px ; margin-bottom: 0 ; } + +ul { margin: 0 ; padding: 0 0 0 10px ; } +{% if CUSTOM_LIST_BULLETS %} +ul { list-style-image: url("{{IMAGES_BASE_URL}}/bullet.png") ; } +{%endif%} + +td { margin: 0 ; padding: 0 ; } +td.c { text-align: center ; } +td.l { text-align: left ; } +td.r { text-align: right ; } + +sup { font-size: 75% ; } diff --git a/vasl_templates/webapp/data/default-template-pack/mol-p.j2 b/vasl_templates/webapp/data/default-template-pack/mol-p.j2 index 8916f47..cf0bc5a 100644 --- a/vasl_templates/webapp/data/default-template-pack/mol-p.j2 +++ b/vasl_templates/webapp/data/default-template-pack/mol-p.j2 @@ -3,10 +3,7 @@ diff --git a/vasl_templates/webapp/data/default-template-pack/mol.j2 b/vasl_templates/webapp/data/default-template-pack/mol.j2 index 69b2b57..0d12f42 100644 --- a/vasl_templates/webapp/data/default-template-pack/mol.j2 +++ b/vasl_templates/webapp/data/default-template-pack/mol.j2 @@ -3,8 +3,7 @@ @@ -22,9 +21,9 @@ ul { margin: 0 ; padding-left: 10px ; list-style-image: url("{{IMAGES_BASE_URL}}
+1 HS/crew + +1 HS/crew
+2 SMC
MOL check: dr ≤ 3 (△)
- +
- @@ -33,7 +32,7 @@ ul { margin: 0 ; padding-left: 10px ; list-style-image: url("{{IMAGES_BASE_URL}}
+1 HS/crew + +1 HS/crew
+2 SMC
+1 non-AFV target
IFT DR original colored dr: -
    +
    • 1 = Flame in target Location
    • 6 = thrower breaks, Flame in their Location
    diff --git a/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2 b/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2 index 2ebe201..54796e7 100644 --- a/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2 +++ b/vasl_templates/webapp/data/default-template-pack/ob_ma_notes.j2 @@ -3,11 +3,10 @@ diff --git a/vasl_templates/webapp/data/default-template-pack/ob_note.j2 b/vasl_templates/webapp/data/default-template-pack/ob_note.j2 index 36baf07..eb13767 100644 --- a/vasl_templates/webapp/data/default-template-pack/ob_note.j2 +++ b/vasl_templates/webapp/data/default-template-pack/ob_note.j2 @@ -2,6 +2,9 @@ + diff --git a/vasl_templates/webapp/data/default-template-pack/ob_setup.j2 b/vasl_templates/webapp/data/default-template-pack/ob_setup.j2 index 976291f..5d1d4a5 100644 --- a/vasl_templates/webapp/data/default-template-pack/ob_setup.j2 +++ b/vasl_templates/webapp/data/default-template-pack/ob_setup.j2 @@ -2,6 +2,9 @@ +
    diff --git a/vasl_templates/webapp/data/default-template-pack/ob_vo.j2 b/vasl_templates/webapp/data/default-template-pack/ob_vo.j2 index 3b7a8d1..da56b73 100644 --- a/vasl_templates/webapp/data/default-template-pack/ob_vo.j2 +++ b/vasl_templates/webapp/data/default-template-pack/ob_vo.j2 @@ -3,9 +3,7 @@ +
    diff --git a/vasl_templates/webapp/data/default-template-pack/pf.j2 b/vasl_templates/webapp/data/default-template-pack/pf.j2 index f0c2262..ec8e890 100644 --- a/vasl_templates/webapp/data/default-template-pack/pf.j2 +++ b/vasl_templates/webapp/data/default-template-pack/pf.j2 @@ -3,9 +3,7 @@ @@ -26,7 +24,7 @@ td.r { text-align: right ; } PF check: dr ≤ {{PF_CHECK_DR}} (△)
    - diff --git a/vasl_templates/webapp/data/default-template-pack/piat.j2 b/vasl_templates/webapp/data/default-template-pack/piat.j2 index 02b9aa0..1fcac02 100644 --- a/vasl_templates/webapp/data/default-template-pack/piat.j2 +++ b/vasl_templates/webapp/data/default-template-pack/piat.j2 @@ -3,9 +3,7 @@ diff --git a/vasl_templates/webapp/data/default-template-pack/players.j2 b/vasl_templates/webapp/data/default-template-pack/players.j2 index 1539db5..d068057 100644 --- a/vasl_templates/webapp/data/default-template-pack/players.j2 +++ b/vasl_templates/webapp/data/default-template-pack/players.j2 @@ -2,6 +2,9 @@ +
    +1 HS/crew + +1 HS/crew
    +2 SMC
    {%if PLAYER_FLAG_1%} {%endif%}{{PLAYER_1_NAME}}:
    {%if PLAYER_FLAG_2%} {%endif%}{{PLAYER_2_NAME}}: -
    + + ELR: {{PLAYER_1_ELR}}
    ELR: {{PLAYER_2_ELR}} -
    + + SAN: {{PLAYER_1_SAN}}
    SAN: {{PLAYER_2_SAN}} diff --git a/vasl_templates/webapp/data/default-template-pack/psk.j2 b/vasl_templates/webapp/data/default-template-pack/psk.j2 index a2fc7f8..d67a2b5 100644 --- a/vasl_templates/webapp/data/default-template-pack/psk.j2 +++ b/vasl_templates/webapp/data/default-template-pack/psk.j2 @@ -3,9 +3,7 @@ diff --git a/vasl_templates/webapp/data/default-template-pack/scenario.j2 b/vasl_templates/webapp/data/default-template-pack/scenario.j2 index e6d2588..bfdd220 100644 --- a/vasl_templates/webapp/data/default-template-pack/scenario.j2 +++ b/vasl_templates/webapp/data/default-template-pack/scenario.j2 @@ -3,7 +3,7 @@ @@ -13,6 +13,7 @@ td { padding: 5px 10px 5px 10px ; }
    @@ -24,7 +25,6 @@ td { padding: 5px 10px 5px 10px ; } {%if SCENARIO_DATE%} ({{SCENARIO_MONTH_NAME}} {{SCENARIO_DAY_OF_MONTH_POSTFIX}}, {{SCENARIO_YEAR}}) {%endif%} -
    diff --git a/vasl_templates/webapp/data/default-template-pack/scenario_note.j2 b/vasl_templates/webapp/data/default-template-pack/scenario_note.j2 index 4c5b8af..d34ace4 100644 --- a/vasl_templates/webapp/data/default-template-pack/scenario_note.j2 +++ b/vasl_templates/webapp/data/default-template-pack/scenario_note.j2 @@ -2,6 +2,9 @@ + diff --git a/vasl_templates/webapp/data/default-template-pack/ssr.j2 b/vasl_templates/webapp/data/default-template-pack/ssr.j2 index 3305ed6..21e5e7a 100644 --- a/vasl_templates/webapp/data/default-template-pack/ssr.j2 +++ b/vasl_templates/webapp/data/default-template-pack/ssr.j2 @@ -3,7 +3,9 @@ @@ -15,15 +17,14 @@ ul { margin: 0 ; padding-left: 0 ; list-style-image: url("{{IMAGES_BASE_URL}}/bu
    Scenario Special Rules
    -
      -{%for ssr in SSR%} -
    • {{ssr}} -{%endfor%} +
        +{%for ssr in SSR%}
      • {{ssr}} {%endfor%}
    diff --git a/vasl_templates/webapp/data/default-template-pack/thh.j2 b/vasl_templates/webapp/data/default-template-pack/thh.j2 index cc247fa..4f2eaab 100644 --- a/vasl_templates/webapp/data/default-template-pack/thh.j2 +++ b/vasl_templates/webapp/data/default-template-pack/thh.j2 @@ -3,7 +3,7 @@ @@ -24,7 +24,7 @@ td { margin: 0 ; padding: 0 ; } THH creation: dr ≤ 3 (△) - diff --git a/vasl_templates/webapp/data/default-template-pack/victory_conditions.j2 b/vasl_templates/webapp/data/default-template-pack/victory_conditions.j2 index bed9d31..e5fe5a6 100644 --- a/vasl_templates/webapp/data/default-template-pack/victory_conditions.j2 +++ b/vasl_templates/webapp/data/default-template-pack/victory_conditions.j2 @@ -2,6 +2,9 @@ +
    +2 if Conscript + +2 if Conscript
    +1 if HS
    - Victory Conditions + Victory Conditions
    diff --git a/vasl_templates/webapp/static/snippets.js b/vasl_templates/webapp/static/snippets.js index c33593f..94900cd 100644 --- a/vasl_templates/webapp/static/snippets.js +++ b/vasl_templates/webapp/static/snippets.js @@ -126,6 +126,8 @@ function make_snippet( $btn, params, extra_params, show_date_warnings ) // add simple parameters params.IMAGES_BASE_URL = APP_URL_BASE + gImagesBaseUrl ; + if ( gUserSettings["custom-list-bullets"] ) + params.CUSTOM_LIST_BULLETS = true ; // set player-specific parameters var player_no = get_player_no_for_element( $btn ) ; diff --git a/vasl_templates/webapp/static/user_settings.js b/vasl_templates/webapp/static/user_settings.js index e39e993..2c4b718 100644 --- a/vasl_templates/webapp/static/user_settings.js +++ b/vasl_templates/webapp/static/user_settings.js @@ -5,6 +5,7 @@ USER_SETTINGS = { "hide-unavailable-ma-notes": "checkbox", "include-vasl-images-in-snippets": "checkbox", "include-flags-in-snippets": "checkbox", + "custom-list-bullets": "checkbox", "vo-notes-as-images": "checkbox", } ; @@ -45,7 +46,7 @@ function user_settings() dialogClass: "user-settings", modal: true, width: 440, - height: 300, + height: 315, resizable: false, create: function() { init_dialog( $(this), "OK", true ) ; diff --git a/vasl_templates/webapp/templates/user-settings-dialog.html b/vasl_templates/webapp/templates/user-settings-dialog.html index 2b7c8bb..aacf78e 100644 --- a/vasl_templates/webapp/templates/user-settings-dialog.html +++ b/vasl_templates/webapp/templates/user-settings-dialog.html @@ -18,6 +18,7 @@  Include VASL images in snippets
     Include flags in snippets
    +  Use custom list bullets
     
     Show Chapter H vehicle/ordnance notes as images diff --git a/vasl_templates/webapp/tests/test_vassal.py b/vasl_templates/webapp/tests/test_vassal.py index 77836e7..2973f4a 100644 --- a/vasl_templates/webapp/tests/test_vassal.py +++ b/vasl_templates/webapp/tests/test_vassal.py @@ -279,7 +279,8 @@ def test_latw_update( webapp, webdriver ): load_scenario_params( { "scenario": { "PLAYER_1": "german", "PLAYER_2": "russian", "SCENARIO_DATE": "" } } ) # NOTE: We changed the MOL-P template (to add custom list bullets), so the snippet is different # to when this test was originally written, and so #updated changed from 2 to 3. - updated_vsav_dump = _update_vsav_and_dump( fname, { "created": 3, "updated": 3, "deleted": 2 } ) + # NOTE: Same thing happened when we factored out the common CSS into common.css :-/ Sigh... + updated_vsav_dump = _update_vsav_and_dump( fname, { "created": 3, "updated": 5, "deleted": 2 } ) _check_vsav_dump( updated_vsav_dump, { "pf": "Panzerfaust", "psk": "Panzerschrek", "atmm": "ATMM check:", # nb: the PF label now has a snippet ID "mol": "Kindling Attempt:", "mol-p": "TH#", # nb: the MOL label now has a snippet ID @@ -290,7 +291,7 @@ def test_latw_update( webapp, webdriver ): load_scenario_params( { "scenario": { "PLAYER_1": "british", "PLAYER_2": "american", "SCENARIO_DATE": "12/31/1943" } } ) - updated_vsav_dump = _update_vsav_and_dump( fname, { "created": 3, "updated": 1, "deleted": 3 } ) + updated_vsav_dump = _update_vsav_and_dump( fname, { "created": 3, "updated": 2, "deleted": 3 } ) _check_vsav_dump( updated_vsav_dump, { # nb: the PSK/ATMM and MOL-P label are now gone "piat": "TH#", diff --git a/vasl_templates/webapp/vo_notes.py b/vasl_templates/webapp/vo_notes.py index 2a0fa08..6d8695d 100644 --- a/vasl_templates/webapp/vo_notes.py +++ b/vasl_templates/webapp/vo_notes.py @@ -236,9 +236,12 @@ def _make_vo_note_html( vo_note ): url_root = url_root[:-1] # inject the CSS (we do it like this since VASSAL doesn't support :-/) - css = globvars.template_pack.get( "css", {} ).get( "ob_vo_note" ) - if css: - vo_note = "\n\n\n\n{}".format( css, vo_note ) + css = [ + globvars.template_pack.get( "css", {} ).get( "common", "" ), + globvars.template_pack.get( "css", {} ).get( "ob_vo_note", "" ), + ] + if any( css ): + vo_note = "\n\n\n\n{}".format( "\n".join(css), vo_note ) # update any parameters vo_note = vo_note.replace( "{{CHAPTER_H}}", url_root+"/chapter-h" )