@@ -5,6 +5,7 @@ import '@ui5/webcomponents-icons/dist/delete.js';
55import '@ui5/webcomponents-icons/dist/edit.js' ;
66import '@ui5/webcomponents-icons/dist/settings.js' ;
77import NoDataIllustration from '@ui5/webcomponents-fiori/dist/illustrations/NoData.js' ;
8+ import NoFilterResults from '@ui5/webcomponents-fiori/dist/illustrations/NoFilterResults.js' ;
89import { useCallback , useEffect , useMemo , useReducer , useRef , useState } from 'react' ;
910import {
1011 AnalyticalTablePopinDisplay ,
@@ -29,6 +30,8 @@ import { SegmentedButtonItem } from '../../webComponents/SegmentedButtonItem/ind
2930import { Select } from '../../webComponents/Select/index.js' ;
3031import { Tag } from '../../webComponents/Tag/index.js' ;
3132import { Text } from '../../webComponents/Text/index.js' ;
33+ import type { ToggleButtonPropTypes } from '../../webComponents/ToggleButton/index.js' ;
34+ import { ToggleButton } from '../../webComponents/ToggleButton/index.js' ;
3235import { FlexBox } from '../FlexBox/index.js' ;
3336import { ObjectStatus } from '../ObjectStatus/index.js' ;
3437import type { AnalyticalTableColumnDefinition , AnalyticalTablePropTypes } from './index.js' ;
@@ -590,8 +593,16 @@ export const CustomFilter: Story = {
590593export const NoData : Story = {
591594 render ( args , context ) {
592595 const [ selected , setSelected ] = useState ( 'noData' ) ;
596+ const [ filtered , setFiltered ] = useState ( false ) ;
593597 const handleChange : SegmentedButtonPropTypes [ 'onSelectionChange' ] = ( e ) => {
594- setSelected ( e . detail . selectedItems [ 0 ] . dataset . key ) ;
598+ const { key } = e . detail . selectedItems [ 0 ] . dataset ;
599+ setSelected ( key ) ;
600+ if ( key === 'data' ) {
601+ setFiltered ( false ) ;
602+ }
603+ } ;
604+ const handleClick : ToggleButtonPropTypes [ 'onClick' ] = ( e ) => {
605+ setFiltered ( ! ! e . target . pressed ) ;
595606 } ;
596607
597608 return (
@@ -606,13 +617,26 @@ export const NoData: Story = {
606617 < SegmentedButtonItem selected = { selected === 'data' } data-key = "data" >
607618 With Data
608619 </ SegmentedButtonItem >
609- </ SegmentedButton >
620+ </ SegmentedButton > { ' ' }
621+ |{ ' ' }
622+ < ToggleButton onClick = { handleClick } pressed = { filtered } disabled = { selected === 'data' } >
623+ Table filtered
624+ </ ToggleButton >
610625 { context . viewMode === 'story' ? (
611626 < AnalyticalTable
612627 { ...args }
613628 data = { selected === 'data' ? args . data : [ ] }
629+ globalFilterValue = { filtered ? 'Non-existing text' : undefined }
614630 NoDataComponent = {
615- selected === 'noData' ? undefined : ( ) => < IllustratedMessage role = "gridcell" name = { NoDataIllustration } />
631+ selected === 'noData'
632+ ? undefined
633+ : ( props ) => {
634+ return filtered ? (
635+ < IllustratedMessage role = { props . role } name = { NoFilterResults } />
636+ ) : (
637+ < IllustratedMessage role = { props . role } name = { NoDataIllustration } />
638+ ) ;
639+ }
616640 }
617641 />
618642 ) : (
0 commit comments