Skip to content

Commit bf82375

Browse files
vishalshrm539Sharmamanasa
authored
Basic implemenattion of Default Page template (#494)
* Basic implemenattion of Default Page template * Basic implemenattion of Default Page template * made minor changes * fixed the lint --------- Co-authored-by: Sharma <[email protected]> Co-authored-by: manasa <[email protected]>
1 parent ac5cbee commit bf82375

File tree

6 files changed

+98
-1
lines changed

6 files changed

+98
-1
lines changed

packages/react-sdk-components/src/components/helpers/simpleTableHelpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ export const buildFieldsForTable = (configFields, pConnect, showDeleteButton, op
238238

239239
// get resolved field labels for primary fields raw config included in configFields
240240
const fieldsLabels = updateFieldLabels(fields, configFields, primaryFieldsViewIndex, pConnect, {
241-
columnsRawConfig: pConnect.getRawConfigProps()?.children.find(item => item?.name === 'Columns')?.children
241+
columnsRawConfig: pConnect.getRawConfigProps()?.children?.find(item => item?.name === 'Columns')?.children
242242
});
243243

244244
const fieldDefs = configFields.map((field, index) => {
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import { useMemo, Children } from 'react';
2+
import type { ReactNode } from 'react';
3+
import Banner from '../../designSystemExtension/Banner';
4+
5+
export interface CommonPageProps {
6+
/** Page title */
7+
title: string;
8+
9+
/** Page icon */
10+
icon: string;
11+
12+
/** Region children */
13+
children: ReactNode | ReactNode[];
14+
15+
/** Dynamic page pconnect object */
16+
// getPConnect: () => PConnect;
17+
18+
/** Enable GetNextWork in page */
19+
enableGetNextWork?: boolean;
20+
21+
/** GetAI coaches configured in page */
22+
// coaches?: GenAICoach[];
23+
24+
/** Locale reference */
25+
localeReference: string;
26+
}
27+
interface DefaultPageProps extends CommonPageProps {
28+
/** Default page layout one or two columns */
29+
layout: 'one-column' | 'two-column' | 'wide-narrow' | 'narrow-wide' | 'dynamic';
30+
31+
/** Flag to enable banner/hero */
32+
enableBanner?: boolean;
33+
34+
/** Banner - Heading displayed */
35+
heading?: string;
36+
37+
/** Banner - Message displayed */
38+
message?: string;
39+
40+
/** Banner - Theme of the image */
41+
imageTheme?: 'light' | 'dark' | undefined;
42+
43+
/** Banner - Background image */
44+
backgroundImage?: string;
45+
46+
/** Banner - Background color */
47+
backgroundColor?: string;
48+
49+
/** Banner - Tint image */
50+
tintImage?: boolean;
51+
52+
/** Flag to enable layout model */
53+
// layoutModel?: GridLayoutModel | undefined;
54+
}
55+
56+
export default function DefaultPage({
57+
layout = 'one-column',
58+
children,
59+
enableBanner,
60+
heading = '',
61+
message = '',
62+
imageTheme,
63+
backgroundImage = '',
64+
backgroundColor = '',
65+
tintImage
66+
}: DefaultPageProps) {
67+
const childArray = useMemo(() => {
68+
return Children.toArray(children);
69+
}, [children]);
70+
71+
if (enableBanner) {
72+
return (
73+
<Banner
74+
variant={layout === 'one-column' ? 'two-column' : layout}
75+
a={[childArray[0]]}
76+
b={[childArray[1]]}
77+
banner={{
78+
variant: imageTheme,
79+
backgroundColor,
80+
title: heading,
81+
message,
82+
backgroundImage,
83+
tintImage
84+
}}
85+
/>
86+
);
87+
}
88+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from './DefaultPage';
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function SelfServiceCaseView(props) {
2+
console.log('SelfServiceCaseView props:', props);
3+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default } from './SelfServiceCaseView';

packages/react-sdk-components/src/sdk-pega-component-map.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import Date from './components/field/Date';
3232
import DateTime from './components/field/DateTime';
3333
import Decimal from './components/field/Decimal';
3434
import DefaultForm from './components/template/DefaultForm';
35+
import DefaultPage from './components/template/DefaultPage';
3536
import DeferLoad from './components/infra/DeferLoad';
3637
import Details from './components/template/Details/Details';
3738
import DetailsSubTabs from './components/template/Details/DetailsSubTabs';
@@ -85,6 +86,7 @@ import RootContainer from './components/infra/RootContainer/RootContainer';
8586
import ScalarList from './components/field/ScalarList';
8687
import SearchForm from './components/template/DataReference/SearchForm';
8788
import SearchGroups from './components/template/AdvancedSearch/SearchGroups';
89+
import SelfServiceCaseView from './components/template/SelfServiceCaseView';
8890
import SemanticLink from './components/field/SemanticLink';
8991
import SelectableCard from './components/field/SelectableCard';
9092
import SimpleTable from './components/template/SimpleTable/SimpleTable';
@@ -152,6 +154,7 @@ const pegaSdkComponentMap = {
152154
DateTime,
153155
Decimal,
154156
DefaultForm,
157+
DefaultPage,
155158
DeferLoad,
156159
Details,
157160
DetailsSubTabs,
@@ -206,6 +209,7 @@ const pegaSdkComponentMap = {
206209
SearchForm,
207210
SearchGroups,
208211
SelectableCard,
212+
SelfServiceCaseView,
209213
SemanticLink,
210214
SimpleTable,
211215
SimpleTableManual,

0 commit comments

Comments
 (0)