Skip to content

Commit 20e361d

Browse files
committed
PR Feedback
1 parent f467533 commit 20e361d

8 files changed

Lines changed: 42 additions & 69 deletions

File tree

packages/components/src/internal/actions.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import {
3737
VIEW_NOT_FOUND_EXCEPTION_CLASS,
3838
} from './constants';
3939
import { DataViewInfo } from './DataViewInfo';
40-
import { getQueryParams } from './util/URL';
4140

4241
import { handleRequestFailure } from './request';
4342
import { resolveErrorMessage } from './util/messaging';

packages/components/src/internal/components/entities/EntityMoveModal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { FC, memo, useCallback, useEffect, useState } from 'react';
1+
import React, { FC, memo, ReactNode, useCallback, useEffect, useState } from 'react';
22
import { AuditBehaviorTypes } from '@labkey/api';
33

44
import { Progress } from '../base/Progress';
@@ -220,7 +220,7 @@ export const getMoveConfirmationProperties = (
220220
confirmationData: OperationConfirmationData,
221221
nounSingular: string,
222222
nounPlural: string
223-
): { canMove: boolean; message: any; title: string } => {
223+
): { canMove: boolean; message: ReactNode; title: string } => {
224224
if (!confirmationData) return undefined;
225225

226226
const capNounSingular = capitalizeFirstChar(nounSingular);

packages/components/src/internal/components/entities/actions.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ActionURL, Ajax, Filter, getServerContext, PermissionTypes, Query, Security, Utils } from '@labkey/api';
22
import { List, Map, OrderedMap } from 'immutable';
33

4-
import { getSelected, getSelectedDataDeprecated, setSnapshotSelections } from '../../actions';
4+
import { getSelected, getSelectedDataDeprecated } from '../../actions';
55

66
import { SampleOperation } from '../samples/constants';
77
import { SchemaQuery } from '../../../public/SchemaQuery';
@@ -259,12 +259,6 @@ async function getSelectedParents(
259259
return resolveEntityParentTypeFromIds(schemaQuery, response, isAliquotParent, orderedRowIds);
260260
}
261261

262-
export async function getSelectedItemSamples(selectedItemIds: string[]): Promise<number[]> {
263-
const { queryName, schemaName } = SCHEMAS.INVENTORY.ITEMS;
264-
const { data } = await getSelectedDataDeprecated(schemaName, queryName, selectedItemIds, 'RowId, MaterialId');
265-
return data.map(row => row.getIn(['MaterialId', 'value'])).toArray();
266-
}
267-
268262
function resolveSampleParentTypes(
269263
response: SelectRowsResponse,
270264
isAliquotParent?: boolean,
@@ -752,6 +746,7 @@ export function getDataOperationConfirmationData(
752746
);
753747
}
754748

749+
// TODO: I believe we can drop the dataRegionSelectionKey arg and make rowIds required.
755750
export function getCrossFolderSelectionResult(
756751
dataRegionSelectionKey: string,
757752
dataType: string, // 'samples' | 'exp.data' | 'assay',

packages/components/src/internal/components/picklist/ChoosePicklistModal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import { PICKLIST_KEY } from '../../app/constants';
2424

2525
import { addSamplesToPicklist, getPicklistsForInsert, SampleTypeCount } from './actions';
2626
import { Picklist } from './models';
27-
import { useSampleSelections } from './usePIcklistSelections';
27+
import { usePicklistSampleSelections } from './usePicklistSampleSelections';
2828
import { SchemaQuery } from '../../../public/SchemaQuery';
2929
import { useLoadableState } from '../../useLoadableState';
3030

@@ -411,7 +411,7 @@ export const ChoosePicklistModal: FC<ChoosePicklistModalProps> = memo(props => {
411411
error: sampleIdsError,
412412
loadingState: sampleIdsLoadingState,
413413
value: sampleIds,
414-
} = useSampleSelections(selectedRowIds, sampleFieldKey, schemaQuery);
414+
} = usePicklistSampleSelections(selectedRowIds, sampleFieldKey, schemaQuery);
415415
const {
416416
error: picklistError,
417417
loadingState: picklistLoadingState,

packages/components/src/internal/components/picklist/PicklistEditModal.test.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
import React from 'react';
22

3-
import { makeTestQueryModel } from '../../../public/QueryModel/testUtils';
4-
5-
import { SchemaQuery } from '../../../public/SchemaQuery';
6-
73
import { renderWithAppContext } from '../../test/reactTestLibraryHelpers';
84

95
import { PRIVATE_PICKLIST_CATEGORY, PUBLIC_PICKLIST_CATEGORY } from './constants';

packages/components/src/internal/components/picklist/PicklistEditModal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { Picklist } from './models';
1414
import { createPicklist, updatePicklist } from './actions';
1515
import { PRIVATE_PICKLIST_CATEGORY, PUBLIC_PICKLIST_CATEGORY } from './constants';
1616
import { SchemaQuery } from '../../../public/SchemaQuery';
17-
import { useSampleSelections } from './usePIcklistSelections';
17+
import { usePicklistSampleSelections } from './usePicklistSampleSelections';
1818
import { isLoading } from '../../../public/LoadingState';
1919
import { LoadingSpinner } from '../base/LoadingSpinner';
2020

@@ -190,7 +190,7 @@ export const PicklistEditModal: FC<PicklistEditModalProps> = memo(props => {
190190
showNotification,
191191
} = props;
192192

193-
const { error, loadingState, value: sampleIds } = useSampleSelections(selectedRowIds, sampleFieldKey, schemaQuery);
193+
const { error, loadingState, value: sampleIds } = usePicklistSampleSelections(selectedRowIds, sampleFieldKey, schemaQuery);
194194
const loading = isLoading(loadingState);
195195

196196
if (loading || error !== undefined) {

packages/components/src/internal/components/picklist/actions.ts

Lines changed: 33 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Ajax, Domain, Filter, Query, Utils } from '@labkey/api';
1+
import { Domain, Filter, Query } from '@labkey/api';
22

33
import { List } from 'immutable';
44

@@ -22,23 +22,18 @@ import { getOrderedSelectedMappedKeys } from '../entities/actions';
2222
import { Picklist, PICKLIST_KEY_COLUMN, PICKLIST_SAMPLE_ID_COLUMN } from './models';
2323
import { PRIVATE_PICKLIST_CATEGORY, PUBLIC_PICKLIST_CATEGORY } from './constants';
2424
import { executeSql } from '../../query/executeSql';
25-
import { getSelectedRows, Row, selectRows } from '../../query/selectRows';
25+
import { getSelectedRows, selectRows } from '../../query/selectRows';
2626
import { request } from '../../request';
2727

2828
export async function getPicklistsForInsert(): Promise<Picklist[]> {
29-
try {
30-
const { rows } = await selectRows({
31-
containerFilter: isProductFoldersEnabled() ? Query.ContainerFilter.current : undefined,
32-
schemaQuery: SCHEMAS.LIST_METADATA_TABLES.PICKLISTS,
33-
sort: 'Name',
34-
filterArray: [Filter.create('Category', null, Filter.Types.NONBLANK)],
35-
});
29+
const { rows } = await selectRows({
30+
containerFilter: isProductFoldersEnabled() ? Query.ContainerFilter.current : undefined,
31+
schemaQuery: SCHEMAS.LIST_METADATA_TABLES.PICKLISTS,
32+
sort: 'Name',
33+
filterArray: [Filter.create('Category', null, Filter.Types.NONBLANK)],
34+
});
3635

37-
return rows.map(row => Picklist.create(row));
38-
} catch (error) {
39-
console.error(error);
40-
throw error;
41-
}
36+
return rows.map(row => Picklist.create(row));
4237
}
4338

4439
export function createPicklist(
@@ -195,28 +190,23 @@ export async function getSelectedPicklistSamples(
195190
queryParameters?: Record<string, any>,
196191
viewName?: string
197192
): Promise<number[]> {
198-
try {
199-
const result = await getOrderedSelectedMappedKeys(
200-
PICKLIST_KEY_COLUMN,
201-
PICKLIST_SAMPLE_ID_COLUMN,
202-
SCHEMAS.PICKLIST_TABLES.SCHEMA,
203-
picklistName,
204-
selectedIds,
205-
sorts,
206-
queryParameters,
207-
viewName
208-
);
209-
210-
if (saveSnapshot) {
211-
const rowIds = result.mapFromValues;
212-
setSnapshotSelections(selectionKey, rowIds);
213-
}
214-
215-
return result.mapToValues;
216-
} catch (error) {
217-
console.error(error);
218-
throw error;
193+
const result = await getOrderedSelectedMappedKeys(
194+
PICKLIST_KEY_COLUMN,
195+
PICKLIST_SAMPLE_ID_COLUMN,
196+
SCHEMAS.PICKLIST_TABLES.SCHEMA,
197+
picklistName,
198+
selectedIds,
199+
sorts,
200+
queryParameters,
201+
viewName
202+
);
203+
204+
if (saveSnapshot) {
205+
const rowIds = result.mapFromValues;
206+
setSnapshotSelections(selectionKey, rowIds);
219207
}
208+
209+
return result.mapToValues;
220210
}
221211

222212
export async function getSamplesNotInList(listName: string, sampleIds: number[]): Promise<number[]> {
@@ -227,7 +217,7 @@ export async function getSamplesNotInList(listName: string, sampleIds: number[])
227217
export async function addSamplesToPicklist(listName: string, sampleIds: number[]): Promise<QueryCommandResponse> {
228218
const sampleIdsToAdd = await getSamplesNotInList(listName, sampleIds);
229219
const rows = List(sampleIdsToAdd.map(id => ({ SampleId: id })));
230-
const schemaQuery = new SchemaQuery('lists', listName);
220+
const schemaQuery = new SchemaQuery(SCHEMAS.PICKLIST_TABLES.SCHEMA, listName);
231221

232222
if (rows.size > 0) {
233223
return await insertRows({ schemaQuery, rows });
@@ -249,21 +239,14 @@ export interface PicklistDeletionData {
249239
}
250240

251241
export async function getPicklistDeleteData(model: QueryModel, user: User): Promise<PicklistDeletionData> {
252-
let rows: Row[];
253-
try {
254-
const result = await getSelectedRows({
255-
columns: ['Name', 'listId', 'category', 'createdBy'],
256-
keyColumn: 'listId',
257-
schemaQuery: model.schemaQuery,
258-
selections: model.selections,
259-
});
260-
rows = result.rows;
261-
} catch (error) {
262-
console.error(error);
263-
throw error;
264-
}
242+
const result = await getSelectedRows({
243+
columns: ['Name', 'listId', 'category', 'createdBy'],
244+
keyColumn: 'listId',
245+
schemaQuery: model.schemaQuery,
246+
selections: model.selections,
247+
});
265248

266-
return rows.reduce(
249+
return result.rows.reduce(
267250
(result, row) => {
268251
const picklist = Picklist.create(row);
269252
if (picklist.isDeletable(user)) {

packages/components/src/internal/components/picklist/usePIcklistSelections.ts renamed to packages/components/src/internal/components/picklist/usePicklistSampleSelections.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ type PicklistSelectionState = LoadableState<number[]>;
1313
* @param sampleFieldKey the sampleFieldKey if the selectedRowIds aren't sample rowIds
1414
* @param schemaQuery the schemaQuery needed to fetch the SampleIds, required if you pass sampleFieldKey.
1515
*/
16-
export function useSampleSelections(
16+
export function usePicklistSampleSelections(
1717
selectedRowIds: number[] | string[] | undefined,
1818
sampleFieldKey: string | undefined,
1919
schemaQuery: SchemaQuery | undefined

0 commit comments

Comments
 (0)