From e6123313e3d9fe59ae9334aa4324b42d62f6a0d8 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Wed, 4 Feb 2015 09:14:08 +0100 Subject: [PATCH] browser: hide browser agents below threshold Browser agents were threated differently from versions to force a complete overview of all known browsers, regardless of usage (so one could see cutting edge features in rare browsers for example, but also because not all user agents were distinguished in usage data). With the increasing amount of Webkit forks though, there isn't enough space so apply the same threshold as versions. --- browser.plp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/browser.plp b/browser.plp index 2ba6e01..bd6d8ab 100644 --- a/browser.plp +++ b/browser.plp @@ -76,12 +76,12 @@ if (my ($somerow) = values %{ $caniuse->{data} }) { $versions{$browser} = [ sort { paddedver($a) cmp paddedver($b) } keys %$row ]; } } -my @browsers = keys %versions; print <<'';

Alternate rendition of Fyrd's when can I use... page -my ($canihas, $usage, $minusage); +my ($canihas, $usage); +my $minusage = $get{threshold} // .5; given ($get{usage} // 'wm') { when (!$_) { # none @@ -101,12 +101,18 @@ given ($get{usage} // 'wm') { $ref .= " $_" for $canihas->{-date} || (); print "\nwith $ref browser usage statistics"; } + +my @browsers; if ($usage) { # first() does not work inside given >:( # adapt version usage to actual support data my %engineuse; # prefix => usage sum for my $browser (keys %versions) { my $row = $canihas->{$browser} // {}; my $verlist = $versions{$browser} or next; + if ($minusage and sum(values %$row) < $minusage) { + delete $versions{$browser}; + next; + } my %supported = map { $_ => 1 } @$verlist; # cascade unknown versions @@ -120,7 +126,7 @@ if ($usage) { # first() does not work inside given >:( } # build row list for each version - if ($minusage = $get{threshold} // .5) { + if ($minusage) { my @vershown; # $verlist replacement my ($rowusage, @verrow) = (0); # replacement row tracking for (@$verlist) { @@ -148,7 +154,7 @@ if ($usage) { # first() does not work inside given >:( $engineuse{ $caniuse->{agents}->{$a}->{prefix} } || $canihas->{$b}->{-total} <=> $canihas->{$a}->{-total} - } @browsers; + } keys %versions; } else { # order browser columns by name grouped by engine @@ -157,7 +163,7 @@ else { $caniuse->{agents}->{$a}->{prefix} || $a cmp $b - } @browsers; + } keys %versions; } :>.

-- 2.30.0