Prevent groups from being clicked.
Includes visual indication.
This commit is contained in:
parent
7e3c155e37
commit
b8540a190b
|
@ -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 {
|
||||
transition: background-color 0.4s ease;
|
||||
|
@ -9,6 +5,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 {
|
||||
display: none !important;
|
||||
}
|
||||
|
|
|
@ -277,6 +277,7 @@ class BulkEditOverlay {
|
|||
static containerId = 'rm_print_characters_block';
|
||||
static contextMenuId = 'character_context_menu';
|
||||
static characterClass = 'character_select';
|
||||
static groupClass = 'group_select';
|
||||
static selectModeClass = 'group_overlay_mode_select';
|
||||
static selectedClass = 'character_selected';
|
||||
static legacySelectedClass = 'bulk_select_checkbox';
|
||||
|
@ -376,6 +377,7 @@ class BulkEditOverlay {
|
|||
case BulkEditOverlayState.browse:
|
||||
this.container.classList.remove(BulkEditOverlay.selectModeClass);
|
||||
this.#enableClickEventsForCharacters();
|
||||
this.#enableClickEventsForGroups();
|
||||
this.clearSelectedCharacters();
|
||||
this.disableContextMenu();
|
||||
this.#disableBulkEditButtonHighlight();
|
||||
|
@ -384,6 +386,7 @@ class BulkEditOverlay {
|
|||
case BulkEditOverlayState.select:
|
||||
this.container.classList.add(BulkEditOverlay.selectModeClass);
|
||||
this.#disableClickEventsForCharacters();
|
||||
this.#disableClickEventsForGroups();
|
||||
this.enableContextMenu();
|
||||
this.#enableBulkEditButtonHighlight();
|
||||
break;
|
||||
|
@ -466,6 +469,12 @@ class BulkEditOverlay {
|
|||
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));
|
||||
|
||||
#disableClickEventsForCharacters = () => this.#getEnabledElements().forEach(element => element.addEventListener('click', this.toggleCharacterSelected));
|
||||
|
@ -476,6 +485,8 @@ class BulkEditOverlay {
|
|||
|
||||
#getEnabledElements = () => [...this.container.getElementsByClassName(BulkEditOverlay.characterClass)];
|
||||
|
||||
#getDisabledElements = () =>[...this.container.querySelectorAll('.' + BulkEditOverlay.groupClass)];
|
||||
|
||||
toggleCharacterSelected = event => {
|
||||
event.stopPropagation();
|
||||
|
||||
|
|
Loading…
Reference in New Issue