1
1
'use client' ;
2
2
3
3
import { usePathname , useRouter } from 'next/navigation' ;
4
- import { useEffect , useId } from 'react' ;
4
+ import { HTMLAttributes , TdHTMLAttributes , useEffect , useId } from 'react' ;
5
5
6
6
import ExploreSectionListingView from '@/components/explore-section/ExploreSectionListingView' ;
7
7
8
8
import { useBuildMeModelSessionState } from '@/features/entities/me-model/build/create.state-session' ;
9
- import {
10
- checkSelectedEmodelBlackList ,
11
- EmodelBlackList ,
12
- } from '@/page-wrappers/build/me-model/helpers' ;
9
+ import { checkSelectedEmodelBlackList } from '@/page-wrappers/build/me-model/helpers' ;
13
10
import { ExploreDataScope } from '@/types/explore-section/application' ;
14
11
import { resolveExploreDetailsPageUrl } from '@/utils/url-builder' ;
15
12
import { DataType } from '@/constants/explore-section/list-views' ;
@@ -119,7 +116,7 @@ export default function EmodelSelection({ params, searchParams }: Props) {
119
116
}
120
117
121
118
return (
122
- < div className = "h-full px-10" id = "explore-table-container-for-observable " >
119
+ < div className = "h-full px-10" id = "explore-table-container-for-observable" >
123
120
< ExploreSectionListingView < IEModel >
124
121
dataKey = { dataKey }
125
122
containerClass = "h-full bg-white"
@@ -136,30 +133,41 @@ export default function EmodelSelection({ params, searchParams }: Props) {
136
133
Select e-model
137
134
</ Btn >
138
135
) }
136
+ onRow = { ( row ) => {
137
+ if ( checkSelectedEmodelBlackList ( row ) )
138
+ // this new line in the attribute is required to be displayed in two lines
139
+ return {
140
+ 'black-listed' : `This e-model cannot be combined
141
+ with any morphology for now.
142
+ ` ,
143
+ } as HTMLAttributes < any > & TdHTMLAttributes < any > ;
144
+ return { } ;
145
+ } }
139
146
rowClassName = { ( row : IEModel ) => {
140
- return EmodelBlackList . includes ( row . name )
147
+ return checkSelectedEmodelBlackList ( row )
141
148
? classNames (
142
149
'bg-gray-200 [&_td]:bg-gray-200! hover:[bg-gray-200] [&:hover_td]:bg-gray-200' ,
143
150
'[&_.ant-radio-input]:pointer-events-none [&_.ant-radio-wrapper]:pointer-events-none [&_.ant-radio]:pointer-events-none [&_.ant-radio-input]:pointer-events-none' ,
144
151
'[&_.ant-radio-input]:cursor-not-allowed [&_.ant-radio-wrapper]:cursor-not-allowed' ,
145
152
'[&_.ant-table-cell]:cursor-not-allowed' ,
146
153
`
147
- [&_td:has(.ant-radio-wrapper)]:hover:after:content-['This_e-model_cannot_be_combined_\\a_with_any_morphology_for_now.']!
148
- [&_td:has(.ant-radio-wrapper)]:hover:after:absolute
149
- [&_td:has(.ant-radio-wrapper)]:hover:after:bg-yellow-100
150
- [&_td:has(.ant-radio-wrapper)]:hover:after:backdrop-blur-xl
151
- [&_td:has(.ant-radio-wrapper)]:hover:after:border
152
- [&_td:has(.ant-radio-wrapper)]:hover:after:border-yellow-100/20
153
- [&_td:has(.ant-radio-wrapper)]:hover:after:shadow-lg
154
- [&_td:has(.ant-radio-wrapper)]:hover:after:text-primary-8
155
- [&_td:has(.ant-radio-wrapper)]:hover:after:text-sm
156
- [&_td:has(.ant-radio-wrapper)]:hover:after:px-2
157
- [&_td:has(.ant-radio-wrapper)]:hover:after:py-1
158
- [&_td:has(.ant-radio-wrapper)]:hover:after:rounded
159
- [&_td:has(.ant-radio-wrapper)]:hover:after:whitespace-pre
160
- [&_td:has(.ant-radio-wrapper)]:hover:after:z-50
161
- [&_td:has(.ant-radio-wrapper)]:hover:after:top-[10px]
162
- [&_td:has(.ant-radio-wrapper)]:hover:after:left-[10px]
154
+ [tr:has(.ant-radio-wrapper)]:relative!
155
+ [tr:has(.ant-radio-wrapper)]:hover:after:content-[attr(black-listed)]!
156
+ [tr:has(.ant-radio-wrapper)]:hover:after:absolute
157
+ [tr:has(.ant-radio-wrapper)]:hover:after:bg-yellow-100
158
+ [tr:has(.ant-radio-wrapper)]:hover:after:backdrop-blur-xl
159
+ [tr:has(.ant-radio-wrapper)]:hover:after:border
160
+ [tr:has(.ant-radio-wrapper)]:hover:after:border-yellow-100/20
161
+ [tr:has(.ant-radio-wrapper)]:hover:after:shadow-lg
162
+ [tr:has(.ant-radio-wrapper)]:hover:after:text-primary-8
163
+ [tr:has(.ant-radio-wrapper)]:hover:after:text-sm
164
+ [tr:has(.ant-radio-wrapper)]:hover:after:px-2
165
+ [tr:has(.ant-radio-wrapper)]:hover:after:py-1
166
+ [tr:has(.ant-radio-wrapper)]:hover:after:rounded
167
+ [tr:has(.ant-radio-wrapper)]:hover:after:whitespace-pre-line
168
+ [tr:has(.ant-radio-wrapper)]:hover:after:z-50
169
+ [tr:has(.ant-radio-wrapper)]:hover:after:top-[10px]
170
+ [tr:has(.ant-radio-wrapper)]:hover:after:left-[10px]
163
171
`
164
172
)
165
173
: '' ;
0 commit comments