Add option to make tables sortable and responsive
This commit is contained in:
@@ -51,6 +51,14 @@ class SportsPressPlayerSettingsPage {
|
||||
'list'
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'players',
|
||||
__( 'Players', 'sportspress' ),
|
||||
array( $this, 'players_callback' ),
|
||||
'sportspress_players',
|
||||
'list'
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'metrics',
|
||||
__( 'Metrics', 'sportspress' ),
|
||||
@@ -82,13 +90,21 @@ class SportsPressPlayerSettingsPage {
|
||||
}
|
||||
|
||||
function list_callback() {
|
||||
$link_posts = sportspress_array_value( $this->options, 'player_list_link_posts', true );
|
||||
$responsive = sportspress_array_value( $this->options, 'player_list_responsive', true );
|
||||
$sortable = sportspress_array_value( $this->options, 'player_list_sortable', true );
|
||||
?>
|
||||
<fieldset>
|
||||
<label for="sportspress_player_list_link_posts">
|
||||
<input id="sportspress_player_list_link_posts_default" name="sportspress[player_list_link_posts]" type="hidden" value="0">
|
||||
<input id="sportspress_player_list_link_posts" name="sportspress[player_list_link_posts]" type="checkbox" value="1" <?php checked( $link_posts ); ?>>
|
||||
<?php _e( 'Display players as links', 'sportspress' ); ?>
|
||||
<label for="sportspress_player_list_responsive">
|
||||
<input id="sportspress_player_list_responsive_default" name="sportspress[player_list_responsive]" type="hidden" value="0">
|
||||
<input id="sportspress_player_list_responsive" name="sportspress[player_list_responsive]" type="checkbox" value="1" <?php checked( $responsive ); ?>>
|
||||
<?php _e( 'Responsive', 'sportspress' ); ?>
|
||||
</label>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="sportspress_player_list_sortable">
|
||||
<input id="sportspress_player_list_sortable_default" name="sportspress[player_list_sortable]" type="hidden" value="0">
|
||||
<input id="sportspress_player_list_sortable" name="sportspress[player_list_sortable]" type="checkbox" value="1" <?php checked( $sortable ); ?>>
|
||||
<?php _e( 'Sortable', 'sportspress' ); ?>
|
||||
</label>
|
||||
</fieldset>
|
||||
<?php
|
||||
@@ -107,6 +123,19 @@ class SportsPressPlayerSettingsPage {
|
||||
<?php
|
||||
}
|
||||
|
||||
function players_callback() {
|
||||
$link_posts = sportspress_array_value( $this->options, 'player_list_link_posts', true );
|
||||
?>
|
||||
<fieldset>
|
||||
<label for="sportspress_player_list_link_posts">
|
||||
<input id="sportspress_player_list_link_posts_default" name="sportspress[player_list_link_posts]" type="hidden" value="0">
|
||||
<input id="sportspress_player_list_link_posts" name="sportspress[player_list_link_posts]" type="checkbox" value="1" <?php checked( $link_posts ); ?>>
|
||||
<?php _e( 'Display players as links', 'sportspress' ); ?>
|
||||
</label>
|
||||
</fieldset>
|
||||
<?php
|
||||
}
|
||||
|
||||
function metrics_callback() {
|
||||
$args = array(
|
||||
'post_type' => 'sp_metric',
|
||||
|
||||
@@ -20,10 +20,18 @@ class SportsPressTeamSettingsPage {
|
||||
'sportspress_teams'
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'table',
|
||||
__( 'Table', 'sportspress' ),
|
||||
array( $this, 'table_callback' ),
|
||||
'sportspress_teams',
|
||||
'table'
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'teams',
|
||||
__( 'Teams', 'sportspress' ),
|
||||
array( $this, 'tables_callback' ),
|
||||
array( $this, 'teams_callback' ),
|
||||
'sportspress_teams',
|
||||
'table'
|
||||
);
|
||||
@@ -37,7 +45,28 @@ class SportsPressTeamSettingsPage {
|
||||
);
|
||||
}
|
||||
|
||||
function tables_callback() {
|
||||
function table_callback() {
|
||||
$responsive = sportspress_array_value( $this->options, 'league_table_responsive', true );
|
||||
$sortable = sportspress_array_value( $this->options, 'league_table_sortable', true );
|
||||
?>
|
||||
<fieldset>
|
||||
<label for="sportspress_league_table_responsive">
|
||||
<input id="sportspress_league_table_responsive_default" name="sportspress[league_table_responsive]" type="hidden" value="0">
|
||||
<input id="sportspress_league_table_responsive" name="sportspress[league_table_responsive]" type="checkbox" value="1" <?php checked( $responsive ); ?>>
|
||||
<?php _e( 'Responsive', 'sportspress' ); ?>
|
||||
</label>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<label for="sportspress_league_table_sortable">
|
||||
<input id="sportspress_league_table_sortable_default" name="sportspress[league_table_sortable]" type="hidden" value="0">
|
||||
<input id="sportspress_league_table_sortable" name="sportspress[league_table_sortable]" type="checkbox" value="1" <?php checked( $sortable ); ?>>
|
||||
<?php _e( 'Sortable', 'sportspress' ); ?>
|
||||
</label>
|
||||
</fieldset>
|
||||
<?php
|
||||
}
|
||||
|
||||
function teams_callback() {
|
||||
$show_team_logo = sportspress_array_value( $this->options, 'league_table_show_team_logo', false );
|
||||
$link_posts = sportspress_array_value( $this->options, 'league_table_link_posts', false );
|
||||
?>
|
||||
|
||||
@@ -13,12 +13,14 @@ if ( !function_exists( 'sportspress_league_table' ) ) {
|
||||
'show_full_table_link' => false,
|
||||
'show_team_logo' => sportspress_array_value( $sportspress_options, 'league_table_show_team_logo', false ),
|
||||
'link_posts' => sportspress_array_value( $sportspress_options, 'league_table_link_posts', false ),
|
||||
'sortable' => sportspress_array_value( $sportspress_options, 'league_table_sortable', true ),
|
||||
'responsive' => sportspress_array_value( $sportspress_options, 'league_table_responsive', true ),
|
||||
);
|
||||
|
||||
$r = wp_parse_args( $args, $defaults );
|
||||
|
||||
$output = '<div class="sp-table-wrapper">' .
|
||||
'<table class="sp-league-table sp-data-table sp-responsive-table">' . '<thead>' . '<tr>';
|
||||
'<table class="sp-league-table sp-data-table' . ( $r['responsive'] ? ' sp-responsive-table' : '' ) . ( $r['sortable'] ? ' sp-sortable-table' : '' ) . '">' . '<thead>' . '<tr>';
|
||||
|
||||
$data = sportspress_get_league_table_data( $id );
|
||||
|
||||
|
||||
@@ -14,12 +14,14 @@ if ( !function_exists( 'sportspress_player_list' ) ) {
|
||||
'order' => 'ASC',
|
||||
'show_all_players_link' => false,
|
||||
'link_posts' => sportspress_array_value( $sportspress_options, 'player_list_link_posts', true ),
|
||||
'sortable' => sportspress_array_value( $sportspress_options, 'player_list_sortable', true ),
|
||||
'responsive' => sportspress_array_value( $sportspress_options, 'player_list_responsive', true ),
|
||||
);
|
||||
|
||||
$r = wp_parse_args( $args, $defaults );
|
||||
|
||||
$output = '<div class="sp-table-wrapper">' .
|
||||
'<table class="sp-player-list sp-data-table sp-responsive-table">' . '<thead>' . '<tr>';
|
||||
'<table class="sp-player-list sp-data-table' . ( $r['responsive'] ? ' sp-responsive-table' : '' ) . ( $r['sortable'] ? ' sp-sortable-table' : '' ) . '">' . '<thead>' . '<tr>';
|
||||
|
||||
$data = sportspress_get_player_list_data( $id );
|
||||
|
||||
|
||||
@@ -24,22 +24,25 @@ function viewport() {
|
||||
/* Data Tables */
|
||||
|
||||
if (viewport().width > 640) {
|
||||
$(".sp-league-table, .sp-event-statistics, .sp-player-list").dataTable({
|
||||
"aaSorting": [],
|
||||
"bAutoWidth": false,
|
||||
"bFilter": false,
|
||||
"bInfo": false,
|
||||
"bPaginate": false,
|
||||
"bSort": true,
|
||||
"oLanguage": {
|
||||
"oAria": {
|
||||
"sSortAscending": "",
|
||||
"sSortDescending": ""
|
||||
}
|
||||
},
|
||||
"aoColumnDefs": [
|
||||
{ "sType": "numeric", "aTargets": [ 0 ] },
|
||||
]
|
||||
$(".sp-league-table, .sp-event-statistics, .sp-player-list").each(function() {
|
||||
sort = $(this).hasClass("sp-sortable-table");
|
||||
$(this).dataTable({
|
||||
"aaSorting": [],
|
||||
"bAutoWidth": false,
|
||||
"bFilter": false,
|
||||
"bInfo": false,
|
||||
"bPaginate": false,
|
||||
"bSort": sort,
|
||||
"oLanguage": {
|
||||
"oAria": {
|
||||
"sSortAscending": "",
|
||||
"sSortDescending": ""
|
||||
}
|
||||
},
|
||||
"aoColumnDefs": [
|
||||
{ "sType": "numeric", "aTargets": [ 0 ] },
|
||||
]
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -158,6 +158,7 @@ SportsPress is currently in beta and is undergoing testing. We are still activel
|
||||
* Feature - Display full event results on hover over main team result in admin.
|
||||
* Feature - Add option to choose delimiter to use between team names in event titles.
|
||||
* Tweak - Adjust text options to modify front-end only.
|
||||
* Fix - Responsive league table output and styling.
|
||||
|
||||
= 0.6 =
|
||||
* Feature - New events shortcodes: countdown, events-calendar, and events-list.
|
||||
|
||||
Reference in New Issue
Block a user