Skip to content

Commit 33fcd2c

Browse files
committed
Merge branch 'develop' into fb_domainAudit
# Conflicts: # package-lock.json # package.json
1 parent be8713b commit 33fcd2c

6 files changed

Lines changed: 38 additions & 35 deletions

File tree

packages/components/package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/components/src/internal/components/domainproperties/BaseDomainDesigner.tsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import React, {
66
PropsWithChildren,
77
useState,
88
useCallback,
9-
useMemo
9+
useMemo,
1010
} from 'react';
1111
import { List } from 'immutable';
1212

@@ -15,12 +15,14 @@ import { FormButtons } from '../../FormButtons';
1515

1616
import { Alert } from '../base/Alert';
1717

18+
import { CommentTextArea } from '../forms/input/CommentTextArea';
19+
20+
import { useDataChangeCommentsRequired } from '../forms/input/useDataChangeCommentsRequired';
21+
1822
import { getDomainBottomErrorMessage, getDomainHeaderName, getUpdatedVisitedPanelsList } from './actions';
1923
import { DOMAIN_ERROR_ID, SEVERITY_LEVEL_ERROR } from './constants';
2024

2125
import { DomainDesign } from './models';
22-
import { CommentTextArea } from '../forms/input/CommentTextArea';
23-
import { useDataChangeCommentsRequired } from '../forms/input/useDataChangeCommentsRequired';
2426

2527
export interface InjectedBaseDomainDesignerProps {
2628
currentPanelIndex: number;
@@ -132,9 +134,9 @@ interface BaseDomainDesignerProps extends PropsWithChildren {
132134
onCancel: () => void;
133135
onFinish: (reason?: string) => void;
134136
saveBtnText?: string;
137+
showUserComment?: boolean;
135138
submitting: boolean;
136139
visitedPanels: List<number>;
137-
showUserComment?: boolean;
138140
}
139141

140142
export const BaseDomainDesigner: FC<BaseDomainDesignerProps> = memo(props => {
@@ -149,7 +151,7 @@ export const BaseDomainDesigner: FC<BaseDomainDesignerProps> = memo(props => {
149151
onCancel,
150152
hasValidProperties,
151153
saveBtnText = 'Save',
152-
showUserComment
154+
showUserComment,
153155
} = props;
154156
const [userComment, setUserComment] = useState<string>(undefined);
155157
const requiresUserComment = showUserComment ? useDataChangeCommentsRequired().requiresUserComment : false;
@@ -167,9 +169,8 @@ export const BaseDomainDesigner: FC<BaseDomainDesignerProps> = memo(props => {
167169
}, [userComment, onFinish]);
168170

169171
const canSubmit = useMemo(() => {
170-
if (submitting)
171-
return false;
172-
return !requiresUserComment || (userComment?.trim()?.length > 0)
172+
if (submitting) return false;
173+
return !requiresUserComment || userComment?.trim()?.length > 0;
173174
}, [requiresUserComment, userComment, submitting]);
174175

175176
return (
@@ -184,15 +185,15 @@ export const BaseDomainDesigner: FC<BaseDomainDesignerProps> = memo(props => {
184185
<button className="cancel-button btn btn-default" onClick={onCancel} type="button">
185186
Cancel
186187
</button>
187-
{showUserComment &&
188+
{showUserComment && (
188189
<CommentTextArea
189190
actionName="Update"
190191
containerClassName="inline-comment"
191192
onChange={setUserComment}
192193
requiresUserComment={requiresUserComment}
193194
inline
194195
/>
195-
}
196+
)}
196197
<button className={submitClassname} disabled={!canSubmit} onClick={onSave} type="button">
197198
{saveBtnText}
198199
</button>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ export function _parseCalculatedColumn(
530530
export interface SaveDomainOptions {
531531
/** Boolean indicating if rowIndices should be added to the error message objects */
532532
addRowIndexes?: boolean;
533+
auditUserComment?: string;
533534
/** Container path where requests are made. Defaults to domain.container for updates. */
534535
containerPath?: string;
535536
/** DomainDesign to save */
@@ -544,7 +545,6 @@ export interface SaveDomainOptions {
544545
options?: any;
545546
/** Original DomainDesign (before filtering out of locked/mapped fields), to be used for addRowIndexes = true */
546547
originalDomain?: DomainDesign;
547-
auditUserComment?: string;
548548
}
549549

550550
export function saveDomain(options: SaveDomainOptions): Promise<DomainDesign> {
@@ -904,7 +904,7 @@ export function updateDataType(field: DomainField, value: any): DomainField {
904904
}) as DomainField;
905905
} else {
906906
if (PropDescType.isUser(value)) {
907-
field = field.merge({lookupValidator: LOOKUP_VALIDATOR}) as DomainField;
907+
field = field.merge({ lookupValidator: LOOKUP_VALIDATOR }) as DomainField;
908908
}
909909
}
910910
}

packages/components/src/internal/components/domainproperties/assay/models.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,7 @@ export class AssayProtocolModel extends ImmutableRecord({
143143

144144
const json = model.merge({ domains }).toJS();
145145

146-
if (auditUserComment)
147-
json.auditUserComment = auditUserComment;
146+
if (auditUserComment) json.auditUserComment = auditUserComment;
148147

149148
// only need to serialize the id and not the autoCopyTargetContainer object
150149
delete json.autoCopyTargetContainer;

packages/components/src/internal/components/domainproperties/dataclasses/DataClassDesigner.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ interface Props {
4747
headerText?: string;
4848
helpTopic?: string;
4949
initModel?: DataClassModel;
50+
isUpdate?: boolean;
5051
isValidParentOptionsFn?: (row: any, isDataClass: boolean) => boolean;
5152
// loadNameExpressionOptions is a prop for testing purposes only, see default implementation below
5253
loadNameExpressionOptions?: (
@@ -60,17 +61,16 @@ interface Props {
6061
onChange?: (model: DataClassModel) => void;
6162
onComplete: (model: DataClassModel) => void;
6263
saveBtnText?: string;
63-
isUpdate?: boolean;
6464
validateNameExpressions?: boolean;
6565
}
6666

6767
interface State {
68+
auditUserComment?: string;
6869
model: DataClassModel;
6970
nameExpressionWarnings: string[];
7071
namePreviews: string[];
7172
namePreviewsLoading: boolean;
7273
parentOptions: IParentOption[];
73-
auditUserComment?: string;
7474
}
7575

7676
const NEW_DATA_CLASS_OPTION: IParentOption = {
@@ -239,7 +239,7 @@ export class DataClassDesignerImpl extends PureComponent<DataClassDesignerProps,
239239
this.setState({
240240
nameExpressionWarnings: response.warnings,
241241
namePreviews: response.previews,
242-
auditUserComment: auditUserComment,
242+
auditUserComment,
243243
});
244244
});
245245
return;
@@ -262,7 +262,7 @@ export class DataClassDesignerImpl extends PureComponent<DataClassDesignerProps,
262262
domain: domainDesign,
263263
kind: Domain.KINDS.DATA_CLASS,
264264
name: model.name,
265-
auditUserComment: auditUserComment,
265+
auditUserComment,
266266
options,
267267
});
268268

packages/components/src/internal/components/domainproperties/samples/SampleTypeDesigner.tsx

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ interface Props {
104104
helpTopic?: string;
105105
includeDataClasses?: boolean;
106106
initModel?: DomainDetails;
107+
isUpdate?: boolean;
107108
isValidParentOptionFn?: (row: any, isDataClass: boolean) => boolean;
108109
metricUnitProps?: MetricUnitProps;
109110
nameExpressionInfoUrl?: string;
@@ -113,11 +114,10 @@ interface Props {
113114
onCancel: () => void;
114115
onChange?: (model: SampleTypeModel) => void;
115116
onComplete: (response: DomainDesign) => void;
116-
sampleAliasCaption?: string;
117117
sampleTypeCaption?: string;
118118
saveBtnText?: string;
119119
showAliquotOptions?: boolean;
120-
isUpdate?: boolean;
120+
sampleAliasCaption?: string;
121121
showLinkToStudy?: boolean;
122122
showParentLabelPrefix?: boolean;
123123
useSeparateDataClassesAliasMenu?: boolean;
@@ -126,6 +126,7 @@ interface Props {
126126
}
127127

128128
interface State {
129+
auditUserComment?: string;
129130
error: React.ReactNode;
130131
model: SampleTypeModel;
131132
nameExpressionWarnings: string[];
@@ -134,7 +135,6 @@ interface State {
134135
parentOptions: IParentOption[];
135136
showUniqueIdConfirmation: boolean;
136137
uniqueIdsConfirmed: boolean;
137-
auditUserComment?: string;
138138
}
139139
// Exported for testing
140140
export class SampleTypeDesignerImpl extends React.PureComponent<Props & InjectedBaseDomainDesignerProps, State> {
@@ -341,7 +341,7 @@ export class SampleTypeDesignerImpl extends React.PureComponent<Props & Injected
341341
setSubmitting(false, () => {
342342
this.setState({
343343
nameExpressionWarnings: undefined,
344-
auditUserComment: undefined
344+
auditUserComment: undefined,
345345
});
346346
});
347347
};
@@ -386,12 +386,15 @@ export class SampleTypeDesignerImpl extends React.PureComponent<Props & Injected
386386

387387
const updatedModel = model.set('exception', exception) as SampleTypeModel;
388388
setSubmitting(false, () => {
389-
this.setState({
390-
model: updatedModel,
391-
auditUserComment: auditUserComment,
392-
}, () => {
393-
scrollDomainErrorIntoView();
394-
});
389+
this.setState(
390+
{
391+
model: updatedModel,
392+
auditUserComment,
393+
},
394+
() => {
395+
scrollDomainErrorIntoView();
396+
}
397+
);
395398
});
396399
};
397400

@@ -499,7 +502,7 @@ export class SampleTypeDesignerImpl extends React.PureComponent<Props & Injected
499502
kind: Domain.KINDS.SAMPLE_TYPE,
500503
name,
501504
options: details,
502-
auditUserComment: auditUserComment ?? comment
505+
auditUserComment: auditUserComment ?? comment,
503506
});
504507
setSubmitting(false, () => {
505508
this.props.onComplete(response);

0 commit comments

Comments
 (0)