Add separate drag handle for prompt manager on touch screen Fixes #2239

f8c6a62c23b422cf87e67777c0a0649fc16a5673

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +21 -0Showing whitespace changes
public/css/promptmanager.css+18 -0
@@ -271,6 +271,24 @@
271271 opacity: 0.8;
272272}
273273
274+#completion_prompt_manager #completion_prompt_manager_list .completion_prompt_manager_prompt .drag-handle:not(.ui-sortable-handle) {
275+ display: none;
276+}
277+
278+#completion_prompt_manager #completion_prompt_manager_list .completion_prompt_manager_prompt:has(.drag-handle.ui-sortable-handle) {
279+ position: relative;
280+ padding-left: 20px;
281+}
282+
283+#completion_prompt_manager #completion_prompt_manager_list .completion_prompt_manager_prompt .drag-handle {
284+ position: absolute;
285+ height: 100%;
286+ top: 0;
287+ padding: 0 5px;
288+ display: flex;
289+ align-items: center;
290+}
291+
274292#completion_prompt_manager_footer_append_prompt {
275293 font-size: 1em;
276294}
public/scripts/PromptManager.js+3 -0
@@ -11,6 +11,7 @@ import { debounce_timeout } from './constants.js';
1111import { renderTemplateAsync } from './templates.js';
1212import { Popup } from './popup.js';
1313import { t } from './i18n.js';
14+import { isMobile } from './RossAscends-mods.js';
1415
1516function debouncePromise(func, delay) {
1617 let timeoutId;
@@ -1562,6 +1563,7 @@ class PromptManager {
15621563
15631564 listItemHtml += `
15641565 <li class="${prefix}prompt_manager_prompt ${draggableClass} ${enabledClass} ${markerClass} ${importantClass}" data-pm-identifier="${escapeHtml(prompt.identifier)}">
1566+ <span class="drag-handle">☰</span>
15651567 <span class="${prefix}prompt_manager_prompt_name" data-pm-name="${encodedName}">
15661568 ${isMarkerPrompt ? '<span class="fa-fw fa-solid fa-thumb-tack" title="Marker"></span>' : ''}
15671569 ${isSystemPrompt ? '<span class="fa-fw fa-solid fa-square-poll-horizontal" title="Global Prompt"></span>' : ''}
@@ -1741,6 +1743,7 @@ class PromptManager {
17411743 makeDraggable() {
17421744 $(`#${this.configuration.prefix}prompt_manager_list`).sortable({
17431745 delay: this.configuration.sortableDelay,
1746+ handle: isMobile() ? '.drag-handle' : null,
17441747 items: `.${this.configuration.prefix}prompt_manager_prompt_draggable`,
17451748 update: (event, ui) => {
17461749 const promptOrder = this.getPromptOrderForCharacter(this.activeCharacter);