Skip to content

Commit 5b0d871

Browse files
authored
Merge pull request finos#1391 from lbulanti-ms/issue-1346
issue-1346 - Moving adr models into shared folder
2 parents d8c603f + 206106e commit 5b0d871

File tree

14 files changed

+343
-99
lines changed

14 files changed

+343
-99
lines changed

calm-hub-ui/src/hub/components/adr-renderer/AdrRenderer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import {
88
DisplayLinks,
99
GetDate,
1010
StyleTitle,
11+
DisplayAdrStatus,
1112
} from '../../helper-functions/adr/adr-helper-function.js';
12-
import { DisplayAdrStatus } from '../../../model/adr/adr-status/adrStatus.js';
1313
import './AdrRenderer.css';
1414

1515
interface AdrRendererProps {

calm-hub-ui/src/hub/helper-functions/adr/adr-helper-function.tsx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { Link } from '../../../model/adr/link.js';
33
import Markdown from 'react-markdown';
44
import './adr-helper-function.css';
55
import { Decision } from '../../../model/adr/decision.js';
6+
import { AdrStatus } from '../../../model/adr/adr-status/adrStatus.js';
67

78
export function StyleTitle(props: { title: string }) {
89
return (
@@ -115,3 +116,41 @@ export function DisplayChosenOption(props: { decisionOutcome: Decision }) {
115116
</div>
116117
);
117118
}
119+
120+
function capitaliseFirstLetter(adrStatus: string) {
121+
return adrStatus.charAt(0).toUpperCase() + adrStatus.slice(1);
122+
}
123+
124+
export function DisplayAdrStatus(props: { adrStatus: AdrStatus }) {
125+
let adrStatusStyling =
126+
'inline rounded-full text-center text-s ps-3 pe-3 ms-3 relative bottom-1 font-bold border-solid border-2';
127+
const adrStatusString = capitaliseFirstLetter(props.adrStatus);
128+
129+
switch (props.adrStatus) {
130+
case 'draft': {
131+
adrStatusStyling = adrStatusStyling + ' border-orange-500 text-orange-500';
132+
break;
133+
}
134+
case 'proposed': {
135+
adrStatusStyling = adrStatusStyling + ' border-teal-500 text-teal-500';
136+
break;
137+
}
138+
case 'accepted': {
139+
adrStatusStyling = adrStatusStyling + ' border-lime-500 text-lime-500';
140+
break;
141+
}
142+
case 'superseded': {
143+
adrStatusStyling = adrStatusStyling + ' border-violet-500 text-violet-500';
144+
break;
145+
}
146+
case 'rejected': {
147+
adrStatusStyling = adrStatusStyling + ' border-red-500 text-red-500';
148+
break;
149+
}
150+
case 'deprecated': {
151+
adrStatusStyling = adrStatusStyling + ' border-slate-500 text-slate-500';
152+
}
153+
}
154+
155+
return <div className={adrStatusStyling}>{adrStatusString}</div>;
156+
}

calm-hub-ui/src/model/adr/adr-status/adrStatus.test.tsx renamed to calm-hub-ui/src/hub/helper-functions/adr/adr-helper-functions.test.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
import { describe, expect, it } from 'vitest';
2-
import { AdrStatus, DisplayAdrStatus } from './adrStatus.js';
3-
2+
import { DisplayAdrStatus } from './adr-helper-function.js';
3+
import { CalmAdrStatus } from '@finos/calm-shared/src/types/adr-types.js';
44
describe('ADR Status', () => {
55
it('should return Draft with orange styling if ADR status is draft', () => {
6-
const status: AdrStatus = 'draft';
6+
const status: CalmAdrStatus = 'draft';
77
expect(status.toString() === 'Draft');
88
expect(DisplayAdrStatus({ adrStatus: status }).props.className).toContain('orange-500');
99
});
1010

1111
it('should return Proposed with teal styling if ADR status is proposed', () => {
12-
const status: AdrStatus = 'proposed';
12+
const status: CalmAdrStatus = 'proposed';
1313
expect(status.toString() === 'Proposed');
1414
expect(DisplayAdrStatus({ adrStatus: status }).props.className).toContain('teal-500');
1515
});
1616

1717
it('should return Accepted with lime styling if ADR status is accepted', () => {
18-
const status: AdrStatus = 'accepted';
18+
const status: CalmAdrStatus = 'accepted';
1919
expect(status.toString() === 'Accepted');
2020
expect(DisplayAdrStatus({ adrStatus: status }).props.className).toContain('lime-500');
2121
});
2222

2323
it('should return Superseded with violet styling if ADR status is superseded', () => {
24-
const status: AdrStatus = 'superseded';
24+
const status: CalmAdrStatus = 'superseded';
2525
expect(status.toString() === 'Superseded');
2626
expect(DisplayAdrStatus({ adrStatus: status }).props.className).toContain('violet-500');
2727
});
2828

2929
it('should return Rejected with red styling if ADR status is rejected', () => {
30-
const status: AdrStatus = 'rejected';
30+
const status: CalmAdrStatus = 'rejected';
3131
expect(status.toString() === 'Rejected');
3232
expect(DisplayAdrStatus({ adrStatus: status }).props.className).toContain('red-500');
3333
});
3434

3535
it('should return Deprecated with slate styling if ADR status is deprecated', () => {
36-
const status: AdrStatus = 'deprecated';
36+
const status: CalmAdrStatus = 'deprecated';
3737
expect(status.toString() === 'Deprecated');
3838
expect(DisplayAdrStatus({ adrStatus: status }).props.className).toContain('slate-500');
3939
});

calm-hub-ui/src/model/adr/adr-status/adrStatus.tsx

Lines changed: 0 additions & 45 deletions
This file was deleted.

calm-hub-ui/src/model/adr/adr.meta.tsx

Lines changed: 0 additions & 8 deletions
This file was deleted.

calm-hub-ui/src/model/adr/adr.tsx

Lines changed: 0 additions & 16 deletions
This file was deleted.

calm-hub-ui/src/model/adr/decision.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.

calm-hub-ui/src/model/adr/link.tsx

Lines changed: 0 additions & 4 deletions
This file was deleted.

calm-hub-ui/src/model/adr/option.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.

calm-hub-ui/src/model/calm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { AdrMeta } from "./adr/adr.meta.js";
1+
import { CalmAdrMeta } from "@finos/calm-shared/src/model/adr.js";
22

33
export type Namespace = string;
44
export type PatternID = string;
@@ -10,7 +10,7 @@ export type AdrID = string;
1010
export type Flow = string;
1111
export type Version = string;
1212
export type Revision = string;
13-
export type Adr = AdrMeta;
13+
export type Adr = CalmAdrMeta;
1414
export type CalmType = 'Architectures' | 'Patterns' | 'Flows' | 'ADRs';
1515

1616
export type Data = {

0 commit comments

Comments
 (0)