From ce292db5cd2eae7ad6e60d94a3b9910356dd79fa Mon Sep 17 00:00:00 2001 From: Brian Miyaji Date: Sat, 22 Mar 2014 14:55:34 +1100 Subject: [PATCH] Add option to make tables sortable and responsive --- admin/settings/options-player.php | 39 +++++++++++++++++++++++++++---- admin/settings/options-team.php | 33 ++++++++++++++++++++++++-- admin/templates/league-table.php | 4 +++- admin/templates/player-list.php | 4 +++- assets/js/sportspress.js | 35 ++++++++++++++------------- readme.txt | 1 + 6 files changed, 91 insertions(+), 25 deletions(-) diff --git a/admin/settings/options-player.php b/admin/settings/options-player.php index 191c66c4..3aaf6bde 100644 --- a/admin/settings/options-player.php +++ b/admin/settings/options-player.php @@ -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 ); ?>
-
+
+
options, 'player_list_link_posts', true ); + ?> +
+ +
+ 'sp_metric', diff --git a/admin/settings/options-team.php b/admin/settings/options-team.php index 7032024e..8020f77c 100644 --- a/admin/settings/options-team.php +++ b/admin/settings/options-team.php @@ -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 ); + ?> +
+ +
+
+ +
+ options, 'league_table_show_team_logo', false ); $link_posts = sportspress_array_value( $this->options, 'league_table_link_posts', false ); ?> diff --git a/admin/templates/league-table.php b/admin/templates/league-table.php index 93fba739..53529ee6 100644 --- a/admin/templates/league-table.php +++ b/admin/templates/league-table.php @@ -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 = '
' . - '' . '' . ''; + '
' . '' . ''; $data = sportspress_get_league_table_data( $id ); diff --git a/admin/templates/player-list.php b/admin/templates/player-list.php index c70e45c6..468c99df 100644 --- a/admin/templates/player-list.php +++ b/admin/templates/player-list.php @@ -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 = '
' . - '
' . '' . ''; + '
' . '' . ''; $data = sportspress_get_player_list_data( $id ); diff --git a/assets/js/sportspress.js b/assets/js/sportspress.js index 9d3e7229..60d11574 100644 --- a/assets/js/sportspress.js +++ b/assets/js/sportspress.js @@ -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 ] }, + ] + }); }); } diff --git a/readme.txt b/readme.txt index 175c7c9e..a67ff7a1 100644 --- a/readme.txt +++ b/readme.txt @@ -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.