mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Prevent groups from being clicked.
Includes visual indication.
This commit is contained in:
@ -1,7 +1,3 @@
|
|||||||
#rm_print_characters_block .character_select,
|
|
||||||
#rm_print_characters_block .group_select{
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
#rm_print_characters_block.group_overlay_mode_select .character_select {
|
#rm_print_characters_block.group_overlay_mode_select .character_select {
|
||||||
transition: background-color 0.4s ease;
|
transition: background-color 0.4s ease;
|
||||||
@ -9,6 +5,15 @@
|
|||||||
background-color: rgba(170, 170, 170, 0.15);
|
background-color: rgba(170, 170, 170, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#rm_print_characters_block.group_overlay_mode_select .group_select {
|
||||||
|
cursor: auto;
|
||||||
|
filter: saturate(0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#rm_print_characters_block.group_overlay_mode_select .group_select:hover {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
#rm_print_characters_block.group_overlay_mode_select .character_select input.bulk_select_checkbox {
|
#rm_print_characters_block.group_overlay_mode_select .character_select input.bulk_select_checkbox {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
@ -277,6 +277,7 @@ class BulkEditOverlay {
|
|||||||
static containerId = 'rm_print_characters_block';
|
static containerId = 'rm_print_characters_block';
|
||||||
static contextMenuId = 'character_context_menu';
|
static contextMenuId = 'character_context_menu';
|
||||||
static characterClass = 'character_select';
|
static characterClass = 'character_select';
|
||||||
|
static groupClass = 'group_select';
|
||||||
static selectModeClass = 'group_overlay_mode_select';
|
static selectModeClass = 'group_overlay_mode_select';
|
||||||
static selectedClass = 'character_selected';
|
static selectedClass = 'character_selected';
|
||||||
static legacySelectedClass = 'bulk_select_checkbox';
|
static legacySelectedClass = 'bulk_select_checkbox';
|
||||||
@ -376,6 +377,7 @@ class BulkEditOverlay {
|
|||||||
case BulkEditOverlayState.browse:
|
case BulkEditOverlayState.browse:
|
||||||
this.container.classList.remove(BulkEditOverlay.selectModeClass);
|
this.container.classList.remove(BulkEditOverlay.selectModeClass);
|
||||||
this.#enableClickEventsForCharacters();
|
this.#enableClickEventsForCharacters();
|
||||||
|
this.#enableClickEventsForGroups();
|
||||||
this.clearSelectedCharacters();
|
this.clearSelectedCharacters();
|
||||||
this.disableContextMenu();
|
this.disableContextMenu();
|
||||||
this.#disableBulkEditButtonHighlight();
|
this.#disableBulkEditButtonHighlight();
|
||||||
@ -384,6 +386,7 @@ class BulkEditOverlay {
|
|||||||
case BulkEditOverlayState.select:
|
case BulkEditOverlayState.select:
|
||||||
this.container.classList.add(BulkEditOverlay.selectModeClass);
|
this.container.classList.add(BulkEditOverlay.selectModeClass);
|
||||||
this.#disableClickEventsForCharacters();
|
this.#disableClickEventsForCharacters();
|
||||||
|
this.#disableClickEventsForGroups();
|
||||||
this.enableContextMenu();
|
this.enableContextMenu();
|
||||||
this.#enableBulkEditButtonHighlight();
|
this.#enableBulkEditButtonHighlight();
|
||||||
break;
|
break;
|
||||||
@ -466,6 +469,12 @@ class BulkEditOverlay {
|
|||||||
event.clientY || event.touches[0].clientY,
|
event.clientY || event.touches[0].clientY,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#stopEventPropagation = (event) => event.stopPropagation();
|
||||||
|
|
||||||
|
#enableClickEventsForGroups = () => this.#getDisabledElements().forEach((element) => element.removeEventListener('click', this.#stopEventPropagation));
|
||||||
|
|
||||||
|
#disableClickEventsForGroups = () => this.#getDisabledElements().forEach((element) => element.addEventListener('click', this.#stopEventPropagation));
|
||||||
|
|
||||||
#enableClickEventsForCharacters = () => this.#getEnabledElements().forEach(element => element.removeEventListener('click', this.toggleCharacterSelected));
|
#enableClickEventsForCharacters = () => this.#getEnabledElements().forEach(element => element.removeEventListener('click', this.toggleCharacterSelected));
|
||||||
|
|
||||||
#disableClickEventsForCharacters = () => this.#getEnabledElements().forEach(element => element.addEventListener('click', this.toggleCharacterSelected));
|
#disableClickEventsForCharacters = () => this.#getEnabledElements().forEach(element => element.addEventListener('click', this.toggleCharacterSelected));
|
||||||
@ -476,6 +485,8 @@ class BulkEditOverlay {
|
|||||||
|
|
||||||
#getEnabledElements = () => [...this.container.getElementsByClassName(BulkEditOverlay.characterClass)];
|
#getEnabledElements = () => [...this.container.getElementsByClassName(BulkEditOverlay.characterClass)];
|
||||||
|
|
||||||
|
#getDisabledElements = () =>[...this.container.querySelectorAll('.' + BulkEditOverlay.groupClass)];
|
||||||
|
|
||||||
toggleCharacterSelected = event => {
|
toggleCharacterSelected = event => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user