Skip to content

Commit f4ddf0c

Browse files
committed
Improve accessing layout settings
Firefox does not hande select menus on hover well. Add `active` class to block in editmode to not solely rely on hover.
1 parent bda3561 commit f4ddf0c

File tree

6 files changed

+63
-19
lines changed

6 files changed

+63
-19
lines changed

javascripts/editmode.js

+18
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,24 @@
381381
};
382382

383383
const bindBlockLayoutChange = ({bodyBlocks, dataKey}) => {
384+
$('.js-blocks-wrapper').on('mouseenter', e => {
385+
const $block = $(e.target).closest('.js-blocks-wrapper').first();
386+
387+
$block.addClass('active');
388+
});
389+
390+
$('.js-change-layout-select').on('click', e => {
391+
const $block = $(e.target).closest('.js-blocks-wrapper').first();
392+
393+
$block.addClass('active');
394+
});
395+
396+
$('.js-blocks-wrapper').on('mouseleave', e => {
397+
const $block = $(e.target).closest('.js-blocks-wrapper').first();
398+
399+
$block.removeClass('active');
400+
});
401+
384402
$('.js-change-layout-select').on('change', e => {
385403
const targetKey = $(e.target).find(':selected').data('key');
386404
const newLayout = e.target.value;

javascripts/editmode.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sources/javascripts/editmode.js

+18
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,24 @@
377377
};
378378

379379
const bindBlockLayoutChange = ({bodyBlocks, dataKey}) => {
380+
$('.js-blocks-wrapper').on('mouseenter', e => {
381+
const $block = $(e.target).closest('.js-blocks-wrapper').first();
382+
383+
$block.addClass('active');
384+
});
385+
386+
$('.js-change-layout-select').on('click', e => {
387+
const $block = $(e.target).closest('.js-blocks-wrapper').first();
388+
389+
$block.addClass('active');
390+
})
391+
392+
$('.js-blocks-wrapper').on('mouseleave', e => {
393+
const $block = $(e.target).closest('.js-blocks-wrapper').first();
394+
395+
$block.removeClass('active');
396+
});
397+
380398
$('.js-change-layout-select').on('change', e => {
381399
const targetKey = $(e.target).find(':selected').data('key');
382400
const newLayout = e.target.value;

sources/stylesheets/components/_block.scss

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
}
2121
}
2222

23-
&:hover > .block-edit-buttons {
23+
&:hover > .block-edit-buttons, &.active > .block-edit-buttons {
2424
background-color: rgba($grey-1, .5);
2525

2626
> * {

stylesheets/main.css

+24-16
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,19 @@
2121
.category-blocks .block-edit-buttons > * {
2222
display: none;
2323
}
24-
.block-wrapper:hover > .block-edit-buttons,
25-
.category-blocks:hover > .block-edit-buttons {
24+
.block-wrapper:hover > .block-edit-buttons, .block-wrapper.active > .block-edit-buttons,
25+
.category-blocks:hover > .block-edit-buttons,
26+
.category-blocks.active > .block-edit-buttons {
2627
background-color: rgba(247, 247, 242, 0.5);
2728
}
28-
.block-wrapper:hover > .block-edit-buttons > *,
29-
.category-blocks:hover > .block-edit-buttons > * {
29+
.block-wrapper:hover > .block-edit-buttons > *, .block-wrapper.active > .block-edit-buttons > *,
30+
.category-blocks:hover > .block-edit-buttons > *,
31+
.category-blocks.active > .block-edit-buttons > * {
3032
display: block;
3133
}
32-
.block-wrapper:hover > .block-edit-buttons > *[data-title]:after,
33-
.category-blocks:hover > .block-edit-buttons > *[data-title]:after {
34+
.block-wrapper:hover > .block-edit-buttons > *[data-title]:after, .block-wrapper.active > .block-edit-buttons > *[data-title]:after,
35+
.category-blocks:hover > .block-edit-buttons > *[data-title]:after,
36+
.category-blocks.active > .block-edit-buttons > *[data-title]:after {
3437
content: attr(data-title);
3538
opacity: 0;
3639
transition: opacity 0.3s ease-in-out;
@@ -47,26 +50,31 @@
4750
font-family: var(--font-family);
4851
pointer-events: none;
4952
}
50-
.block-wrapper:hover > .block-edit-buttons > *[data-title]:hover:after,
51-
.category-blocks:hover > .block-edit-buttons > *[data-title]:hover:after {
53+
.block-wrapper:hover > .block-edit-buttons > *[data-title]:hover:after, .block-wrapper.active > .block-edit-buttons > *[data-title]:hover:after,
54+
.category-blocks:hover > .block-edit-buttons > *[data-title]:hover:after,
55+
.category-blocks.active > .block-edit-buttons > *[data-title]:hover:after {
5256
opacity: 1;
5357
}
54-
.block-wrapper:hover > .block-edit-buttons .up-button:after,
55-
.category-blocks:hover > .block-edit-buttons .up-button:after {
58+
.block-wrapper:hover > .block-edit-buttons .up-button:after, .block-wrapper.active > .block-edit-buttons .up-button:after,
59+
.category-blocks:hover > .block-edit-buttons .up-button:after,
60+
.category-blocks.active > .block-edit-buttons .up-button:after {
5661
left: 0;
5762
}
58-
.block-wrapper:hover > .block-edit-buttons .delete-button:after,
59-
.category-blocks:hover > .block-edit-buttons .delete-button:after {
63+
.block-wrapper:hover > .block-edit-buttons .delete-button:after, .block-wrapper.active > .block-edit-buttons .delete-button:after,
64+
.category-blocks:hover > .block-edit-buttons .delete-button:after,
65+
.category-blocks.active > .block-edit-buttons .delete-button:after {
6066
right: 0;
6167
}
62-
.block-wrapper:hover > .block-edit-buttons .down-button:after,
63-
.category-blocks:hover > .block-edit-buttons .down-button:after {
68+
.block-wrapper:hover > .block-edit-buttons .down-button:after, .block-wrapper.active > .block-edit-buttons .down-button:after,
69+
.category-blocks:hover > .block-edit-buttons .down-button:after,
70+
.category-blocks.active > .block-edit-buttons .down-button:after {
6471
top: 32px;
6572
right: 0;
6673
transform: rotate(180deg);
6774
}
68-
.block-wrapper:hover > .block-edit-buttons .change-layout-options:after,
69-
.category-blocks:hover > .block-edit-buttons .change-layout-options:after {
75+
.block-wrapper:hover > .block-edit-buttons .change-layout-options:after, .block-wrapper.active > .block-edit-buttons .change-layout-options:after,
76+
.category-blocks:hover > .block-edit-buttons .change-layout-options:after,
77+
.category-blocks.active > .block-edit-buttons .change-layout-options:after {
7078
left: 0;
7179
}
7280

stylesheets/main.min.css

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)