Skip to content

Commit 126ed22

Browse files
authored
fix(accordion): prevent ui dropdown icons in titles to animate
Whenever an accordion title has got a dropdown inside, the activation of that dropdown also triggered toggling the accordion. Also the dropdown icon inside the dropdown was animated just ike the accordion dropdown icon. This PR fixes the css selectors and adds a new selector setting ignore to be able to defined a css selector which should not trigger the accordions toggle when inside a title node.
1 parent 565bf4f commit 126ed22

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed

src/definitions/modules/accordion.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,10 @@ $.fn.accordion = function(parameters) {
117117
},
118118

119119
event: {
120-
click: function() {
121-
module.toggle.call(this);
120+
click: function(event) {
121+
if($(event.target).closest(selector.ignore).length === 0) {
122+
module.toggle.call(this);
123+
}
122124
}
123125
},
124126

@@ -602,6 +604,7 @@ $.fn.accordion.settings = {
602604
accordion : '.accordion',
603605
title : '.title',
604606
trigger : '.title',
607+
ignore : '.ui.dropdown',
605608
content : '.content'
606609
}
607610

src/definitions/modules/accordion.less

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@
5454
}
5555

5656
/* Arrow */
57-
.ui.accordion .title .dropdown.icon,
58-
.ui.accordion .accordion .title .dropdown.icon {
57+
.ui.accordion .ui.header > .dropdown.icon,
58+
.ui.accordion .title > .dropdown.icon,
59+
.ui.accordion .accordion .title > .dropdown.icon {
5960
display: @iconDisplay;
6061
float: @iconFloat;
6162
opacity: @iconOpacity;
@@ -89,7 +90,7 @@
8990
}
9091

9192
/* Header */
92-
.ui.accordion .ui.header .dropdown.icon {
93+
.ui.accordion .ui.header > .dropdown.icon {
9394
font-size: @iconFontSize;
9495
margin: @iconMargin;
9596
}
@@ -98,10 +99,10 @@
9899
States
99100
*******************************/
100101

101-
.ui.accordion[open] > .title .dropdown.icon,
102-
.ui.accordion .accordion[open] > .title .dropdown.icon,
103-
.ui.accordion .active.title .dropdown.icon,
104-
.ui.accordion .accordion .active.title .dropdown.icon {
102+
.ui.accordion[open] > .title > .dropdown.icon,
103+
.ui.accordion .accordion[open] > .title > .dropdown.icon,
104+
.ui.accordion .active.title > .dropdown.icon,
105+
.ui.accordion .accordion .active.title > .dropdown.icon {
105106
transform: @activeIconTransform;
106107
}
107108

src/themes/default/modules/accordion.overrides

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,18 @@
1212
}
1313

1414
/* Dropdown Icon */
15-
.ui.accordion .title .dropdown.icon,
16-
.ui.accordion .accordion .title .dropdown.icon {
15+
.ui.accordion .ui.header > .dropdown.icon,
16+
.ui.accordion .title > .dropdown.icon,
17+
.ui.accordion .accordion .title > .dropdown.icon {
1718
font-family: Accordion;
1819
line-height: 1;
1920
backface-visibility: hidden;
2021
font-weight: normal;
2122
font-style: normal;
2223
text-align: center;
2324
}
24-
25-
.ui.accordion .title .dropdown.icon:before,
26-
.ui.accordion .accordion .title .dropdown.icon:before {
25+
.ui.accordion .ui.header > .dropdown.icon:before,
26+
.ui.accordion .title > .dropdown.icon:before,
27+
.ui.accordion .accordion .title > .dropdown.icon:before {
2728
content: '\f0da'/*rtl:'\f0d9'*/;
2829
}

0 commit comments

Comments
 (0)