Skip to content

Commit a71b9ed

Browse files
JasonHokuclaude
andcommitted
Add dashboard toggle to show/hide trigger words in prompts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 87e3756 commit a71b9ed

4 files changed

Lines changed: 58 additions & 8 deletions

File tree

image_generation.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,9 @@ def create_image_metadata(config, width, height, duration, seed, batch_idx, actu
364364
}
365365
if gen_index is not None:
366366
update_dict["gen_index"] = gen_index
367+
# Preserve raw config prompts (without trigger words) for dashboard toggle
368+
meta["config_positive"] = config.get("positive", "")
369+
meta["config_negative"] = config.get("negative", "")
367370
meta.update(update_dict)
368371

369372
return meta

resources/logic_pipeline.js

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,16 @@ function incrementalFilter(newItems) {
233233
if (filters.denoise.size > 0 && !filters.denoise.has(d.denoise)) return false;
234234
if (filters.lora.size > 0 && !filters.lora.has(d.lora)) return false;
235235
if (filters.model.size > 0 && !filters.model.has(d.model || meta.model || "Default")) return false;
236-
if (filters.positive.size > 0 && !filters.positive.has(d.positive || meta.positive || "")) return false;
237-
if (filters.negative.size > 0 && !filters.negative.has(d.negative || meta.negative || "")) return false;
236+
if (filters.positive.size > 0) {
237+
const st = document.getElementById('toggle-triggers')?.checked !== false;
238+
const posValue = st ? (d.positive || meta.positive || "") : (d.config_positive || d.positive || meta.positive || "");
239+
if (!filters.positive.has(posValue)) return false;
240+
}
241+
if (filters.negative.size > 0) {
242+
const st = document.getElementById('toggle-triggers')?.checked !== false;
243+
const negValue = st ? (d.negative || meta.negative || "") : (d.config_negative || d.negative || meta.negative || "");
244+
if (!filters.negative.has(negValue)) return false;
245+
}
238246
if (filters.size.size > 0) {
239247
const sizeStr = `${d.width}x${d.height}`;
240248
if (!filters.size.has(sizeStr)) return false;
@@ -301,8 +309,16 @@ function executePipeline() {
301309
if (filters.denoise.size > 0 && !filters.denoise.has(d.denoise)) return false;
302310
if (filters.lora.size > 0 && !filters.lora.has(d.lora)) return false;
303311
if (filters.model.size > 0 && !filters.model.has(d.model || meta.model || "Default")) return false;
304-
if (filters.positive.size > 0 && !filters.positive.has(d.positive || meta.positive || "")) return false;
305-
if (filters.negative.size > 0 && !filters.negative.has(d.negative || meta.negative || "")) return false;
312+
if (filters.positive.size > 0) {
313+
const st = document.getElementById('toggle-triggers')?.checked !== false;
314+
const posValue = st ? (d.positive || meta.positive || "") : (d.config_positive || d.positive || meta.positive || "");
315+
if (!filters.positive.has(posValue)) return false;
316+
}
317+
if (filters.negative.size > 0) {
318+
const st = document.getElementById('toggle-triggers')?.checked !== false;
319+
const negValue = st ? (d.negative || meta.negative || "") : (d.config_negative || d.negative || meta.negative || "");
320+
if (!filters.negative.has(negValue)) return false;
321+
}
306322
if (filters.size.size > 0 && !filters.size.has(`${d.width}x${d.height}`)) return false;
307323
if (filters.seed.size > 0 && !filters.seed.has(d.seed)) return false;
308324
}

resources/logic_ui.js

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,14 @@ function initFilters() {
145145
['model', 'sampler', 'scheduler', 'denoise', 'lora', 'positive', 'negative', 'size', 'seed'].forEach(key => {
146146
const unique = [...new Set(activeData.map(d => {
147147
if (key === 'model') return d.model || meta.model || "Default";
148-
if (key === 'positive') return d.positive || meta.positive || "";
149-
if (key === 'negative') return d.negative || meta.negative || "";
148+
if (key === 'positive') {
149+
const st = document.getElementById('toggle-triggers')?.checked !== false;
150+
return st ? (d.positive || meta.positive || "") : (d.config_positive || d.positive || meta.positive || "");
151+
}
152+
if (key === 'negative') {
153+
const st = document.getElementById('toggle-triggers')?.checked !== false;
154+
return st ? (d.negative || meta.negative || "") : (d.config_negative || d.negative || meta.negative || "");
155+
}
150156
if (key === 'size') return `${d.width}x${d.height}`;
151157
return d[key];
152158
}))].sort();
@@ -255,6 +261,17 @@ function initFilters() {
255261
});
256262
}
257263

264+
// Toggle trigger word visibility in prompts
265+
function toggleTriggerWords(showTriggers) {
266+
// Rebuild filters with new prompt mode
267+
initFilters();
268+
updateDataPipeline();
269+
// If modal is open, refresh prompt display
270+
if (window.currentModalId) {
271+
openM(window.currentModalId);
272+
}
273+
}
274+
258275

259276
let pendingSaveItems = new Map(); // CHANGED: Set -> Map
260277
let saveTimer = null;
@@ -833,8 +850,14 @@ function openM(id) {
833850

834851
if (modelEl) modelEl.value = d.model || meta.model || "Default";
835852
if (seedEl) seedEl.value = d.seed || 0;
836-
if (posEl) posEl.value = d.positive || meta.positive || "";
837-
if (negEl) negEl.value = d.negative || meta.negative || "";
853+
// Check trigger word toggle
854+
const showTriggers = document.getElementById('toggle-triggers')?.checked !== false;
855+
if (posEl) posEl.value = showTriggers
856+
? (d.positive || meta.positive || "")
857+
: (d.config_positive || d.positive || meta.positive || "");
858+
if (negEl) negEl.value = showTriggers
859+
? (d.negative || meta.negative || "")
860+
: (d.config_negative || d.negative || meta.negative || "");
838861

839862
// Populate editable parameter fields
840863
const map = {

resources/template.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,14 @@ <h3>Filters & Info</h3>
277277
<div class="popup-section">
278278
<div class="popup-section-title">FILTERS <span
279279
style="font-size: 9px; color: #555; font-weight: normal;">(Shift+Click to isolate)</span></div>
280+
<div style="margin: 6px 0 2px 0; padding: 4px 0;">
281+
<label style="display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: 11px; color: #aaa;">
282+
<input type="checkbox" id="toggle-triggers" checked
283+
style="cursor: pointer;"
284+
onchange="if(typeof toggleTriggerWords==='function') toggleTriggerWords(this.checked)">
285+
Show Lora Trigger Words in Prompts
286+
</label>
287+
</div>
280288
<br />
281289
<div class="filter-row">
282290
<span class="filter-label">Model</span>

0 commit comments

Comments
 (0)