Updated color management for nationalities with two-tone counters.

master
Pacman Ghost 6 years ago
parent 287bccc498
commit f631d11cd5
  1. 18
      vasl_templates/webapp/data/default-template-pack/nationalities.json
  2. 2
      vasl_templates/webapp/static/main.js
  3. 4
      vasl_templates/webapp/static/simple_notes.js
  4. 4
      vasl_templates/webapp/static/snippets.js
  5. 6
      vasl_templates/webapp/static/sortable.js
  6. 2
      vasl_templates/webapp/static/vo.js
  7. 16
      vasl_templates/webapp/tests/fixtures/data/default-template-pack/nationalities.json
  8. 26
      vasl_templates/webapp/tests/test_ob.py

@ -2,47 +2,47 @@
"german": {
"display_name": "German",
"ob_colors": [ "#d3edfc", "#91cdf5" ]
"ob_colors": [ "#d3edfc","#91cdf5", "#91cdf5" ]
},
"russian": {
"display_name": "Russian",
"ob_colors": [ "#eabe51", "#d68d1a" ]
"ob_colors": [ "#eabe51","#d68d1a", "#d68d1a" ]
},
"american": {
"display_name": "American",
"ob_colors": [ "#e5f700", "#cdf000" ]
"ob_colors": [ "#e5f700","#cdf000", "#cdf000" ]
},
"british": {
"display_name": "British",
"ob_colors": [ "#f6edda", "#e5cea0" ]
"ob_colors": [ "#f6edda","#e5cea0", "#e5cea0" ]
},
"french": {
"display_name": "French",
"ob_colors": [ "#a2ddff", "#41a5ff" ]
"ob_colors": [ "#a2ddff","#41a5ff", "#41a5ff" ]
},
"italian": {
"display_name": "Italian",
"ob_colors": [ "#dde0e2", "#a6adb2" ]
"ob_colors": [ "#dde0e2","#a6adb2", "#a6adb2" ]
},
"finnish": {
"display_name": "Finnish",
"ob_colors": [ "#edefef", "#ced3d3" ]
"ob_colors": [ "#edefef","#ced3d3", "#ced3d3" ]
},
"japanese": {
"display_name": "Japanese",
"ob_colors": [ "#fff200", "#ffdb00" ]
"ob_colors": [ "#fff200","#ffdb00", "#ffdb00" ]
},
"chinese": {
"display_name": "Chinese",
"ob_colors": [ "#d3edfc", "#e0a22b" ]
"ob_colors": [ "#d3edfc","#91cdf5", "#e0a22b" ]
}
}

@ -550,7 +550,7 @@ function on_tab_activate( evt, ui )
// set the tab being activated
function set_colors_for_player( tab_id, player_no ) {
var colors = get_player_colors( player_no ) ;
set_colors( tab_id, colors[0], colors[1] ) ;
set_colors( tab_id, colors[0], colors[2] ) ;
}
tab_id = ui.newPanel.prop( "id" ) ;
var $tab = $( "#"+tab_id ) ;

@ -58,10 +58,10 @@ function _do_edit_simple_note( $sortable2, $entry, default_width )
var $dlg = $(this) ;
$width.keydown( function(evt) { auto_dismiss_dialog( $dlg, evt, "OK" ) ; } ) ;
// set the titlebar color
var colors = get_player_colors_for_element($sortable2) || ["#d0d0d0","#ca0a0a0"] ;
var colors = get_player_colors_for_element($sortable2) || ["#d0d0d0","#c0c0c0","#a0a0a0"] ;
$(".ui-dialog.edit-simple_note .ui-dialog-titlebar").css( {
background: colors[0],
border: "1px solid "+colors[1]
border: "1px solid "+colors[2]
} ) ;
// load the dialog
var data = $entry ? $entry.data("sortable2-data") : null ;

@ -49,12 +49,12 @@ function generate_snippet( $btn, extra_params )
params.PLAYER_NAME = get_nationality_display_name( params.PLAYER_1 ) ;
colors = get_player_colors( 1 ) ;
params.OB_COLOR = colors[0] ;
params.OB_COLOR_2 = colors[1] ;
params.OB_COLOR_2 = colors[2] ;
} else if ( curr_tab === "#tabs-ob2" ) {
params.PLAYER_NAME = get_nationality_display_name( params.PLAYER_2 ) ;
colors = get_player_colors( 2 ) ;
params.OB_COLOR = colors[0] ;
params.OB_COLOR_2 = colors[1] ;
params.OB_COLOR_2 = colors[2] ;
}
// set player-specific parameters

@ -126,7 +126,7 @@ $.fn.sortable2 = function( action, args )
// style the entry
// NOTE: Colors aren't going to work when we're using the test template pack!
var colors = get_player_colors_for_element($sortable2) || ["#f0f0f0","#c0c0c0"] ;
var colors = get_player_colors_for_element($sortable2) || ["#f0f0f0","#e0e0e0","#c0c0c0"] ;
$entry.data( "colors", colors ) ;
set_entry_colors( $entry, false ) ;
$entry.on( {
@ -211,8 +211,8 @@ $.fn.sortable2 = function( action, args )
invert = true ; // nb: drag is in progress
$entry.css( {
"background": colors[invert?1:0],
"border-bottom": "1px solid "+colors[invert?0:1],
"border-right": "1px solid "+colors[invert?0:1],
"border-bottom": "1px solid "+colors[2],
"border-right": "1px solid "+colors[2],
} ) ;
}

@ -57,7 +57,7 @@ function add_vo( vo_type, player_no )
var colors = get_player_colors_for_element( $sortable2 ) ;
$(".ui-dialog.select-vo .ui-dialog-titlebar").css( {
background: colors[0],
border: "1px solid "+colors[1],
border: "1px solid "+colors[2],
} ) ;
},
buttons: {

@ -2,42 +2,42 @@
"german": {
"display_name": "German",
"ob_colors": [ "OBCOL:german", "OBCOL2:german" ]
"ob_colors": [ "OBCOL:german","OBCOL2:german", "OBCOL-BORDER:german" ]
},
"russian": {
"display_name": "Russian",
"ob_colors": [ "OBCOL:russian", "OBCOL2:russian" ]
"ob_colors": [ "OBCOL:russian","OBCOL2:russian", "OBCOL-BORDER:russian" ]
},
"american": {
"display_name": "American",
"ob_colors": [ "OBCOL:american", "OBCOL2:american" ]
"ob_colors": [ "OBCOL:american","OBCOL2:american", "OBCOL-BORDER:american" ]
},
"british": {
"display_name": "British",
"ob_colors": [ "OBCOL:british", "OBCOL2:british" ]
"ob_colors": [ "OBCOL:british","OBCOL2:british", "OBCOL-BORDER:british" ]
},
"french": {
"display_name": "French",
"ob_colors": [ "OBCOL:french", "OBCOL2:french" ]
"ob_colors": [ "OBCOL:french","OBCOL2:french", "OBCOL-BORDER:french" ]
},
"italian": {
"display_name": "Italian",
"ob_colors": [ "OBCOL:italian", "OBCOL2:italian" ]
"ob_colors": [ "OBCOL:italian","OBCOL2:italian", "OBCOL-BORDER:italian" ]
},
"finnish": {
"display_name": "Finnish",
"ob_colors": [ "OBCOL:finns", "OBCOL2:finns" ]
"ob_colors": [ "OBCOL:finnish","OBCOL2:finnish", "OBCOL-BORDER:finnish" ]
},
"japanese": {
"display_name": "Japanese",
"ob_colors": [ "OBCOL:japanese", "OBCOL2:japanese" ]
"ob_colors": [ "OBCOL:japanese","OBCOL2:japanese", "OBCOL-BORDER:japanese" ]
}
}

@ -51,14 +51,14 @@ def _do_test_ob_entries( webapp, webdriver, ob_type ):
assert wait_for_clipboard( 2, expected, transform=adjust_html )
select_tab( "ob1" )
check_snippet( sortable1, 0,
"[German] [{} #1] (col=[OBCOL:german/OBCOL2:german])".format( ob_type )
"[German] [{} #1] (col=[OBCOL:german/OBCOL-BORDER:german])".format( ob_type )
)
check_snippet( sortable1, 1,
"[German] [{} #2] (col=[OBCOL:german/OBCOL2:german]) (width=[2px])".format( ob_type )
"[German] [{} #2] (col=[OBCOL:german/OBCOL-BORDER:german]) (width=[2px])".format( ob_type )
)
select_tab( "ob2" )
check_snippet( sortable2, 0,
"[Russian] [<i>{}</i> #3] (col=[OBCOL:russian/OBCOL2:russian]) (width=[3px])".format( ob_type )
"[Russian] [<i>{}</i> #3] (col=[OBCOL:russian/OBCOL-BORDER:russian]) (width=[3px])".format( ob_type )
)
# make some changes and check the snippets again
@ -68,14 +68,14 @@ def _do_test_ob_entries( webapp, webdriver, ob_type ):
edit_simple_note( sortable1, 0, None, "100px" )
select_tab( "ob2" )
check_snippet( sortable2, 0,
"[Russian] [updated {} #3] (col=[OBCOL:russian/OBCOL2:russian])".format( ob_type )
"[Russian] [updated {} #3] (col=[OBCOL:russian/OBCOL-BORDER:russian])".format( ob_type )
)
select_tab( "ob1" )
check_snippet( sortable1, 1,
"[German] [<i>updated {} #2</i>] (col=[OBCOL:german/OBCOL2:german]) (width=[200px])".format( ob_type )
"[German] [<i>updated {} #2</i>] (col=[OBCOL:german/OBCOL-BORDER:german]) (width=[200px])".format( ob_type )
)
check_snippet( sortable1, 0,
"[German] [{} #1] (col=[OBCOL:german/OBCOL2:german]) (width=[100px])".format( ob_type )
"[German] [{} #1] (col=[OBCOL:german/OBCOL-BORDER:german]) (width=[100px])".format( ob_type )
)
# delete an OB setup/note by dragging it into the trash
@ -128,7 +128,7 @@ def test_nationality_specific( webapp, webdriver ): #pylint: disable=too-many-lo
def check_pf_snippets():
"""Check that the PF snippets are generated correctly."""
btn = find_child( "button[data-id='pf']" )
col = "[OBCOL:german]/[OBCOL2:german]"
col = "[OBCOL:german]/[OBCOL-BORDER:german]"
do_check_snippets( btn, (1942,1), "PF: range=[1] ; check=[2] (drm=[+1]) ; col={}".format(col), True )
do_check_snippets( btn, (1943,9), "PF: range=[1] ; check=[2] (drm=[+1]) ; col={}".format(col), True )
do_check_snippets( btn, (1943,10), "PF: range=[1] ; check=[3] ; col={}".format(col), False )
@ -142,7 +142,7 @@ def test_nationality_specific( webapp, webdriver ): #pylint: disable=too-many-lo
def check_psk_snippets():
"""Check that the PSK snippets are generated correctly."""
btn = find_child( "button[data-id='psk']" )
expected = "====> whoosh! ; col=[OBCOL:german]/[OBCOL2:german]"
expected = "====> whoosh! ; col=[OBCOL:german]/[OBCOL-BORDER:german]"
do_check_snippets( btn, (1942,1), expected, True )
do_check_snippets( btn, (1943,9), expected, True )
do_check_snippets( btn, (1943,10), expected, False )
@ -154,7 +154,7 @@ def test_nationality_specific( webapp, webdriver ): #pylint: disable=too-many-lo
btn = find_child( "button[data-id='baz']" )
do_check_snippets( btn, (1941,1), "BAZ: none", True )
do_check_snippets( btn, (1942,10), "BAZ: none", True )
col = "[OBCOL:american]/[OBCOL2:american]"
col = "[OBCOL:american]/[OBCOL-BORDER:american]"
do_check_snippets( btn, (1942,11), "BAZ: '43 ; range=[4] ; X#=[10] ; TK#=[13] ; col={}".format(col), False )
do_check_snippets( btn, (1943,1), "BAZ: '43 ; range=[4] ; X#=[10] ; TK#=[13] ; col={}".format(col), False )
do_check_snippets( btn, (1944,1), "BAZ: '44 ; range=[4] ; X#=[11] ; TK#=[16] ; col={}".format(col), False )
@ -171,7 +171,7 @@ def test_nationality_specific( webapp, webdriver ): #pylint: disable=too-many-lo
def check_atmm_snippets():
"""Check that the ATMM snippets are generated correctly."""
btn = find_child( "button[data-id='atmm']" )
expected = "Kaboom!!! ; col=[OBCOL:german]/[OBCOL2:german]"
expected = "Kaboom!!! ; col=[OBCOL:german]/[OBCOL-BORDER:german]"
do_check_snippets( btn, (1943,12), expected, True )
do_check_snippets( btn, (1944,1), expected, False )
do_check_snippets( btn, (1944,12), expected, False )
@ -179,13 +179,13 @@ def test_nationality_specific( webapp, webdriver ): #pylint: disable=too-many-lo
# initialize
nationality_specific_buttons = {
"mol": [ "russian", "Burn, baby, burn! ; col=[OBCOL:russian]/[OBCOL2:russian]" ],
"mol-p": [ "russian", "mol-p template ; col=[OBCOL:russian]/[OBCOL2:russian]" ],
"mol": [ "russian", "Burn, baby, burn! ; col=[OBCOL:russian]/[OBCOL-BORDER:russian]" ],
"mol-p": [ "russian", "mol-p template ; col=[OBCOL:russian]/[OBCOL-BORDER:russian]" ],
"pf": [ "german", check_pf_snippets ],
"psk": [ "german", check_psk_snippets ],
"atmm": [ "german", check_atmm_snippets ],
"baz": [ "american", check_baz_snippets ],
"piat": [ "british", "piat template ; col=[OBCOL:british]/[OBCOL2:british]" ],
"piat": [ "british", "piat template ; col=[OBCOL:british]/[OBCOL-BORDER:british]" ],
}
btn_elems = {
btn: find_child( "button[data-id='{}']".format( btn ) )

Loading…
Cancel
Save