Skip to content

Commit 6eaceac

Browse files
authored
fix(TableToolbarSearch): ensure search cannot be expanded when disabled (#7612)
* fix(TableToolbarSearch): ensure search cannot be expanded when disabled * fix(TableToolbarSearch): remove disbaled from SVG * style(TableToolbarSearch): only unset specific transition when disabled
1 parent 2d6c22d commit 6eaceac

File tree

3 files changed

+48
-8
lines changed

3 files changed

+48
-8
lines changed

packages/components/src/components/data-table/_data-table-action.scss

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,14 @@
8484
pointer-events: all;
8585
}
8686

87+
.#{$prefix}--toolbar-search-container-expandable
88+
.#{$prefix}--search--disabled
89+
.#{$prefix}--search-magnifier {
90+
background: $disabled-01;
91+
cursor: not-allowed;
92+
transition: background-color none;
93+
}
94+
8795
.#{$prefix}--toolbar-search-container-expandable
8896
.#{$prefix}--search
8997
.#{$prefix}--search-magnifier:focus {
@@ -96,6 +104,18 @@
96104
background: $hover-field;
97105
}
98106

107+
.#{$prefix}--toolbar-action.#{$prefix}--toolbar-search-container-disabled {
108+
cursor: not-allowed;
109+
}
110+
111+
.#{$prefix}--toolbar-search-container-expandable
112+
.#{$prefix}--search--disabled
113+
.#{$prefix}--search-magnifier:hover {
114+
background: $disabled-01;
115+
cursor: not-allowed;
116+
transition: background-color none;
117+
}
118+
99119
.#{$prefix}--toolbar-search-container-expandable
100120
.#{$prefix}--search
101121
.#{$prefix}--label {
@@ -579,6 +599,10 @@
579599
}
580600
}
581601

602+
.#{$prefix}--search--disabled .#{$prefix}--search-magnifier:hover {
603+
background: transparent;
604+
}
605+
582606
//-------------------------------------------------
583607
// SMALL BATCH ACTIONS
584608
//-------------------------------------------------

packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1374,6 +1374,9 @@ Map {
13741374
"defaultValue": Object {
13751375
"type": "string",
13761376
},
1377+
"disabled": Object {
1378+
"type": "bool",
1379+
},
13771380
"expanded": Object {
13781381
"type": "bool",
13791382
},
@@ -1962,6 +1965,9 @@ Map {
19621965
"defaultValue": Object {
19631966
"type": "string",
19641967
},
1968+
"disabled": Object {
1969+
"type": "bool",
1970+
},
19651971
"expanded": Object {
19661972
"type": "bool",
19671973
},

packages/react/src/components/DataTable/TableToolbarSearch.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const TableToolbarSearch = ({
3232
expanded: expandedProp,
3333
defaultExpanded,
3434
defaultValue,
35+
disabled,
3536
onExpand,
3637
persistent,
3738
persistant,
@@ -71,21 +72,24 @@ const TableToolbarSearch = ({
7172
[searchContainerClass]: searchContainerClass,
7273
[`${prefix}--toolbar-action`]: true,
7374
[`${prefix}--toolbar-search-container-active`]: expanded,
75+
[`${prefix}--toolbar-search-container-disabled`]: disabled,
7476
[`${prefix}--toolbar-search-container-expandable`]:
7577
!persistent || (!persistent && !persistant),
7678
[`${prefix}--toolbar-search-container-persistent`]:
7779
persistent || persistant,
7880
});
7981

8082
const handleExpand = (event, value = !expanded) => {
81-
if (!controlled && (!persistent || (!persistent && !persistant))) {
82-
setExpandedState(value);
83-
if (value && !expanded) {
84-
setFocusTarget(searchRef);
83+
if (!disabled) {
84+
if (!controlled && (!persistent || (!persistent && !persistant))) {
85+
setExpandedState(value);
86+
if (value && !expanded) {
87+
setFocusTarget(searchRef);
88+
}
89+
}
90+
if (onExpand) {
91+
onExpand(event, value);
8592
}
86-
}
87-
if (onExpand) {
88-
onExpand(event, value);
8993
}
9094
};
9195

@@ -105,14 +109,15 @@ const TableToolbarSearch = ({
105109
return (
106110
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
107111
<div
108-
tabIndex={searchExpanded ? '-1' : tabIndex}
112+
tabIndex={searchExpanded || disabled ? '-1' : tabIndex}
109113
ref={searchRef}
110114
onKeyDown={(event) => onClick(event)}
111115
onClick={(event) => onClick(event)}
112116
onFocus={(event) => handleExpand(event, true)}
113117
onBlur={(event) => !value && handleExpand(event, false)}
114118
className={searchContainerClasses}>
115119
<Search
120+
disabled={disabled}
116121
size="sm"
117122
tabIndex={searchExpanded ? tabIndex : '-1'}
118123
className={className}
@@ -147,6 +152,11 @@ TableToolbarSearch.propTypes = {
147152
*/
148153
defaultValue: PropTypes.string,
149154

155+
/**
156+
* Specifies if the search should be disabled
157+
*/
158+
disabled: PropTypes.bool,
159+
150160
/**
151161
* Specifies if the search should expand
152162
*/

0 commit comments

Comments
 (0)