<p></p>
<p dir="auto">I've noticed that in some cases, pagination cells are very narrow, in particular when we're showing two disabled cells ("..."), like in example 1 below.</p>
<p dir="auto">To calculate a threshold value, we're currently applying the following logic:</p>
<pre class="notranslate"><code class="notranslate"> width += body.length
</code></pre>
<p dir="auto">I'm wondering why we're not taking the actual length of the strings we're showing on the screen into account. So instead of the previous calculation, that would be:</p>
<pre class="notranslate"><code class="notranslate"> width += body.first.length
</code></pre>
<h3 dir="auto">Example 1</h3>
<p dir="auto"><a href="https://github.com/user-attachments/assets/5067cd13-3d76-4132-9b11-e1cd188ed687">image.png (view on web)</a></p>
<p dir="auto">Debug output:</p>
<pre class="notranslate"><code class="notranslate">====
["1", 1] --- 2
["...", "disabled"] --- 2
["5", 5] --- 2
["6", 6] --- 2
["7", "active"] --- 2
["8", 8] --- 2
["9", 9] --- 2
["...", "disabled"] --- 2
["11", 11] --- 2
====
36
====
</code></pre>
<h3 dir="auto">Example 2</h3>
<p dir="auto"><a href="https://github.com/user-attachments/assets/80d786d2-9014-4e0a-8a1f-e32613099d6c">image.png (view on web)</a></p>
<p dir="auto">Debug output:</p>
<pre class="notranslate"><code class="notranslate">====
["1", 1] --- 2
["2", 2] --- 2
["3", "active"] --- 2
["4", 4] --- 2
["5", 5] --- 2
["...", "disabled"] --- 2
["11", 11] --- 2
====
28
====
</code></pre>
<h3 dir="auto">Debug code</h3>
<div class="highlight highlight-source-ruby" dir="auto"><pre class="notranslate"> <span class="pl-k">def</span> <span class="pl-en">sidebar_classic_pagination</span><span class="pl-kos">(</span><span class="pl-s1">pages</span><span class="pl-kos">,</span> <span class="pl-s1">page_param</span><span class="pl-kos">)</span>
<span class="pl-s1">max_width_for_default_padding</span> <span class="pl-c1">=</span> <span class="pl-c1">35</span>
<span class="pl-en">puts</span> <span class="pl-s">"===="</span>
<span class="pl-s1">width</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>
<span class="pl-en">pagination_items</span><span class="pl-kos">(</span><span class="pl-s1">pages</span><span class="pl-kos">,</span> <span class="pl-kos">{</span><span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">each</span> <span class="pl-k">do</span> |<span class="pl-s1">body</span>|
<span class="pl-s1">width</span> += <span class="pl-c1">2</span> <span class="pl-c"># padding width</span>
<span class="pl-s1">width</span> += <span class="pl-s1">body</span><span class="pl-kos">.</span><span class="pl-en">length</span>
<span class="pl-en">puts</span> <span class="pl-s">"<span class="pl-s1"><span class="pl-kos">#{</span><span class="pl-s1">body</span><span class="pl-kos">}</span></span> --- <span class="pl-s1"><span class="pl-kos">#{</span><span class="pl-s1">body</span><span class="pl-kos">.</span><span class="pl-en">length</span><span class="pl-kos">}</span></span>"</span>
<span class="pl-k">end</span>
<span class="pl-en">puts</span> <span class="pl-s">"===="</span>
<span class="pl-en">puts</span> <span class="pl-s1">width</span>
<span class="pl-en">puts</span> <span class="pl-s">"===="</span>
<span class="pl-s1">link_classes</span> <span class="pl-c1">=</span> <span class="pl-kos">[</span><span class="pl-s">"page-link"</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-s">"px-1"</span> <span class="pl-c1">=></span> <span class="pl-s1">width</span> > <span class="pl-s1">max_width_for_default_padding</span> <span class="pl-kos">}</span><span class="pl-kos">]</span></pre></div>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/5105">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLLAY6UHMMTTXV2ZWDTZST32TAVCNFSM6AAAAABM4ZEYOGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ3TSMBXGMYTANI">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLIUFYXV65HAII2FOKDZST32TA5CNFSM6AAAAABM4ZEYOGWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHJHQ5HKE.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/issues/5105</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/5105",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/5105",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>