mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-24 22:52:12 -03:00
feat(randomizer): add LoRA locking and roll modes
- Implement LoRA locking to prevent specific LoRAs from being changed during randomization - Add visual styling for locked state with amber accents and distinct backgrounds - Introduce `roll_mode` configuration with 'backend' (execute current selection while generating new) and 'frontend' (execute newly generated selection) behaviors - Move LoraPoolNode to 'Lora Manager/randomizer' category and remove standalone class mappings - Standardize RETURN_NAMES in LoraRandomizerNode for consistency
This commit is contained in:
@@ -175,6 +175,20 @@
|
||||
box-shadow: 0 0 0 1px rgba(66, 153, 225, 0.3) !important;
|
||||
}
|
||||
|
||||
.lm-lora-entry[data-selected="true"][data-locked="true"] {
|
||||
background-color: rgba(66, 153, 225, 0.2) !important;
|
||||
border-left: 3px solid rgba(245, 158, 11, 0.8) !important;
|
||||
border-right: 1px solid rgba(66, 153, 225, 0.6) !important;
|
||||
border-top: 1px solid rgba(66, 153, 225, 0.6) !important;
|
||||
border-bottom: 1px solid rgba(66, 153, 225, 0.6) !important;
|
||||
box-shadow: 0 0 0 1px rgba(66, 153, 225, 0.3), inset 0 0 20px rgba(245, 158, 11, 0.04) !important;
|
||||
}
|
||||
|
||||
.lm-lora-entry[data-selected="true"][data-locked="true"][data-active="false"] {
|
||||
background-color: rgba(48, 42, 36, 0.5) !important;
|
||||
border-left: 3px solid rgba(245, 158, 11, 0.6) !important;
|
||||
}
|
||||
|
||||
.lm-lora-name {
|
||||
margin-left: 4px;
|
||||
flex: 1;
|
||||
@@ -236,7 +250,6 @@
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
font-size: 12px;
|
||||
color: rgba(226, 232, 240, 0.8);
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
@@ -246,6 +259,11 @@
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
.lm-lora-arrow svg {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
.lm-lora-expand-button {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
@@ -254,7 +272,6 @@
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
font-size: 10px;
|
||||
color: rgba(226, 232, 240, 0.7);
|
||||
background-color: rgba(45, 55, 72, 0.3);
|
||||
border: 1px solid rgba(226, 232, 240, 0.2);
|
||||
@@ -262,7 +279,6 @@
|
||||
transition: all 0.2s ease;
|
||||
flex-shrink: 0;
|
||||
padding: 0;
|
||||
line-height: 1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@@ -314,13 +330,17 @@
|
||||
justify-content: center;
|
||||
cursor: grab;
|
||||
user-select: none;
|
||||
font-size: 14px;
|
||||
color: rgba(226, 232, 240, 0.6);
|
||||
transition: all 0.2s ease;
|
||||
margin-right: 8px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.lm-lora-drag-handle svg {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
.lm-lora-drag-handle:hover {
|
||||
color: rgba(226, 232, 240, 0.9);
|
||||
transform: scale(1.1);
|
||||
@@ -330,6 +350,83 @@
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
.lm-lora-lock-button {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
background-color: rgba(45, 55, 72, 0.3);
|
||||
border: 1px solid rgba(226, 232, 240, 0.2);
|
||||
border-radius: 3px;
|
||||
transition: all 0.2s ease;
|
||||
flex-shrink: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
margin-right: 8px;
|
||||
color: rgba(226, 232, 240, 0.8);
|
||||
}
|
||||
|
||||
.lm-lora-lock-button svg {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
.lm-lora-lock-button:hover {
|
||||
background-color: rgba(66, 153, 225, 0.2);
|
||||
border-color: rgba(66, 153, 225, 0.4);
|
||||
color: rgba(226, 232, 240, 0.95);
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.lm-lora-lock-button:active {
|
||||
transform: scale(0.95);
|
||||
}
|
||||
|
||||
.lm-lora-lock-button:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.lm-lora-lock-button:focus-visible {
|
||||
box-shadow: 0 0 0 2px rgba(66, 153, 225, 0.5);
|
||||
}
|
||||
|
||||
.lm-lora-lock-button--locked {
|
||||
background-color: rgba(245, 158, 11, 0.25);
|
||||
border-color: rgba(245, 158, 11, 0.7);
|
||||
color: rgba(251, 191, 36, 0.95);
|
||||
box-shadow: 0 0 8px rgba(245, 158, 11, 0.15);
|
||||
}
|
||||
|
||||
.lm-lora-lock-button--locked:hover {
|
||||
background-color: rgba(245, 158, 11, 0.35);
|
||||
border-color: rgba(245, 158, 11, 0.85);
|
||||
box-shadow: 0 0 12px rgba(245, 158, 11, 0.25);
|
||||
}
|
||||
|
||||
/* Visual styling for locked lora entries */
|
||||
.lm-lora-entry[data-locked="true"] {
|
||||
background-color: rgba(60, 50, 40, 0.75);
|
||||
border-left: 3px solid rgba(245, 158, 11, 0.7);
|
||||
box-shadow: inset 0 0 20px rgba(245, 158, 11, 0.04);
|
||||
}
|
||||
|
||||
.lm-lora-entry[data-locked="true"]:hover {
|
||||
background-color: rgba(65, 55, 45, 0.85);
|
||||
box-shadow: inset 0 0 24px rgba(245, 158, 11, 0.06);
|
||||
}
|
||||
|
||||
.lm-lora-entry[data-locked="true"][data-active="false"] {
|
||||
background-color: rgba(48, 42, 36, 0.6);
|
||||
border-left: 3px solid rgba(245, 158, 11, 0.5);
|
||||
}
|
||||
|
||||
.lm-lora-entry[data-locked="true"][data-active="false"]:hover {
|
||||
background-color: rgba(52, 46, 40, 0.7);
|
||||
}
|
||||
|
||||
body.lm-lora-strength-dragging,
|
||||
body.lm-lora-strength-dragging * {
|
||||
cursor: ew-resize !important;
|
||||
|
||||
Reference in New Issue
Block a user