Skip to content

Commit

Permalink
DRYD-1393: Support Multiple Related Record Sidebars (#239)
Browse files Browse the repository at this point in the history
  • Loading branch information
mikejritter authored Sep 30, 2024
1 parent f16c895 commit 020cb7a
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
1 change: 1 addition & 0 deletions src/actions/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ export const search = (config, searchName, searchDescriptor, listType = 'common'
pgSz: searchQuery.get('size'),
rtSbj: searchQuery.get('rel'),
rtPredicate: searchQuery.get('relType'),
servicetag: searchQuery.get('serviceTag'),
sn: searchQuery.get('sn'), // accounts screen name
dn: searchQuery.get('dn'), // role display name
wf_deleted: false,
Expand Down
10 changes: 8 additions & 2 deletions src/components/record/RecordSidebar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -123,23 +123,29 @@ export default function RecordSidebar(props) {

relatedRecords = relatedRecordDescriptors.map((relatedRecordDescriptor) => {
const {
id,
sort,
serviceTag,
recordType: relatedRecordType,
columnSet = 'narrow',
} = relatedRecordDescriptor;

const panelName = id ? `related${upperFirst(id)}Panel` : `related${upperFirst(relatedRecordType)}Panel`;

return (
<RelatedRecordPanelContainer
color={panelColor}
csid={csid}
columnSetName={columnSet}
config={config}
initialSort={sort}
key={relatedRecordType}
name={`related${upperFirst(relatedRecordType)}Panel`}
key={panelName}
name={panelName}
panelId={id}
recordType={recordType}
relatedRecordType={relatedRecordType}
showAddButton={isRelatable}
serviceTag={serviceTag}
/>
);
});
Expand Down
11 changes: 10 additions & 1 deletion src/components/record/RelatedRecordPanel.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ const getSearchDescriptor = (props) => {
initialSort,
recordRelationUpdatedTimestamp,
relatedRecordType,
serviceTag,
} = props;

return Immutable.fromJS({
Expand All @@ -39,6 +40,7 @@ const getSearchDescriptor = (props) => {
p: 0,
size: config.defaultSearchPanelSize || 5,
sort: initialSort,
serviceTag,
},
seqID: recordRelationUpdatedTimestamp,
});
Expand Down Expand Up @@ -69,9 +71,11 @@ const propTypes = {
recordType: PropTypes.string,
relatedRecordType: PropTypes.string,
selectedItems: PropTypes.instanceOf(Immutable.Map),
serviceTag: PropTypes.string,
showCheckboxColumn: PropTypes.bool,
showSearchButton: PropTypes.bool,
showAddButton: PropTypes.bool,
panelId: PropTypes.string, // not set on this prop name yet
openModalName: PropTypes.string,
closeModal: PropTypes.func,
openModal: PropTypes.func,
Expand Down Expand Up @@ -360,12 +364,17 @@ export default class RelatedRecordPanel extends Component {
renderTitle() {
const {
config,
recordType,
relatedRecordType,
panelId,
} = this.props;

const sidebarMessage = get(config, ['recordTypes', recordType, 'messages', 'sidebar', panelId]);
const collectionNameMessage = get(config, ['recordTypes', relatedRecordType, 'messages', 'record', 'collectionName']);

const collectionName = <FormattedMessage {...collectionNameMessage} />;
const collectionName = sidebarMessage != null
? <FormattedMessage {...sidebarMessage} />
: <FormattedMessage {...collectionNameMessage} />;

return <FormattedMessage {...messages.title} values={{ collectionName }} />;
}
Expand Down
3 changes: 3 additions & 0 deletions test/specs/components/record/RelatedRecordPanel.spec.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ describe('RelatedRecordPanel', () => {
const relatedRecordType = 'group';
const recordRelationUpdatedTimestamp = '2017-03-06T12:05:34.000Z';
const sort = 'objectNumber';
const serviceTag = 'ownership';

const shallowRenderer = createRenderer();

Expand All @@ -93,6 +94,7 @@ describe('RelatedRecordPanel', () => {
relatedRecordType={relatedRecordType}
recordRelationUpdatedTimestamp={recordRelationUpdatedTimestamp}
initialSort={sort}
serviceTag={serviceTag}
/>,
);

Expand All @@ -111,6 +113,7 @@ describe('RelatedRecordPanel', () => {
relType: 'affects',
p: 0,
size: 5,
serviceTag,
},
seqID: recordRelationUpdatedTimestamp,
}));
Expand Down

0 comments on commit 020cb7a

Please sign in to comment.