Skip to content

Commit 9cae91c

Browse files
committed
Remove all references to list discussions
1 parent 9797807 commit 9cae91c

9 files changed

Lines changed: 5 additions & 77 deletions

File tree

packages/components/releaseNotes/components.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# @labkey/components
22
Components, models, actions, and utility functions for LabKey applications and pages
33

4+
### version TBD
5+
- Remove support for discussions in lists
6+
47
### version 7.5.1
58
*Released*: 24 December 2025
69
- Add `displaySelectedOptions` prop and respect setting when passing `selectedOptions` to the underlying `SelectInput`

packages/components/src/internal/app/constants.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ export const EXPERIMENTAL_PRODUCT_ALL_FOLDER_LOOKUPS = 'queryProductAllFolderLoo
112112
export const EXPERIMENTAL_PRODUCT_FOLDER_DATA_LISTING_SCOPED = 'queryProductProjectDataListingScoped';
113113
export const EXPERIMENTAL_REQUESTS_MENU = 'experimental-biologics-requests-menu';
114114
export const EXPERIMENTAL_SAMPLE_ALIQUOT_SELECTOR = 'experimental-sample-aliquot-selector';
115-
export const DEPRECATED_OBJECT_LEVEL_DISCUSSIONS = 'deprecatedObjectLevelDiscussions';
116115

117116
export const FOLDER_DATA_TYPE_EXCLUSIONS = 'dataTypeExclusions';
118117
export const ARCHIVED_FOLDERS = 'archivedContainers';

packages/components/src/internal/app/utils.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import {
2424
ARCHIVED_FOLDERS,
2525
ASSAYS_KEY,
2626
BIOLOGICS_APP_PROPERTIES,
27-
DEPRECATED_OBJECT_LEVEL_DISCUSSIONS,
2827
EXPERIMENTAL_PRODUCT_ALL_FOLDER_LOOKUPS,
2928
EXPERIMENTAL_PRODUCT_FOLDER_DATA_LISTING_SCOPED,
3029
EXPERIMENTAL_REQUESTS_MENU,
@@ -417,10 +416,6 @@ export function isSampleAliquotSelectorEnabled(moduleContext?: ModuleContext): b
417416
return resolveModuleContext(moduleContext)?.samplemanagement?.[EXPERIMENTAL_SAMPLE_ALIQUOT_SELECTOR] === true;
418417
}
419418

420-
export function isObjectLevelDiscussionsEnabled(moduleContext?: ModuleContext): boolean {
421-
return resolveModuleContext(moduleContext)?.core?.[DEPRECATED_OBJECT_LEVEL_DISCUSSIONS] === true;
422-
}
423-
424419
export function hasModule(moduleName: string, moduleContext?: ModuleContext): boolean {
425420
return resolveModuleContext(moduleContext).api?.moduleNames?.indexOf(moduleName.toLowerCase()) >= 0;
426421
}

packages/components/src/internal/components/domainproperties/list/ListPropertiesAdvancedSettings.test.tsx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,13 @@ import getDomainDetailsJSON from '../../../../test/data/list-getDomainDetails.js
1313

1414
import { DomainField } from '../models';
1515

16-
import { AdvancedSettings, DisplayTitle, SearchIndexing, IndexField } from './ListPropertiesAdvancedSettings';
16+
import { AdvancedSettings, DisplayTitle, IndexField, SearchIndexing } from './ListPropertiesAdvancedSettings';
1717
import { ListModel } from './models';
1818

1919
const emptyNewModel = ListModel.create(null, DEFAULT_LIST_SETTINGS);
2020
const populatedExistingModel = ListModel.create(getDomainDetailsJSON);
2121

2222
describe('AdvancedSettings', () => {
23-
beforeEach(() => {
24-
LABKEY.moduleContext = {
25-
core: {
26-
deprecatedObjectLevelDiscussions: false,
27-
},
28-
};
29-
});
30-
3123
test('default properties', () => {
3224
const advancedSettings = (
3325
<AdvancedSettings title="Advanced Settings" model={emptyNewModel} applyAdvancedProperties={jest.fn()} />

packages/components/src/internal/components/domainproperties/list/ListPropertiesAdvancedSettings.tsx

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import classNames from 'classnames';
33

44
import { Modal } from '../../../Modal';
55

6-
import { getSubmitButtonClass, isObjectLevelDiscussionsEnabled } from '../../../app/utils';
6+
import { getSubmitButtonClass } from '../../../app/utils';
77

88
import { DomainFieldLabel } from '../DomainFieldLabel';
99

@@ -33,8 +33,6 @@ export const DISPLAY_TITLE_TIP = (
3333
</ul>
3434
</>
3535
);
36-
export const DISCUSSION_LINKS_TIP =
37-
'Optionally allow one or more discussion links to be shown on the details view of each list item.';
3836
export const SEARCH_INDEXING_TIP = 'Controls how this list is indexed for search within LabKey Server.';
3937

4038
interface DisplayTitleProps {
@@ -66,45 +64,6 @@ export const DisplayTitle: FC<DisplayTitleProps> = memo(({ model, onSelectChange
6664
});
6765
DisplayTitle.displayName = 'DisplayTitle';
6866

69-
interface DiscussionLinksProps {
70-
discussionSetting: number;
71-
onRadioChange: (evt: any) => void;
72-
}
73-
74-
// TODO: use RadioGroupInput instead
75-
const DISCUSSION_RADIO_NAME = 'discussionSetting';
76-
const DiscussionInputs: FC<DiscussionLinksProps> = memo(({ onRadioChange, discussionSetting }) => (
77-
<div className="form-group">
78-
<DomainDesignerRadio
79-
name={DISCUSSION_RADIO_NAME}
80-
value={0}
81-
checked={discussionSetting === 0}
82-
onChange={onRadioChange}
83-
>
84-
Disable discussions
85-
</DomainDesignerRadio>
86-
87-
<DomainDesignerRadio
88-
name={DISCUSSION_RADIO_NAME}
89-
value={1}
90-
checked={discussionSetting === 1}
91-
onChange={onRadioChange}
92-
>
93-
Allow one discussion per item
94-
</DomainDesignerRadio>
95-
96-
<DomainDesignerRadio
97-
name={DISCUSSION_RADIO_NAME}
98-
value={2}
99-
checked={discussionSetting === 2}
100-
onChange={onRadioChange}
101-
>
102-
Allow multiple discussions per item
103-
</DomainDesignerRadio>
104-
</div>
105-
));
106-
DiscussionInputs.displayName = 'DiscussionInputs';
107-
10867
interface TitleIndexFieldProps {
10968
name: string;
11069
onInputChange: (evt: any) => void;
@@ -435,7 +394,6 @@ export class AdvancedSettings extends React.PureComponent<AdvancedSettingsProps,
435394

436395
return {
437396
titleColumn: model.titleColumn,
438-
discussionSetting: model.discussionSetting,
439397
fileAttachmentIndex: model.fileAttachmentIndex,
440398

441399
// entire list
@@ -503,7 +461,6 @@ export class AdvancedSettings extends React.PureComponent<AdvancedSettingsProps,
503461
render(): ReactNode {
504462
const {
505463
modalOpen,
506-
discussionSetting,
507464
fileAttachmentIndex,
508465
entireListIndex,
509466
entireListTitleTemplate,
@@ -568,15 +525,6 @@ export class AdvancedSettings extends React.PureComponent<AdvancedSettingsProps,
568525
/>
569526
</SettingsContainer>
570527

571-
{isObjectLevelDiscussionsEnabled() && (
572-
<SettingsContainer title="Discussion Threads" tipBody={DISCUSSION_LINKS_TIP}>
573-
<DiscussionInputs
574-
onRadioChange={this.onRadioChange}
575-
discussionSetting={discussionSetting}
576-
/>
577-
</SettingsContainer>
578-
)}
579-
580528
<SettingsContainer title="Search Indexing Options" tipBody={SEARCH_INDEXING_TIP}>
581529
<SearchIndexing
582530
onRadioChange={this.onRadioChange}

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ export interface EntireListSettings {
3636
}
3737

3838
export interface AdvancedSettingsForm extends EachItemSettings, EntireListSettings {
39-
discussionSetting: number;
4039
eachItemIndex: boolean;
4140
entireListIndex: boolean;
4241
fileAttachmentIndex: boolean;
@@ -60,7 +59,6 @@ export class ListModel extends Record({
6059
titleColumn: undefined,
6160
domainId: undefined,
6261
keyType: undefined,
63-
discussionSetting: undefined,
6462
allowDelete: undefined,
6563
allowUpload: undefined,
6664
allowExport: undefined,
@@ -75,7 +73,6 @@ export class ListModel extends Record({
7573
eachItemBodyTemplate: undefined,
7674
fileAttachmentIndex: undefined,
7775
listId: undefined,
78-
discussionSettingEnum: undefined,
7976
containerPath: undefined,
8077
category: undefined,
8178
}) {
@@ -89,7 +86,6 @@ export class ListModel extends Record({
8986
declare titleColumn: string;
9087
declare domainId: number;
9188
declare keyType: string;
92-
declare discussionSetting: number;
9389
declare allowDelete: true;
9490
declare allowUpload: true;
9591
declare allowExport: true;
@@ -104,7 +100,6 @@ export class ListModel extends Record({
104100
declare eachItemBodyTemplate: string;
105101
declare fileAttachmentIndex: false;
106102
declare listId: number;
107-
declare discussionSettingEnum: string;
108103
declare containerPath: string;
109104
declare category: string;
110105

packages/components/src/test/data/constants.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ export const DEFAULT_LIST_SETTINGS = {
8989
allowDelete: true,
9090
allowUpload: true,
9191
allowExport: true,
92-
discussionSetting: 0,
9392
entireListTitleTemplate: '',
9493
entireListIndexSetting: 0,
9594
entireListBodySetting: 0,

packages/components/src/test/data/list-getDomainDetails-withAutoIntPK.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@
126126
"allowDelete" : true,
127127
"allowUpload" : true,
128128
"allowExport" : true,
129-
"discussionSetting" : 0,
130129
"entireListTitleTemplate" : null,
131130
"entireListIndexSetting" : 0,
132131
"entireListBodySetting" : 0,

packages/components/src/test/data/list-getDomainDetails.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,6 @@
687687
"listId" : 277,
688688
"domainId" : 2280,
689689
"keyType" : "Integer",
690-
"discussionSetting" : 1,
691690
"allowDelete" : true,
692691
"allowUpload" : true,
693692
"allowExport" : true,
@@ -703,7 +702,6 @@
703702
"eachItemBodySetting" : 0,
704703
"eachItemBodyTemplate" : null,
705704
"fileAttachmentIndex" : false,
706-
"discussionSettingEnum" : "OnePerItem",
707705
"entireListIndexSettingEnum" : "MetaData",
708706
"entireListTitleSettingEnum" : "Standard",
709707
"entireListBodySettingEnum" : "AllFields",

0 commit comments

Comments
 (0)