diff --git a/vasl_templates/webapp/static/main.js b/vasl_templates/webapp/static/main.js index 6c15ce5..d30a4f2 100644 --- a/vasl_templates/webapp/static/main.js +++ b/vasl_templates/webapp/static/main.js @@ -153,9 +153,9 @@ $(document).ready( function () { for ( var i=0 ; i <= 5 ; ++i ) // nb: A19.1: ELR is 0-5 buf.push( "" ) ; buf = buf.join( "" ) ; - for ( var player_id=1 ; player_id <= 2 ; ++player_id ) { - $( "select[name='PLAYER_" + player_id + "_ELR']" ).html( buf ).selectmenu( { - classes: { "ui-selectmenu-button": "player" + player_id + "_elr" }, + for ( var player_no=1 ; player_no <= 2 ; ++player_no ) { + $( "select[name='PLAYER_" + player_no + "_ELR']" ).html( buf ).selectmenu( { + classes: { "ui-selectmenu-button": "player" + player_no + "_elr" }, width: "3em" } ) ; } @@ -163,9 +163,9 @@ $(document).ready( function () { for ( i=2 ; i <= 7 ; ++i ) // nb: A14.1: SAN is 2-7 buf.push( "" ) ; buf = buf.join( "" ) ; - for ( player_id=1 ; player_id <= 2 ; ++player_id ) { - $( "select[name='PLAYER_" + player_id + "_SAN']" ).html( buf ).selectmenu( { - classes: { "ui-selectmenu-button": "player" + player_id + "_san" }, + for ( player_no=1 ; player_no <= 2 ; ++player_no ) { + $( "select[name='PLAYER_" + player_no + "_SAN']" ).html( buf ).selectmenu( { + classes: { "ui-selectmenu-button": "player" + player_no + "_san" }, width: "3em" } ) ; } @@ -371,13 +371,13 @@ function install_template_pack( data ) for ( var id in nationalities ) buf.push( "" ) ; buf = buf.join( "" ) ; - for ( var player_id=1 ; player_id <= 2 ; ++player_id ) { - var $sel = $( "select[name='PLAYER_" + player_id + "']" ) ; + for ( var player_no=1 ; player_no <= 2 ; ++player_no ) { + var $sel = $( "select[name='PLAYER_" + player_no + "']" ) ; $sel.html( buf ).selectmenu( { - classes: { "ui-selectmenu-button": "player" + player_id }, + classes: { "ui-selectmenu-button": "player" + player_no }, } ) ; - if ( curSel[player_id] ) - $sel.val( curSel[player_id] ).selectmenu( "refresh" ) ; + if ( curSel[player_no] ) + $sel.val( curSel[player_no] ).selectmenu( "refresh" ) ; } // update the OB tab headers @@ -394,39 +394,39 @@ function on_player_change( $select ) { // figure out which player was changed var name = $select.attr( "name" ) ; - var player_id = name.substring( name.length-1 ) ; + var player_no = name.substring( name.length-1 ) ; // update the tab label - var player_nat = update_ob_tab_header( player_id ) ; + var player_nat = update_ob_tab_header( player_no ) ; // show/hide the nationality-specific buttons for ( var nat in _NATIONALITY_SPECIFIC_BUTTONS ) { for ( var i=0 ; i < _NATIONALITY_SPECIFIC_BUTTONS[nat].length ; ++i ) { var button_id = _NATIONALITY_SPECIFIC_BUTTONS[nat][i] ; - var $elem = $( "#panel-ob_notes" + player_id + " div.snippet-control[data-id='" + button_id + "']" ) ; + var $elem = $( "#panel-ob_notes" + player_no + " div.snippet-control[data-id='" + button_id + "']" ) ; $elem.css( "display", nat == player_nat ? "block" : "none" ) ; } } // reset the OB params - $("textarea[name='OB_SETUP_"+player_id+"']").val( "" ) ; - $("input[name='OB_SETUP_WIDTH_"+player_id+"']").val( "" ) ; - $( "#vehicles-sortable_" + player_id ).sortable2( "delete-all" ) ; - $("input[name='VEHICLES_WIDTH_"+player_id+"']").val( "" ) ; - $( "#ordnance-sortable_" + player_id ).sortable2( "delete-all" ) ; - $("input[name='ORDNANCE_WIDTH_"+player_id+"']").val( "" ) ; + $("textarea[name='OB_SETUP_"+player_no+"']").val( "" ) ; + $("input[name='OB_SETUP_WIDTH_"+player_no+"']").val( "" ) ; + $( "#vehicles-sortable_" + player_no ).sortable2( "delete-all" ) ; + $("input[name='VEHICLES_WIDTH_"+player_no+"']").val( "" ) ; + $( "#ordnance-sortable_" + player_no ).sortable2( "delete-all" ) ; + $("input[name='ORDNANCE_WIDTH_"+player_no+"']").val( "" ) ; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -function update_ob_tab_header( player_id ) +function update_ob_tab_header( player_no ) { // update the OB tab header for the specified player - var $sel = $( "select[name='PLAYER_" + player_id + "']" ) ; + var $sel = $( "select[name='PLAYER_" + player_no + "']" ) ; var player_nat = $sel.find( "option:selected" ).val() ; var display_name = gTemplatePack.nationalities[ player_nat ].display_name ; var image_url = gImagesBaseUrl + "/flags/" + player_nat + ".png" ; - var $elem = $("#tabs .ui-tabs-nav a[href='#tabs-ob" + player_id + "']") ; + var $elem = $("#tabs .ui-tabs-nav a[href='#tabs-ob" + player_no + "']") ; $elem.html( " " + "" + escapeHTML(display_name) + " OB" diff --git a/vasl_templates/webapp/static/simple_notes.js b/vasl_templates/webapp/static/simple_notes.js index 15bb79a..dfc2a61 100644 --- a/vasl_templates/webapp/static/simple_notes.js +++ b/vasl_templates/webapp/static/simple_notes.js @@ -12,11 +12,11 @@ function add_ssr() { _do_edit_simple_note( $("#ssr-sortable"), null, null ) ; } function do_add_ssr( $sortable2, data ) { _do_add_simple_note($sortable2,data) ; } function edit_ssr( $sortable2, $entry ) { _do_edit_simple_note( $sortable2, $entry, null ) ; } -function add_ob_setup( player_id ) { _do_edit_simple_note( $("#ob_setups-sortable_"+player_id), null, gDefaultScenario._OB_SETUP_WIDTH ) ; } +function add_ob_setup( player_no ) { _do_edit_simple_note( $("#ob_setups-sortable_"+player_no), null, gDefaultScenario._OB_SETUP_WIDTH ) ; } function do_add_ob_setup( $sortable2, data ) { _do_add_simple_note($sortable2,data) ; } function edit_ob_setup( $sortable2, $entry ) { _do_edit_simple_note( $sortable2, $entry, null ) ; } -function add_ob_note( player_id ) { _do_edit_simple_note( $("#ob_notes-sortable_"+player_id), null, gDefaultScenario._OB_NOTE_WIDTH ) ; } +function add_ob_note( player_no ) { _do_edit_simple_note( $("#ob_notes-sortable_"+player_no), null, gDefaultScenario._OB_NOTE_WIDTH ) ; } function do_add_ob_note( $sortable2, data ) { _do_add_simple_note($sortable2,data) ; } function edit_ob_note( $sortable2, $entry ) { _do_edit_simple_note( $sortable2, $entry, null ) ; } diff --git a/vasl_templates/webapp/static/snippets.js b/vasl_templates/webapp/static/snippets.js index 3537944..b062207 100644 --- a/vasl_templates/webapp/static/snippets.js +++ b/vasl_templates/webapp/static/snippets.js @@ -208,8 +208,8 @@ function unload_params( params, check_date_capabilities ) params.SSR.push( data[i].caption ) ; // collect the vehicles/ordnance - function get_vo( vo_type, player_id, key ) { - var $sortable2 = $( "#" + vo_type + "-sortable_" + player_id ) ; + function get_vo( vo_type, player_no, key ) { + var $sortable2 = $( "#" + vo_type + "-sortable_" + player_no ) ; var objs = [] ; $sortable2.children( "li" ).each( function() { var entry = $(this).data( "sortable2-data" ).vo_entry ; @@ -499,7 +499,7 @@ function do_load_scenario( params ) } var i ; for ( var key in params ) { - var player_id, $sortable2 ; + var player_no, $sortable2 ; if ( key === "SSR" ) { $sortable2 = $( "#ssr-sortable" ) ; for ( i=0 ; i < params[key].length ; ++i ) @@ -515,29 +515,29 @@ function do_load_scenario( params ) continue ; } if ( key === "OB_SETUPS_1" || key === "OB_SETUPS_2" ) { - player_id = key.substring( key.length-1 ) ; - $sortable2 = $( "#ob_setups-sortable_" + player_id ) ; + player_no = key.substring( key.length-1 ) ; + $sortable2 = $( "#ob_setups-sortable_" + player_no ) ; for ( i=0 ; i < params[key].length ; ++i ) do_add_ob_setup( $sortable2, params[key][i] ) ; params_loaded[key] = true ; continue ; } if ( key === "OB_NOTES_1" || key === "OB_NOTES_2" ) { - player_id = key.substring( key.length-1 ) ; - $sortable2 = $( "#ob_notes-sortable_" + player_id ) ; + player_no = key.substring( key.length-1 ) ; + $sortable2 = $( "#ob_notes-sortable_" + player_no ) ; for ( i=0 ; i < params[key].length ; ++i ) do_add_ob_note( $sortable2, params[key][i] ) ; params_loaded[key] = true ; continue ; } if ( key === "VEHICLES_1" || key === "ORDNANCE_1" || key === "VEHICLES_2" || key === "ORDNANCE_2" ) { - player_id = key.substring( key.length-1 ) ; - var nat = params[ "PLAYER_" + player_id ] ; + player_no = key.substring( key.length-1 ) ; + var nat = params[ "PLAYER_" + player_no ] ; var vo_type = (key.substring(0,9) === "VEHICLES_") ? "vehicles" : "ordnance" ; for ( i=0 ; i < params[key].length ; ++i ) { var entry = find_vo( vo_type, nat, params[key][i] ) ; if ( entry ) - do_add_vo( vo_type, player_id, entry ) ; + do_add_vo( vo_type, player_no, entry ) ; else unknown_vo.push( params[key][i] ) ; } @@ -659,21 +659,21 @@ function reset_scenario() // reset all the template parameters // nb: there's no way to reset the player droplist's - var player_id ; - for ( player_id=1 ; player_id <= 2 ; ++player_id ) { - on_player_change( $( "select[name='PLAYER_" + player_id + "']" ) ) ; - $("select[name='PLAYER_" + player_id + "_ELR']").val( 0 ).selectmenu( "refresh" ) ; - $("select[name='PLAYER_" + player_id + "_SAN']").val( "" ).selectmenu( "refresh" ) ; + var player_no ; + for ( player_no=1 ; player_no <= 2 ; ++player_no ) { + on_player_change( $( "select[name='PLAYER_" + player_no + "']" ) ) ; + $("select[name='PLAYER_" + player_no + "_ELR']").val( 0 ).selectmenu( "refresh" ) ; + $("select[name='PLAYER_" + player_no + "_SAN']").val( "" ).selectmenu( "refresh" ) ; } // reset all the template parameters $("#scenario_notes-sortable").sortable2( "delete-all" ) ; $("#ssr-sortable").sortable2( "delete-all" ) ; - for ( player_id=1 ; player_id <= 2 ; ++player_id ) { - $( "#ob_setups-sortable_" + player_id ).sortable2( "delete-all" ) ; - $( "#ob_notes-sortable_" + player_id ).sortable2( "delete-all" ) ; - $( "#vehicles-sortable_" + player_id ).sortable2( "delete-all" ) ; - $( "#ordnance-sortable_" + player_id ).sortable2( "delete-all" ) ; + for ( player_no=1 ; player_no <= 2 ; ++player_no ) { + $( "#ob_setups-sortable_" + player_no ).sortable2( "delete-all" ) ; + $( "#ob_notes-sortable_" + player_no ).sortable2( "delete-all" ) ; + $( "#vehicles-sortable_" + player_no ).sortable2( "delete-all" ) ; + $( "#ordnance-sortable_" + player_no ).sortable2( "delete-all" ) ; } } diff --git a/vasl_templates/webapp/static/vo.js b/vasl_templates/webapp/static/vo.js index e4ac03e..99a587f 100644 --- a/vasl_templates/webapp/static/vo.js +++ b/vasl_templates/webapp/static/vo.js @@ -1,17 +1,17 @@ // -------------------------------------------------------------------- -function add_vo( vo_type, player_id ) +function add_vo( vo_type, player_no ) { // get the vehicles/ordnance already added - var $sortable2 = $( "#" + vo_type + "-sortable_" + player_id ) ; + var $sortable2 = $( "#" + vo_type + "-sortable_" + player_no ) ; var vo_present = []; $sortable2.children("li").each( function() { vo_present.push( $(this).text() ) ; } ); // load the available vehicles/ordnance - var nat = $( "select[name='PLAYER_" + player_id + "']" ).val() ; + var nat = $( "select[name='PLAYER_" + player_no + "']" ).val() ; var entries = gVehicleOrdnanceListings[vo_type][nat] ; if ( entries === undefined ) { showErrorMsg( "There are no " + gTemplatePack.nationalities[nat].display_name + " " + vo_type + " listings." ) ; @@ -44,7 +44,7 @@ function add_vo( vo_type, player_id ) OK: function() { // add the new vehicle/ordnance var val = $listbox.val() ; - do_add_vo( vo_type, player_id, entries[val] ) ; + do_add_vo( vo_type, player_no, entries[val] ) ; $(this).dialog( "close" ) ; }, Cancel: function() { $(this).dialog( "close" ) ; }, @@ -54,10 +54,10 @@ function add_vo( vo_type, player_id ) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -function do_add_vo( vo_type, player_id, entry ) +function do_add_vo( vo_type, player_no, entry ) { // add the specified vehicle/ordnance - var $sortable2 = $( "#" + vo_type + "-sortable_" + player_id ) ; + var $sortable2 = $( "#" + vo_type + "-sortable_" + player_no ) ; $sortable2.sortable2( "add", { content: $( "
" + entry.name + "
" ), data: { caption: entry.name, vo_entry: entry } diff --git a/vasl_templates/webapp/tests/test_snippets.py b/vasl_templates/webapp/tests/test_snippets.py index b599a31..28da9fb 100644 --- a/vasl_templates/webapp/tests/test_snippets.py +++ b/vasl_templates/webapp/tests/test_snippets.py @@ -209,9 +209,9 @@ def test_edit_templates( webapp, webdriver ): edit_template( "ob_setup" ) # check that the new template is being used - for player_id in range(1,2+1): - select_tab( "ob{}".format( player_id ) ) - sortable = ob_setups[ player_id ] + for player_no in range(1,2+1): + select_tab( "ob{}".format( player_no ) ) + sortable = ob_setups[ player_no ] add_simple_note( sortable, "ob setup (ignored)", None ) elem = find_child( "li img.snippet", sortable ) elem.click() @@ -224,9 +224,9 @@ def test_edit_templates( webapp, webdriver ): edit_template( "ob_note" ) # check that the new template is being used - for player_id in range(1,2+1): - select_tab( "ob{}".format( player_id ) ) - sortable = ob_notes[ player_id ] + for player_no in range(1,2+1): + select_tab( "ob{}".format( player_no ) ) + sortable = ob_notes[ player_no ] add_simple_note( sortable, "ob note (ignored)", None ) elem = find_child( "li img.snippet", sortable ) elem.click() diff --git a/vasl_templates/webapp/tests/test_vehicles_ordnance.py b/vasl_templates/webapp/tests/test_vehicles_ordnance.py index ec4901d..3d5a6ee 100644 --- a/vasl_templates/webapp/tests/test_vehicles_ordnance.py +++ b/vasl_templates/webapp/tests/test_vehicles_ordnance.py @@ -27,54 +27,54 @@ def test_crud( webapp, webdriver ): ("vehicles",2): None, ("ordnance",2): None } - def _add_vo( vo_type, player_id, name ): + def _add_vo( vo_type, player_no, name ): """Add a vehicle/ordnance.""" # check the hint - select_tab( "ob{}".format( player_id ) ) - _check_hint( vo_type, player_id ) + select_tab( "ob{}".format( player_no ) ) + _check_hint( vo_type, player_no ) # add the vehicle/ordnance - add_vo( vo_type, player_id, name ) - _expected[ (vo_type,player_id) ].append( name ) + add_vo( vo_type, player_no, name ) + _expected[ (vo_type,player_no) ].append( name ) # check the snippet and hint - _check_snippet( vo_type, player_id ) - _check_hint( vo_type, player_id ) + _check_snippet( vo_type, player_no ) + _check_hint( vo_type, player_no ) - def _delete_vo( vo_type, player_id, name, webdriver ): + def _delete_vo( vo_type, player_no, name, webdriver ): """Delete a vehicle/ordnance.""" # check the hint - select_tab( "ob{}".format( player_id ) ) - _check_hint( vo_type, player_id ) + select_tab( "ob{}".format( player_no ) ) + _check_hint( vo_type, player_no ) # delete the vehicle/ordnance - delete_vo( vo_type, player_id, name, webdriver ) - _expected[ (vo_type,player_id) ].remove( name ) + delete_vo( vo_type, player_no, name, webdriver ) + _expected[ (vo_type,player_no) ].remove( name ) # check the snippet and hint - _check_snippet( vo_type, player_id ) - _check_hint( vo_type, player_id ) + _check_snippet( vo_type, player_no ) + _check_hint( vo_type, player_no ) - def _set_width( vo_type, player_id, width ): + def _set_width( vo_type, player_no, width ): """Set the snippet width.""" - select_tab( "ob{}".format( player_id ) ) - elem = find_child( "input[name='{}_WIDTH_{}']".format( vo_type.upper(), player_id ) ) + select_tab( "ob{}".format( player_no ) ) + elem = find_child( "input[name='{}_WIDTH_{}']".format( vo_type.upper(), player_no ) ) elem.clear() if width is not None: elem.send_keys( str(width) ) - _width[ (vo_type,player_id) ] = width + _width[ (vo_type,player_no) ] = width - def _check_snippet( vo_type, player_id ): + def _check_snippet( vo_type, player_no ): """Check the generated vehicle/ordnance snippet.""" # check the snippet - select_tab( "ob{}".format( player_id ) ) + select_tab( "ob{}".format( player_no ) ) dismiss_notifications() - btn = find_child( "button[data-id='{}_{}']".format( vo_type, player_id ) ) + btn = find_child( "button[data-id='{}_{}']".format( vo_type, player_no ) ) btn.click() buf = get_clipboard() names = [ mo.group(1) for mo in re.finditer( r"^\[\*\] (.*):" , buf, re.MULTILINE ) ] - assert names == _expected[ (vo_type,player_id) ] + assert names == _expected[ (vo_type,player_no) ] # check the snippet width - expected = _width[ (vo_type,player_id) ] + expected = _width[ (vo_type,player_no) ] mo = re.search( r"width={}$".format( expected if expected else "" ), buf, @@ -82,10 +82,10 @@ def test_crud( webapp, webdriver ): ) assert mo - def _check_hint( vo_type, player_id ): + def _check_hint( vo_type, player_no ): """Check the hint visibility.""" - hint = find_child( "#{}-hint_{}".format( vo_type, player_id ) ) - expected = "none" if _expected[(vo_type,player_id)] else "block" + hint = find_child( "#{}-hint_{}".format( vo_type, player_no ) ) + expected = "none" if _expected[(vo_type,player_no)] else "block" assert hint.value_of_css_property("display") == expected def do_test( vo_type ): @@ -216,12 +216,12 @@ def test_variable_capabilities( webapp, webdriver ): # --------------------------------------------------------------------- -def add_vo( vo_type, player_id, name ): +def add_vo( vo_type, player_no, name ): """Add a vehicle/ordnance.""" # add the vehicle/ordnance - select_tab( "ob{}".format( player_id ) ) - elem = find_child( "#{}-add_{}".format( vo_type, player_id ) ) + select_tab( "ob{}".format( player_no ) ) + elem = find_child( "#{}-add_{}".format( vo_type, player_no ) ) elem.click() sel = Select( find_child( "#select-vo select" ) ) sel.select_by_visible_text( name[:-1] if name.endswith("s") else name ) @@ -229,16 +229,16 @@ def add_vo( vo_type, player_id, name ): # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -def delete_vo( vo_type, player_id, name, webdriver ): +def delete_vo( vo_type, player_no, name, webdriver ): """Delete a vehicle/ordnance.""" # delete the vehicle/ordnance - select_tab( "ob{}".format( player_id ) ) + select_tab( "ob{}".format( player_no ) ) elems = [ - c for c in find_children( "#{}-sortable_{} li".format( vo_type, player_id ) ) + c for c in find_children( "#{}-sortable_{} li".format( vo_type, player_no ) ) if c.text == name ] assert len(elems) == 1 elem = elems[0] - trash = find_child( "#{}-trash_{}".format( vo_type, player_id ) ) + trash = find_child( "#{}-trash_{}".format( vo_type, player_no ) ) ActionChains(webdriver).drag_and_drop( elem, trash ).perform()