chore(admin-dashboard): add tooltips for mini rank/share names

This commit is contained in:
萝卜
2026-03-16 13:37:54 +08:00
parent a47d6d657e
commit ca05122c2c
2 changed files with 46 additions and 2 deletions

View File

@@ -196,6 +196,8 @@
name.className = 'adm-mini-rank-name'; name.className = 'adm-mini-rank-name';
var mname = (p && p.name) ? String(p.name) : ('#' + (idx + 1)); var mname = (p && p.name) ? String(p.name) : ('#' + (idx + 1));
name.textContent = mname; name.textContent = mname;
// tooltip显示完整名称避免 ellipsis 后看不到)
name.title = mname;
var wrap = document.createElement('div'); var wrap = document.createElement('div');
wrap.className = 'adm-mini-rank-bar-wrap'; wrap.className = 'adm-mini-rank-bar-wrap';
@@ -210,7 +212,8 @@
val.className = 'adm-mini-rank-value'; val.className = 'adm-mini-rank-value';
val.textContent = '¥' + formatMoney(paid); val.textContent = '¥' + formatMoney(paid);
row.title = 'Top' + (idx + 1) + ':已付 ¥' + formatMoney(paid) + ',订单数 ' + String(p && p.count != null ? p.count : 0); var cntText = String(p && p.count != null ? p.count : 0);
row.title = 'Top' + (idx + 1) + '' + mname + '|已付 ¥' + formatMoney(paid) + '|订单数 ' + cntText;
row.appendChild(name); row.appendChild(name);
row.appendChild(wrap); row.appendChild(wrap);
@@ -259,6 +262,8 @@
name.className = 'adm-mini-share-name'; name.className = 'adm-mini-share-name';
var pname = (p && p.name) ? String(p.name) : ('#' + (idx + 1)); var pname = (p && p.name) ? String(p.name) : ('#' + (idx + 1));
name.textContent = pname; name.textContent = pname;
// tooltip显示完整名称避免 ellipsis 后看不到)
name.title = pname;
var wrap = document.createElement('div'); var wrap = document.createElement('div');
wrap.className = 'adm-mini-share-bar-wrap'; wrap.className = 'adm-mini-share-bar-wrap';
@@ -273,7 +278,7 @@
val.className = 'adm-mini-share-value'; val.className = 'adm-mini-share-value';
val.textContent = formatPct(ratio, 1) + '%'; val.textContent = formatPct(ratio, 1) + '%';
row.title = 'Top' + (idx + 1) + '' + cnt + ' 单占比 ' + formatPct(ratio, 1) + '%'; row.title = 'Top' + (idx + 1) + '' + pname + '' + cnt + ' 单占比 ' + formatPct(ratio, 1) + '%';
row.appendChild(name); row.appendChild(name);
row.appendChild(wrap); row.appendChild(wrap);

View File

@@ -0,0 +1,39 @@
<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class AdminDashboardMiniRankAndShareShouldIncludeNameTooltipsTest extends TestCase
{
use RefreshDatabase;
protected function loginAsPlatformAdmin(): void
{
$this->seed();
$this->post('/admin/login', [
'email' => 'platform.admin@demo.local',
'password' => 'Platform@123456',
])->assertRedirect('/admin');
}
public function test_admin_js_should_set_title_for_mini_rank_and_share_names(): void
{
$this->loginAsPlatformAdmin();
// 页面可访问即可(确保 admin.js 会被加载的整体链路没断)
$this->get('/admin')->assertOk();
$js = (string) file_get_contents(public_path('js/admin.js'));
// 护栏mini rank / mini share 的 name 节点应设置 title用于 ellipsis 后查看完整名称)
$this->assertStringContainsString("name.title = mname", $js);
$this->assertStringContainsString("name.title = pname", $js);
// 护栏:排行/占比行 title 应包含名称(让 hover 提示更可读)
$this->assertStringContainsString("'' + mname + '|已付 ¥'", $js);
$this->assertStringContainsString("'' + pname + ''", $js);
}
}