迁移后台输入选中事件

This commit is contained in:
2026-04-25 13:32:16 +08:00
parent 4352919889
commit c3229f870a
4 changed files with 32 additions and 3 deletions
+27
View File
@@ -0,0 +1,27 @@
// 后台只读输入框选择事件代理,用于复制类配置项的一键选中文本。
let adminInputSelectionBound = false;
/**
* 绑定后台只读输入框点击选中逻辑。
*
* @returns {void}
*/
export function bindAdminInputSelection() {
if (adminInputSelectionBound || typeof document === "undefined") {
return;
}
adminInputSelectionBound = true;
document.addEventListener("click", (event) => {
if (!(event.target instanceof HTMLInputElement)) {
return;
}
// 回调地址等只读字段点击后直接选中,便于管理员复制。
if (event.target.hasAttribute("data-admin-select-on-click")) {
event.target.select();
}
});
}
+2
View File
@@ -4,6 +4,7 @@ import { bindAdminFishingEventsControls } from './admin/fishing-events.js';
import { bindAdminFormConfirmations } from './admin/form-confirmations.js'; import { bindAdminFormConfirmations } from './admin/form-confirmations.js';
import { bindAdminGameConfigControls } from './admin/game-configs.js'; import { bindAdminGameConfigControls } from './admin/game-configs.js';
import { bindAdminHolidayEventsControls } from './admin/holiday-events.js'; import { bindAdminHolidayEventsControls } from './admin/holiday-events.js';
import { bindAdminInputSelection } from './admin/input-selection.js';
import { bindAdminOpsControls } from './admin/ops.js'; import { bindAdminOpsControls } from './admin/ops.js';
import { bindAdminRoomControls } from './admin/rooms.js'; import { bindAdminRoomControls } from './admin/rooms.js';
import { bindAdminSignInRulesControls } from './admin/sign-in-rules.js'; import { bindAdminSignInRulesControls } from './admin/sign-in-rules.js';
@@ -14,6 +15,7 @@ bindAdminFishingEventsControls();
bindAdminFormConfirmations(); bindAdminFormConfirmations();
bindAdminGameConfigControls(); bindAdminGameConfigControls();
bindAdminHolidayEventsControls(); bindAdminHolidayEventsControls();
bindAdminInputSelection();
bindAdminOpsControls(); bindAdminOpsControls();
bindAdminRoomControls(); bindAdminRoomControls();
bindAdminSignInRulesControls(); bindAdminSignInRulesControls();
@@ -320,7 +320,7 @@
@if (Auth::id() === 1) @if (Auth::id() === 1)
<form action="{{ route('admin.positions.destroy', $pos->id) }}" <form action="{{ route('admin.positions.destroy', $pos->id) }}"
method="POST" class="inline" method="POST" class="inline"
onsubmit="return confirm('确定删除职务【{{ $pos->name }}】?')"> data-admin-confirm="确定删除职务【{{ $pos->name }}】?">
@csrf @method('DELETE') @csrf @method('DELETE')
<button type="submit" <button type="submit"
class="text-xs bg-red-50 text-red-600 font-bold px-2 py-1 rounded hover:bg-red-600 hover:text-white transition"> class="text-xs bg-red-50 text-red-600 font-bold px-2 py-1 rounded hover:bg-red-600 hover:text-white transition">
@@ -86,14 +86,14 @@
<div> <div>
<label class="block text-sm font-bold text-amber-900 mb-2">同步返回地址</label> <label class="block text-sm font-bold text-amber-900 mb-2">同步返回地址</label>
<input type="text" value="{{ $syncReturnUrl }}" readonly <input type="text" value="{{ $syncReturnUrl }}" readonly
onclick="this.select();" data-admin-select-on-click
class="w-full border-amber-200 rounded-md shadow-sm p-2.5 bg-white border text-gray-700 font-mono text-sm cursor-pointer"> class="w-full border-amber-200 rounded-md shadow-sm p-2.5 bg-white border text-gray-700 font-mono text-sm cursor-pointer">
</div> </div>
<div> <div>
<label class="block text-sm font-bold text-amber-900 mb-2">异步通知地址</label> <label class="block text-sm font-bold text-amber-900 mb-2">异步通知地址</label>
<input type="text" value="{{ $asyncNotifyUrl }}" readonly <input type="text" value="{{ $asyncNotifyUrl }}" readonly
onclick="this.select();" data-admin-select-on-click
class="w-full border-amber-200 rounded-md shadow-sm p-2.5 bg-white border text-gray-700 font-mono text-sm cursor-pointer"> class="w-full border-amber-200 rounded-md shadow-sm p-2.5 bg-white border text-gray-700 font-mono text-sm cursor-pointer">
</div> </div>
</div> </div>