From a67611f84de5076da4643b69033dece861144516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Mon, 16 Mar 2026 15:35:06 +0800 Subject: [PATCH] feat(admin-js): auto open receipt details for payment/refund hashes --- public/js/admin.js | 9 +++++++-- ...aymentReceiptDetailsWhenHashPresentTest.php | 4 ++-- ...RefundReceiptDetailsWhenHashPresentTest.php | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 tests/Feature/AdminJsShouldAutoOpenRefundReceiptDetailsWhenHashPresentTest.php diff --git a/public/js/admin.js b/public/js/admin.js index 4711082..d43fcd4 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -55,8 +55,13 @@ } var h = String(window.location.hash || ''); - if (h === '#add-payment-receipt') { - var d = qs('details#add-payment-receipt'); + var map = { + '#add-payment-receipt': 'details#add-payment-receipt', + '#refund-receipts': 'details#add-refund-receipt', + }; + + if (map[h]) { + var d = qs(map[h]); if (d) { d.open = true; } diff --git a/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php b/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php index 005a894..dc3bdca 100644 --- a/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php +++ b/tests/Feature/AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest.php @@ -11,8 +11,8 @@ class AdminJsShouldAutoOpenAddPaymentReceiptDetailsWhenHashPresentTest extends T $js = (string) file_get_contents(public_path('js/admin.js')); // 护栏:当 hash 为 #add-payment-receipt 时,应自动展开 details#add-payment-receipt。 - $this->assertStringContainsString("h === '#add-payment-receipt'", $js); - $this->assertStringContainsString("qs('details#add-payment-receipt')", $js); + $this->assertStringContainsString("'#add-payment-receipt': 'details#add-payment-receipt'", $js); + $this->assertStringContainsString('if (map[h])', $js); $this->assertStringContainsString('d.open = true', $js); } } diff --git a/tests/Feature/AdminJsShouldAutoOpenRefundReceiptDetailsWhenHashPresentTest.php b/tests/Feature/AdminJsShouldAutoOpenRefundReceiptDetailsWhenHashPresentTest.php new file mode 100644 index 0000000..0724ac1 --- /dev/null +++ b/tests/Feature/AdminJsShouldAutoOpenRefundReceiptDetailsWhenHashPresentTest.php @@ -0,0 +1,18 @@ +assertStringContainsString("'#refund-receipts': 'details#add-refund-receipt'", $js); + $this->assertStringContainsString('if (map[h])', $js); + $this->assertStringContainsString('d.open = true', $js); + } +}