File tree Expand file tree Collapse file tree 4 files changed +31
-14
lines changed
Expand file tree Collapse file tree 4 files changed +31
-14
lines changed Original file line number Diff line number Diff line change 1+ import {
2+ Directive ,
3+ HostListener
4+ } from "@angular/core" ;
5+
6+ @Directive ( {
7+ selector : "[ibmHoverToggle]"
8+ } )
9+ export class HoverToggle {
10+ @HostListener ( "mouseenter" , [ "$event" ] )
11+ addHoverClass ( event ) {
12+ console . log ( event . target ) ;
13+ event . target . previousElementSibling . classList . add ( "bx--expandable-row--hover-v2" ) ;
14+ }
15+
16+ @HostListener ( "mouseleave" , [ "$event" ] )
17+ removeHoverClass ( event ) {
18+ event . target . previousElementSibling . classList . remove ( "bx--expandable-row--hover-v2" ) ;
19+ }
20+ }
Original file line number Diff line number Diff line change 77 TableModel ,
88 TableHeaderItem ,
99 TableItem ,
10- DataGridFocus
10+ DataGridFocus ,
11+ HoverToggle
1112} from "./table.module" ;
1213import { Table } from "./table.component" ;
1314import { StaticIconModule } from "./../icon/static-icon.module" ;
@@ -49,7 +50,8 @@ describe("Table", () => {
4950 declarations : [
5051 Table ,
5152 TableTest ,
52- DataGridFocus
53+ DataGridFocus ,
54+ HoverToggle
5355 ]
5456 } ) ;
5557
Original file line number Diff line number Diff line change @@ -370,13 +370,12 @@ import { I18n } from "./../i18n/i18n.module";
370370 <tr
371371 *ngIf="model.rowsExpanded[i] && !model.isRowFiltered(i)"
372372 class="bx--expandable-row-v2"
373+ ibmHoverToggle
373374 [attr.data-child-row]="(model.rowsExpanded[i] ? 'true' : null)">
374375 <td
375376 [ibmDataGridFocus]="isDataGrid"
376377 [(columnIndex)]="columnIndex"
377378 [attr.colspan]="row.length + 2"
378- (mouseenter)="addHoverClass($event)"
379- (mouseleave)="removeHoverClass($event)"
380379 (click)="setExpandIndex($event)">
381380 <ng-container *ngIf="!firstExpandedTemplateInRow(row)">{{firstExpandedDataInRow(row)}}</ng-container>
382381 <ng-template
@@ -915,14 +914,6 @@ export class Table implements AfterViewInit {
915914 this . model . isEnd = false ;
916915 }
917916
918- addHoverClass ( event ) {
919- event . target . closest ( "tr" ) . previousElementSibling . classList . add ( "bx--expandable-row--hover-v2" ) ;
920- }
921-
922- removeHoverClass ( event ) {
923- event . target . closest ( "tr" ) . previousElementSibling . classList . remove ( "bx--expandable-row--hover-v2" ) ;
924- }
925-
926917 handleTabIndex ( ) {
927918 setTimeout ( ( ) => {
928919 const focusElementList = getFocusElementList ( this . elementRef . nativeElement , tabbableSelectorIgnoreTabIndex ) ;
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import { TableToolbarActions } from "./toolbar/table-toolbar-actions.component";
1111import { TableToolbarSearch } from "./toolbar/table-toolbar-search.component" ;
1212import { TableToolbarContent } from "./toolbar/table-toolbar-content.component" ;
1313import { DataGridFocus } from "./data-grid-focus.directive" ;
14+ import { HoverToggle } from "./hover-toggle.directive" ;
1415
1516import { IconModule } from "./../icon/icon.module" ;
1617import { StaticIconModule } from ".." ;
@@ -26,6 +27,7 @@ export { TableToolbarActions } from "./toolbar/table-toolbar-actions.component";
2627export { TableToolbarSearch } from "./toolbar/table-toolbar-search.component" ;
2728export { TableToolbarContent } from "./toolbar/table-toolbar-content.component" ;
2829export { DataGridFocus } from "./data-grid-focus.directive" ;
30+ export { HoverToggle } from "./hover-toggle.directive" ;
2931
3032@NgModule ( {
3133 declarations : [
@@ -34,15 +36,17 @@ export { DataGridFocus } from "./data-grid-focus.directive";
3436 TableToolbarActions ,
3537 TableToolbarSearch ,
3638 TableToolbarContent ,
37- DataGridFocus
39+ DataGridFocus ,
40+ HoverToggle
3841 ] ,
3942 exports : [
4043 Table ,
4144 TableToolbar ,
4245 TableToolbarActions ,
4346 TableToolbarSearch ,
4447 TableToolbarContent ,
45- DataGridFocus
48+ DataGridFocus ,
49+ HoverToggle
4650 ] ,
4751 imports : [
4852 CommonModule ,
You can’t perform that action at this time.
0 commit comments