@@ -157,14 +157,20 @@ function JobListView() {
157
157
setSearchQuery ( event . target . value ) ;
158
158
}
159
159
160
+ function getLinkToDataset ( job : APIJob ) {
161
+ // prefer updated link over legacy link.
162
+ if ( job . datasetId != null )
163
+ return `/datasets/${ getReadableURLPart ( { name : job . datasetName || "unknown_name" , id : job . datasetId } ) } /view` ;
164
+ if ( job . organizationId != null && ( job . datasetName != null || job . datasetDirectoryName != null ) )
165
+ return `/datasets/${ job . organizationId } /${ job . datasetDirectoryName || job . datasetName } /view` ;
166
+ return null ;
167
+ }
168
+
160
169
function renderDescription ( __ : any , job : APIJob ) {
161
- const linkToDataset =
162
- job . datasetId != null
163
- ? `/datasets/${ getReadableURLPart ( { name : job . datasetName || "unknown_name" , id : job . datasetId } ) } /view` // prefer updated link over legacy link.
164
- : `/datasets/${ job . organizationId || "" } /${ job . datasetDirectoryName || job . datasetName } /view` ;
170
+ const linkToDataset = getLinkToDataset ( job ) ;
165
171
if ( job . type === APIJobType . CONVERT_TO_WKW && job . datasetName ) {
166
172
return < span > { `Conversion to WKW of ${ job . datasetName } ` } </ span > ;
167
- } else if ( job . type === APIJobType . EXPORT_TIFF && job . organizationId && job . datasetName ) {
173
+ } else if ( job . type === APIJobType . EXPORT_TIFF && linkToDataset != null ) {
168
174
const labelToAnnotationOrDataset =
169
175
job . annotationId != null ? (
170
176
< Link to = { `/annotations/${ job . annotationId } ` } >
@@ -180,33 +186,28 @@ function JobListView() {
180
186
{ job . ndBoundingBox ? formatWkLibsNdBBox ( job . ndBoundingBox ) : job . boundingBox } )
181
187
</ span >
182
188
) ;
183
- } else if ( job . type === APIJobType . RENDER_ANIMATION && job . organizationId && job . datasetName ) {
189
+ } else if ( job . type === APIJobType . RENDER_ANIMATION && linkToDataset != null ) {
184
190
return (
185
191
< span >
186
192
Animation rendering for layer { job . layerName } of dataset{ " " }
187
193
< Link to = { linkToDataset } > { job . datasetName } </ Link >
188
194
</ span >
189
195
) ;
190
- } else if ( job . type === APIJobType . COMPUTE_MESH_FILE && job . organizationId && job . datasetName ) {
196
+ } else if ( job . type === APIJobType . COMPUTE_MESH_FILE && linkToDataset != null ) {
191
197
return (
192
198
< span >
193
199
Mesh file computation for < Link to = { linkToDataset } > { job . datasetName } </ Link > { " " }
194
200
</ span >
195
201
) ;
196
- } else if (
197
- job . type === APIJobType . COMPUTE_SEGMENT_INDEX_FILE &&
198
- job . organizationId &&
199
- job . datasetName
200
- ) {
202
+ } else if ( job . type === APIJobType . COMPUTE_SEGMENT_INDEX_FILE && linkToDataset != null ) {
201
203
return (
202
204
< span >
203
205
Segment index file computation for < Link to = { linkToDataset } > { job . datasetName } </ Link > { " " }
204
206
</ span >
205
207
) ;
206
208
} else if (
207
209
job . type === APIJobType . FIND_LARGEST_SEGMENT_ID &&
208
- job . organizationId &&
209
- job . datasetName &&
210
+ linkToDataset != null &&
210
211
job . layerName
211
212
) {
212
213
return (
@@ -215,24 +216,14 @@ function JobListView() {
215
216
< Link to = { linkToDataset } > { job . datasetName } </ Link > { " " }
216
217
</ span >
217
218
) ;
218
- } else if (
219
- job . type === APIJobType . INFER_NUCLEI &&
220
- job . organizationId &&
221
- job . datasetName &&
222
- job . layerName
223
- ) {
219
+ } else if ( job . type === APIJobType . INFER_NUCLEI && linkToDataset != null && job . layerName ) {
224
220
return (
225
221
< span >
226
222
Nuclei inferral for layer { job . layerName } of{ " " }
227
223
< Link to = { linkToDataset } > { job . datasetName } </ Link > { " " }
228
224
</ span >
229
225
) ;
230
- } else if (
231
- job . type === APIJobType . INFER_NEURONS &&
232
- job . organizationId &&
233
- job . datasetName &&
234
- job . layerName
235
- ) {
226
+ } else if ( job . type === APIJobType . INFER_NEURONS && linkToDataset != null && job . layerName ) {
236
227
return (
237
228
< span >
238
229
Neuron inferral for layer { job . layerName } of{ " " }
@@ -241,8 +232,7 @@ function JobListView() {
241
232
) ;
242
233
} else if (
243
234
job . type === APIJobType . INFER_MITOCHONDRIA &&
244
- job . organizationId &&
245
- job . datasetName &&
235
+ linkToDataset != null &&
246
236
job . layerName
247
237
) {
248
238
return (
@@ -251,23 +241,14 @@ function JobListView() {
251
241
< Link to = { linkToDataset } > { job . datasetName } </ Link > { " " }
252
242
</ span >
253
243
) ;
254
- } else if (
255
- job . type === APIJobType . ALIGN_SECTIONS &&
256
- job . organizationId &&
257
- job . datasetName &&
258
- job . layerName
259
- ) {
244
+ } else if ( job . type === APIJobType . ALIGN_SECTIONS && linkToDataset != null && job . layerName ) {
260
245
return (
261
246
< span >
262
247
Align sections for layer { job . layerName } of{ " " }
263
248
< Link to = { linkToDataset } > { job . datasetName } </ Link > { " " }
264
249
</ span >
265
250
) ;
266
- } else if (
267
- job . type === APIJobType . MATERIALIZE_VOLUME_ANNOTATION &&
268
- job . organizationId &&
269
- job . datasetName
270
- ) {
251
+ } else if ( job . type === APIJobType . MATERIALIZE_VOLUME_ANNOTATION && linkToDataset != null ) {
271
252
return (
272
253
< span >
273
254
Materialize annotation for { job . layerName ? ` layer ${ job . layerName } of ` : " " }
@@ -277,15 +258,15 @@ function JobListView() {
277
258
: null }
278
259
</ span >
279
260
) ;
280
- } else if ( job . type === APIJobType . TRAIN_MODEL && job . organizationId ) {
261
+ } else if ( job . type === APIJobType . TRAIN_MODEL ) {
281
262
const numberOfTrainingAnnotations = job . trainingAnnotations . length ;
282
263
return (
283
264
< span >
284
265
{ `Train model on ${ numberOfTrainingAnnotations } ${ Utils . pluralize ( "annotation" , numberOfTrainingAnnotations ) } . ` }
285
266
{ getShowTrainingDataLink ( job . trainingAnnotations ) }
286
267
</ span >
287
268
) ;
288
- } else if ( job . type === APIJobType . INFER_WITH_MODEL && job . organizationId ) {
269
+ } else if ( job . type === APIJobType . INFER_WITH_MODEL && linkToDataset != null ) {
289
270
return (
290
271
< span >
291
272
Run AI segmentation with custom model on < Link to = { linkToDataset } > { job . datasetName } </ Link >
0 commit comments