@pega/dx-component-builder-sdk 0.1.15 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +6 -0
  3. package/src/constants.js +13 -17
  4. package/src/tasks/build-all/helper.js +76 -0
  5. package/src/tasks/build-all/index.js +121 -0
  6. package/src/tasks/create/index.js +52 -60
  7. package/src/tasks/create/templates/Constellation/Field/Boolean/demo.stories.jsx.mustache +1 -0
  8. package/src/tasks/create/templates/Constellation/Field/Date/demo.stories.jsx.mustache +11 -6
  9. package/src/tasks/create/templates/Constellation/Field/DateTime/demo.stories.jsx.mustache +11 -7
  10. package/src/tasks/create/templates/Constellation/Field/Decimal/demo.stories.jsx.mustache +7 -7
  11. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/demo.stories.jsx.mustache +9 -8
  12. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/demo.stories.jsx.mustache +7 -7
  13. package/src/tasks/create/templates/Constellation/Field/Integer/demo.stories.jsx.mustache +7 -7
  14. package/src/tasks/create/templates/Constellation/Field/Picklist/demo.stories.jsx.mustache +16 -10
  15. package/src/tasks/create/templates/Constellation/Field/Text/demo.stories.jsx.mustache +9 -7
  16. package/src/tasks/create/templates/Constellation/Field/Text-Email/demo.stories.jsx.mustache +8 -8
  17. package/src/tasks/create/templates/Constellation/Field/Text-Input/demo.stories.jsx.mustache +7 -7
  18. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/demo.stories.jsx.mustache +7 -7
  19. package/src/tasks/create/templates/Constellation/Field/Text-Phone/demo.stories.jsx.mustache +6 -6
  20. package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.jsx.mustache +1 -1
  21. package/src/tasks/create/templates/Constellation/Field/Text-URL/demo.stories.jsx.mustache +6 -6
  22. package/src/tasks/create/templates/Constellation/Field/Text-URL/index.jsx.mustache +1 -1
  23. package/src/tasks/create/templates/Constellation/Field/Text-URL/{text-url.js.mustache → text-url.jsx.mustache} +2 -1
  24. package/src/tasks/create/templates/Constellation/Field/TimeofDay/demo.stories.jsx.mustache +10 -5
  25. package/src/tasks/create/templates/Constellation/Template/DETAILS/demo.stories.jsx.mustache +59 -51
  26. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/demo.stories.jsx.mustache +64 -59
  27. package/src/tasks/create/templates/Constellation/Template/FORM/demo.stories.jsx.mustache +43 -39
  28. package/src/tasks/create/templates/Constellation/Template/FORM-region/demo.stories.jsx.mustache +46 -46
  29. package/src/tasks/create/templates/Constellation/Template/PAGE/demo.stories.jsx.mustache +24 -25
  30. package/src/tasks/create/templates/Constellation/Widget/CASE/demo.stories.jsx.mustache +7 -7
  31. package/src/tasks/create/templates/Constellation/Widget/CASE/mock.stories.js.mustache +2 -1
  32. package/src/tasks/create/templates/Constellation/Widget/PAGE/demo.stories.jsx.mustache +1 -1
  33. package/src/tasks/create/templates/Constellation/Widget/PAGE/mock.stories.js.mustache +2 -1
  34. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/demo.stories.jsx.mustache +6 -6
  35. package/src/tasks/create/templates/SDK-React/Field/Date/index.tsx.mustache +2 -2
  36. package/src/tasks/create/templates/SDK-React/Field/DateTime/index.tsx.mustache +2 -2
  37. package/src/tasks/create/templates/SDK-React/Field/Decimal/index.tsx.mustache +2 -2
  38. package/src/tasks/create/templates/SDK-React/Field/Decimal-Currency/index.tsx.mustache +1 -1
  39. package/src/tasks/create/templates/SDK-React/Field/Decimal-Percentage/index.tsx.mustache +2 -2
  40. package/src/tasks/create/templates/SDK-React/Field/Integer/index.tsx.mustache +2 -2
  41. package/src/tasks/create/templates/SDK-React/Field/Text/index.tsx.mustache +1 -1
  42. package/src/tasks/create/templates/SDK-React/Field/Text-Email/index.tsx.mustache +2 -2
  43. package/src/tasks/create/templates/SDK-React/Field/Text-Input/index.tsx.mustache +1 -1
  44. package/src/tasks/create/templates/SDK-React/Field/Text-Paragraph/index.tsx.mustache +1 -1
  45. package/src/tasks/create/templates/SDK-React/Field/Text-Phone/index.tsx.mustache +1 -1
  46. package/src/tasks/create/templates/SDK-React/Field/Text-URL/index.tsx.mustache +2 -2
  47. package/src/tasks/create/templates/SDK-React/Field/TimeofDay/index.tsx.mustache +2 -2
  48. package/src/tasks/create/templates/SDK-React/Template/DETAILS/index.tsx.mustache +1 -1
  49. package/src/tasks/create/templates/SDK-React/Template/DETAILS-region/index.tsx.mustache +1 -1
  50. package/src/tasks/delete/helper.js +1 -0
  51. package/src/tasks/index.js +1 -0
  52. package/src/tasks/map/map.js +5 -4
  53. package/src/tasks/override/index.js +55 -16
  54. package/src/tasks/validator/index.js +12 -3
  55. package/src/util.js +18 -32
@@ -12,6 +12,7 @@ export default {
12
12
  };
13
13
 
14
14
  export const base{{COMPONENT_CLASS_NAME}} = () => {
15
+ // eslint-disable-next-line react-hooks/rules-of-hooks
15
16
  const [value, setValue] = useState(configProps.value);
16
17
 
17
18
  const props = {
@@ -22,7 +23,7 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
22
23
  datasource: configProps.datasource,
23
24
  testId: configProps.testId,
24
25
  hasSuggestions: configProps.hasSuggestions,
25
- fieldMetadata: fieldMetadata,
26
+ fieldMetadata,
26
27
 
27
28
  getPConnect: () => {
28
29
  return {
@@ -32,8 +33,8 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
32
33
  getStateProps: () => {
33
34
  return stateProps;
34
35
  },
35
- getLocalizedValue: value => {
36
- return value;
36
+ getLocalizedValue: val => {
37
+ return val;
37
38
  },
38
39
  getLocaleRuleNameFromKeys: (localeClass, localeContext, localeName) => {
39
40
  return `${localeClass}!${localeContext}!${localeName}`;
@@ -50,16 +51,21 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
50
51
  },
51
52
  getActionsApi: () => {
52
53
  return {
53
- updateFieldValue: (propName, value) => {
54
- setValue(value);
54
+ updateFieldValue: (propName, theValue) => {
55
+ setValue(theValue);
55
56
  },
56
- triggerFieldChange: () => {}
57
+ triggerFieldChange: () => {/* nothing */}
57
58
  };
58
59
  },
59
- ignoreSuggestion: () => {},
60
- acceptSuggestion: () => {},
61
- setInheritedProps: () => {},
62
- resolveConfigProps: () => {}
60
+ getValidationApi: () => {
61
+ return {
62
+ validate: () => {/* nothing */}
63
+ };
64
+ },
65
+ ignoreSuggestion: () => {/* nothing */},
66
+ acceptSuggestion: () => {/* nothing */},
67
+ setInheritedProps: () => {/* nothing */},
68
+ resolveConfigProps: () => {/* nothing */}
63
69
  };
64
70
  }
65
71
  };
@@ -12,7 +12,7 @@ export default {
12
12
  };
13
13
 
14
14
  export const base{{COMPONENT_CLASS_NAME}} = () => {
15
-
15
+ // eslint-disable-next-line react-hooks/rules-of-hooks
16
16
  const [value, setValue] = useState(configProps.value);
17
17
 
18
18
  const props = {
@@ -29,14 +29,16 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
29
29
  },
30
30
  getActionsApi: () => {
31
31
  return {
32
- updateFieldValue: () => {},
33
- triggerFieldChange: () => {}
32
+ updateFieldValue: (propName, theValue) => {
33
+ setValue(theValue);
34
+ },
35
+ triggerFieldChange: () => {/* nothing */}
34
36
  };
35
37
  },
36
- ignoreSuggestion: () => {},
37
- acceptSuggestion: () => {},
38
- setInheritedProps: () => {},
39
- resolveConfigProps: () => {}
38
+ ignoreSuggestion: () => {/* nothing */},
39
+ acceptSuggestion: () => {/* nothing */},
40
+ setInheritedProps: () => {/* nothing */},
41
+ resolveConfigProps: () => {/* nothing */}
40
42
  };
41
43
  }
42
44
  };
@@ -1,4 +1,4 @@
1
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
1
+ import { withKnobs } from '@storybook/addon-knobs';
2
2
 
3
3
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
4
4
 
@@ -19,7 +19,7 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
19
19
  helperText: configProps.helperText,
20
20
  testId: configProps.testId,
21
21
  hasSuggestions: configProps.hasSuggestions,
22
- fieldMetadata: fieldMetadata,
22
+ fieldMetadata,
23
23
 
24
24
  getPConnect: () => {
25
25
  return {
@@ -28,14 +28,14 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
28
28
  },
29
29
  getActionsApi: () => {
30
30
  return {
31
- updateFieldValue: () => {},
32
- triggerFieldChange: () => {}
31
+ updateFieldValue: () => {/* nothing */},
32
+ triggerFieldChange: () => {/* nothing */}
33
33
  };
34
34
  },
35
- ignoreSuggestion: () => {},
36
- acceptSuggestion: () => {},
37
- setInheritedProps: () => {},
38
- resolveConfigProps: () => {}
35
+ ignoreSuggestion: () => {/* nothing */},
36
+ acceptSuggestion: () => {/* nothing */},
37
+ setInheritedProps: () => {/* nothing */},
38
+ resolveConfigProps: () => {/* nothing */}
39
39
  };
40
40
  }
41
41
  };
@@ -19,7 +19,7 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
19
19
  helperText: configProps.helperText,
20
20
  testId: configProps.testId,
21
21
  hasSuggestions: configProps.hasSuggestions,
22
- fieldMetadata: fieldMetadata,
22
+ fieldMetadata,
23
23
 
24
24
  getPConnect: () => {
25
25
  return {
@@ -28,14 +28,14 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
28
28
  },
29
29
  getActionsApi: () => {
30
30
  return {
31
- updateFieldValue: () => {},
32
- triggerFieldChange: () => {}
31
+ updateFieldValue: () => {/* nothing */},
32
+ triggerFieldChange: () => {/* nothing */}
33
33
  };
34
34
  },
35
- ignoreSuggestion: () => {},
36
- acceptSuggestion: () => {},
37
- setInheritedProps: () => {},
38
- resolveConfigProps: () => {}
35
+ ignoreSuggestion: () => {/* nothing */},
36
+ acceptSuggestion: () => {/* nothing */},
37
+ setInheritedProps: () => {/* nothing */},
38
+ resolveConfigProps: () => {/* nothing */}
39
39
  };
40
40
  }
41
41
  };
@@ -19,7 +19,7 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
19
19
  helperText: configProps.helperText,
20
20
  testId: configProps.testId,
21
21
  hasSuggestions: configProps.hasSuggestions,
22
- fieldMetadata: fieldMetadata,
22
+ fieldMetadata,
23
23
 
24
24
  getPConnect: () => {
25
25
  return {
@@ -28,14 +28,14 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
28
28
  },
29
29
  getActionsApi: () => {
30
30
  return {
31
- updateFieldValue: () => {},
32
- triggerFieldChange: () => {}
31
+ updateFieldValue: () => {/* nothing */},
32
+ triggerFieldChange: () => {/* nothing */}
33
33
  };
34
34
  },
35
- ignoreSuggestion: () => {},
36
- acceptSuggestion: () => {},
37
- setInheritedProps: () => {},
38
- resolveConfigProps: () => {}
35
+ ignoreSuggestion: () => {/* nothing */},
36
+ acceptSuggestion: () => {/* nothing */},
37
+ setInheritedProps: () => {/* nothing */},
38
+ resolveConfigProps: () => {/* nothing */}
39
39
  };
40
40
  }
41
41
  };
@@ -26,14 +26,14 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
26
26
  },
27
27
  getActionsApi: () => {
28
28
  return {
29
- updateFieldValue: () => {},
30
- triggerFieldChange: () => {}
29
+ updateFieldValue: () => {/* nothing */},
30
+ triggerFieldChange: () => {/* nothing */}
31
31
  };
32
32
  },
33
- ignoreSuggestion: () => {},
34
- acceptSuggestion: () => {},
35
- setInheritedProps: () => {},
36
- resolveConfigProps: () => {}
33
+ ignoreSuggestion: () => {/* nothing */},
34
+ acceptSuggestion: () => {/* nothing */},
35
+ setInheritedProps: () => {/* nothing */},
36
+ resolveConfigProps: () => {/* nothing */}
37
37
  };
38
38
  }
39
39
  };
@@ -245,7 +245,7 @@ const {{COMPONENT_CLASS_NAME}} = props => {
245
245
  {{COMPONENT_CLASS_NAME}}.propTypes = {
246
246
  value: PropTypes.string,
247
247
  placeholder: PropTypes.string,
248
- datasource: PropTypes.node,
248
+ datasource: PropTypes.objectOf(PropTypes.any),
249
249
  label: PropTypes.string.isRequired,
250
250
  hideLabel: PropTypes.bool,
251
251
  getPConnect: PropTypes.func.isRequired,
@@ -26,14 +26,14 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
26
26
  },
27
27
  getActionsApi: () => {
28
28
  return {
29
- updateFieldValue: () => {},
30
- triggerFieldChange: () => {}
29
+ updateFieldValue: () => {/* nothing */},
30
+ triggerFieldChange: () => {/* nothing */}
31
31
  };
32
32
  },
33
- ignoreSuggestion: () => {},
34
- acceptSuggestion: () => {},
35
- setInheritedProps: () => {},
36
- resolveConfigProps: () => {}
33
+ ignoreSuggestion: () => {/* nothing */},
34
+ acceptSuggestion: () => {/* nothing */},
35
+ setInheritedProps: () => {/* nothing */},
36
+ resolveConfigProps: () => {/* nothing */}
37
37
  };
38
38
  }
39
39
  };
@@ -3,7 +3,7 @@ import { Input, FieldValueList, Text } from "@pega/cosmos-react-core";
3
3
  import PropTypes from "prop-types";
4
4
 
5
5
  // includes in bundle
6
- import {formatExists,textFormatter, urlFormatter, suggestionHandler} from "./text-url";
6
+ import {formatExists,textFormatter, urlFormatter} from "./text-url.jsx";
7
7
  import handleEvent from "./event-utils";
8
8
  import { suggestionsHandler } from './suggestions-handler';
9
9
 
@@ -1,4 +1,5 @@
1
- import {EmailDisplay, PhoneDisplay, URLDisplay } from "@pega/cosmos-react-core";
1
+ import { useState, useRef, React} from "react";
2
+ import { EmailDisplay, PhoneDisplay, URLDisplay, Image, Button, Lightbox } from '@pega/cosmos-react-core';
2
3
 
3
4
  export const formatExists = (formatterVal) => {
4
5
  const formatterValues = [
@@ -1,4 +1,4 @@
1
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
1
+ import { withKnobs } from '@storybook/addon-knobs';
2
2
  import { configProps, stateProps } from './mock.stories';
3
3
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
4
4
 
@@ -14,8 +14,13 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
14
14
  return {
15
15
  getActionsApi: () => {
16
16
  return {
17
- updateFieldValue: () => {},
18
- triggerFieldChange: () => {}
17
+ updateFieldValue: () => {/* nothing */},
18
+ triggerFieldChange: () => {/* nothing */}
19
+ };
20
+ },
21
+ getValidationApi: () => {
22
+ return {
23
+ validate: () => {/* nothing */}
19
24
  };
20
25
  },
21
26
  getStateProps: () => {
@@ -24,8 +29,8 @@ export const base{{COMPONENT_CLASS_NAME}} = () => {
24
29
  getConfigProps: () => {
25
30
  return configProps;
26
31
  },
27
- ignoreSuggestion: () => {},
28
- clearErrorMessages: () => {}
32
+ ignoreSuggestion: () => {/* nothing */},
33
+ clearErrorMessages: () => {/* nothing */}
29
34
  };
30
35
  },
31
36
  value: configProps.value,
@@ -8,69 +8,20 @@ export default {
8
8
  component: {{COMPONENT_CLASS_NAME}}
9
9
  };
10
10
 
11
- const Template = args => {
12
- const regionAChildren = pyReviewRaw.children[0].children.map(child => {
13
- return Primary.args.getPConnect().createComponent(child);
14
- });
15
-
16
- return <{{COMPONENT_CLASS_NAME}} {...args}>{regionAChildren}</{{COMPONENT_CLASS_NAME}}>;
17
- };
18
-
19
- export const Primary = Template.bind({});
20
-
21
- Primary.args = {
22
- template: 'MyCo_MyComponents_NewDetailsTemplate',
23
- showHighlightedData: true,
24
- label: 'Test Details',
25
- showLabel: true,
26
- getPConnect: () => {
27
- return {
28
- getChildren: () => {
29
- return pyReviewRaw.children;
30
- },
31
- getRawMetadata: () => {
32
- return pyReviewRaw;
33
- },
34
- getInheritedProps: () => {
35
- return pyReviewRaw.config.inheritedProps;
36
- },
37
- createComponent: config => {
38
- switch (config.config.value) {
39
- case '@P .pyStatusWork':
40
- return renderField(pyReviewResolved.highlightedData[0].config);
41
- case '@P .pyID':
42
- return renderField(pyReviewResolved.highlightedData[1].config);
43
- case '@P .pxCreateDateTime':
44
- return renderField(pyReviewResolved.highlightedData[2].config);
45
- case '@USER .pxCreateOperator':
46
- return renderField(pyReviewResolved.highlightedData[3].config);
47
- case '@P .pySLADeadline':
48
- return renderField(regionChildrenResolved[0]);
49
- case '@P .pySLAGoal':
50
- return renderField(regionChildrenResolved[1]);
51
- case '@P .pySLAStartTime':
52
- return renderField(regionChildrenResolved[2]);
53
- }
54
- },
55
- setInheritedProp: () => {},
56
- resolveConfigProps: () => {}
57
- };
58
- }
59
- };
60
-
61
11
  const renderField = resolvedProps => {
62
12
  const {
63
13
  displayAsStatus = false,
64
14
  displayMode,
65
15
  value = '',
66
16
  label = '',
17
+ // eslint-disable-next-line react-hooks/rules-of-hooks
67
18
  theme = useTheme()
68
19
  } = resolvedProps;
69
20
 
70
21
  const variant = displayMode === 'LABELS_LEFT' ? 'inline' : 'stacked';
71
22
 
72
23
  let val =
73
- value != '' ? (
24
+ value !== '' ? (
74
25
  <Text variant='h1' as='span'>
75
26
  {value}
76
27
  </Text>
@@ -108,3 +59,60 @@ const renderField = resolvedProps => {
108
59
  }
109
60
  return <FieldValueList variant={variant} fields={[{ name: label, value: val }]} />;
110
61
  };
62
+
63
+ export const base{{COMPONENT_CLASS_NAME}} = () => {
64
+ const props = {
65
+ template: 'MyCo_MyComponents_NewDetailsTemplate',
66
+ showHighlightedData: true,
67
+ label: 'Test Details',
68
+ showLabel: true,
69
+ getPConnect: () => {
70
+ return {
71
+ getChildren: () => {
72
+ return pyReviewRaw.children;
73
+ },
74
+ getRawMetadata: () => {
75
+ return pyReviewRaw;
76
+ },
77
+ getInheritedProps: () => {
78
+ return pyReviewRaw.config.inheritedProps;
79
+ },
80
+ createComponent: config => {
81
+ // eslint-disable-next-line default-case
82
+ switch (config.config.value) {
83
+ case '@P .pyStatusWork':
84
+ return renderField(pyReviewResolved.highlightedData[0].config);
85
+ case '@P .pyID':
86
+ return renderField(pyReviewResolved.highlightedData[1].config);
87
+ case '@P .pxCreateDateTime':
88
+ return renderField(pyReviewResolved.highlightedData[2].config);
89
+ case '@USER .pxCreateOperator':
90
+ return renderField(pyReviewResolved.highlightedData[3].config);
91
+ case '@P .pySLADeadline':
92
+ return renderField(regionChildrenResolved[0]);
93
+ case '@P .pySLAGoal':
94
+ return renderField(regionChildrenResolved[1]);
95
+ case '@P .pySLAStartTime':
96
+ return renderField(regionChildrenResolved[2]);
97
+ }
98
+ },
99
+ setInheritedProp: () => {
100
+ /* nothing */
101
+ },
102
+ resolveConfigProps: () => {
103
+ /* nothing */
104
+ }
105
+ };
106
+ }
107
+ };
108
+
109
+ const regionAChildren = pyReviewRaw.children[0].children.map(child => {
110
+ return props.getPConnect().createComponent(child);
111
+ });
112
+
113
+ return (
114
+ <>
115
+ <{{COMPONENT_CLASS_NAME}} {...props}>{regionAChildren}</{{COMPONENT_CLASS_NAME}}>
116
+ </>
117
+ );
118
+ };
@@ -8,77 +8,20 @@ export default {
8
8
  component: {{COMPONENT_CLASS_NAME}}
9
9
  };
10
10
 
11
- const Template = args => {
12
- const regionAChildren = pyReviewRaw.children[0].children.map(child => {
13
- return Primary.args.getPConnect().createComponent(child);
14
- });
15
- const regionBChildren = pyReviewRaw.children[1].children.map(child => {
16
- return Primary.args.getPConnect().createComponent(child);
17
- });
18
-
19
- return (
20
- <{{COMPONENT_CLASS_NAME}} {...args}>
21
- {regionAChildren}
22
- {regionBChildren}
23
- </{{COMPONENT_CLASS_NAME}}>
24
- );
25
- };
26
-
27
- export const Primary = Template.bind({});
28
-
29
- Primary.args = {
30
- template: 'MyCo_MyComponents_NewDetailsTemplate',
31
- showHighlightedData: true,
32
- label: 'Test Details',
33
- showLabel: true,
34
- getPConnect: () => {
35
- return {
36
- getChildren: () => {
37
- return pyReviewRaw.children;
38
- },
39
- getRawMetadata: () => {
40
- return pyReviewRaw;
41
- },
42
- getInheritedProps: () => {
43
- return pyReviewRaw.config.inheritedProps;
44
- },
45
- createComponent: config => {
46
- switch (config.config.value) {
47
- case '@P .pyStatusWork':
48
- return renderField(pyReviewResolved.highlightedData[0].config);
49
- case '@P .pyID':
50
- return renderField(pyReviewResolved.highlightedData[1].config);
51
- case '@P .pxCreateDateTime':
52
- return renderField(pyReviewResolved.highlightedData[2].config);
53
- case '@USER .pxCreateOperator':
54
- return renderField(pyReviewResolved.highlightedData[3].config);
55
- case '@P .pySLADeadline':
56
- return renderField(regionChildrenResolved[0]);
57
- case '@P .pySLAGoal':
58
- return renderField(regionChildrenResolved[1]);
59
- case '@P .pySLAStartTime':
60
- return renderField(regionChildrenResolved[2]);
61
- }
62
- },
63
- setInheritedProp: () => {},
64
- resolveConfigProps: () => {}
65
- };
66
- }
67
- };
68
-
69
11
  const renderField = resolvedProps => {
70
12
  const {
71
13
  displayAsStatus = false,
72
14
  displayMode,
73
15
  value = '',
74
16
  label = '',
17
+ // eslint-disable-next-line react-hooks/rules-of-hooks
75
18
  theme = useTheme()
76
19
  } = resolvedProps;
77
20
 
78
21
  const variant = displayMode === 'LABELS_LEFT' ? 'inline' : 'stacked';
79
22
 
80
23
  let val =
81
- value != '' ? (
24
+ value !== '' ? (
82
25
  <Text variant='h1' as='span'>
83
26
  {value}
84
27
  </Text>
@@ -116,3 +59,65 @@ const renderField = resolvedProps => {
116
59
  }
117
60
  return <FieldValueList variant={variant} fields={[{ name: label, value: val }]} />;
118
61
  };
62
+
63
+
64
+ export const base{{COMPONENT_CLASS_NAME}} = () => {
65
+ const props = {
66
+ template: 'MyCo_MyComponents_NewDetailsTemplate',
67
+ showHighlightedData: true,
68
+ label: 'Test Details',
69
+ showLabel: true,
70
+ getPConnect: () => {
71
+ return {
72
+ getChildren: () => {
73
+ return pyReviewRaw.children;
74
+ },
75
+ getRawMetadata: () => {
76
+ return pyReviewRaw;
77
+ },
78
+ getInheritedProps: () => {
79
+ return pyReviewRaw.config.inheritedProps;
80
+ },
81
+ createComponent: config => {
82
+ // eslint-disable-next-line default-case
83
+ switch (config.config.value) {
84
+ case '@P .pyStatusWork':
85
+ return renderField(pyReviewResolved.highlightedData[0].config);
86
+ case '@P .pyID':
87
+ return renderField(pyReviewResolved.highlightedData[1].config);
88
+ case '@P .pxCreateDateTime':
89
+ return renderField(pyReviewResolved.highlightedData[2].config);
90
+ case '@USER .pxCreateOperator':
91
+ return renderField(pyReviewResolved.highlightedData[3].config);
92
+ case '@P .pySLADeadline':
93
+ return renderField(regionChildrenResolved[0]);
94
+ case '@P .pySLAGoal':
95
+ return renderField(regionChildrenResolved[1]);
96
+ case '@P .pySLAStartTime':
97
+ return renderField(regionChildrenResolved[2]);
98
+ }
99
+ },
100
+ setInheritedProp: () => {
101
+ /* nothing */
102
+ },
103
+ resolveConfigProps: () => {
104
+ /* nothing */
105
+ }
106
+ };
107
+ }
108
+ };
109
+
110
+ const regionAChildren = pyReviewRaw.children[0].children.map(child => {
111
+ return props.getPConnect().createComponent(child);
112
+ });
113
+ const regionBChildren = pyReviewRaw.children[1].children.map(child => {
114
+ return props.getPConnect().createComponent(child);
115
+ });
116
+
117
+ return (
118
+ <{{COMPONENT_CLASS_NAME}} {...props}>
119
+ {regionAChildren}
120
+ {regionBChildren}
121
+ </{{COMPONENT_CLASS_NAME}}>
122
+ );
123
+ };
@@ -11,51 +11,13 @@ export default {
11
11
  component: {{COMPONENT_CLASS_NAME}}
12
12
  };
13
13
 
14
- const Template = args => {
15
- const regionAChildren = pyReviewRaw.children[0].children.map(child => {
16
- return Primary.args.getPConnect().createComponent(child);
17
- });
18
-
19
- return <{{COMPONENT_CLASS_NAME}} {...args}>{regionAChildren}</{{COMPONENT_CLASS_NAME}}>;
20
- };
21
-
22
- export const Primary = Template.bind({});
23
-
24
- Primary.args = {
25
- NumCols: 1,
26
- template: 'DefaultForm',
27
- getPConnect: () => {
28
- return {
29
- getChildren: () => {
30
- return pyReviewRaw.children;
31
- },
32
- createComponent: config => {
33
- switch (config.config.value) {
34
- case '@P .FirstName':
35
- return renderField(regionChildrenResolved[0]);
36
- case '@P .MiddleName':
37
- return renderField(regionChildrenResolved[1]);
38
- case '@P .LastName':
39
- return renderField(regionChildrenResolved[2]);
40
- case '@P .Email':
41
- return renderField(regionChildrenResolved[3]);
42
- case '@P .PhoneNumber':
43
- return renderField(regionChildrenResolved[4]);
44
- case '@P .ServiceDate':
45
- return renderField(regionChildrenResolved[5]);
46
- }
47
- }
48
- };
49
- }
50
- };
51
-
52
14
  const renderField = resolvedProps => {
53
15
  const { displayMode, value = '', label = '' } = resolvedProps;
54
16
 
55
17
  const variant = displayMode === 'LABELS_LEFT' ? 'inline' : 'stacked';
56
18
 
57
19
  let val =
58
- value != '' ? (
20
+ value !== '' ? (
59
21
  <Text variant='h1' as='span'>
60
22
  {value}
61
23
  </Text>
@@ -87,3 +49,45 @@ const renderField = resolvedProps => {
87
49
  }
88
50
  return <FieldValueList variant={variant} fields={[{ name: label, value: val }]} />;
89
51
  };
52
+
53
+
54
+ export const base{{COMPONENT_CLASS_NAME}} = () => {
55
+ const props = {
56
+ NumCols: 1,
57
+ template: 'DefaultForm',
58
+ getPConnect: () => {
59
+ return {
60
+ getChildren: () => {
61
+ return pyReviewRaw.children;
62
+ },
63
+ createComponent: config => {
64
+ // eslint-disable-next-line default-case
65
+ switch (config.config.value) {
66
+ case '@P .FirstName':
67
+ return renderField(regionChildrenResolved[0]);
68
+ case '@P .MiddleName':
69
+ return renderField(regionChildrenResolved[1]);
70
+ case '@P .LastName':
71
+ return renderField(regionChildrenResolved[2]);
72
+ case '@P .Email':
73
+ return renderField(regionChildrenResolved[3]);
74
+ case '@P .PhoneNumber':
75
+ return renderField(regionChildrenResolved[4]);
76
+ case '@P .ServiceDate':
77
+ return renderField(regionChildrenResolved[5]);
78
+ }
79
+ }
80
+ };
81
+ }
82
+ };
83
+
84
+ const regionAChildren = pyReviewRaw.children[0].children.map(child => {
85
+ return props.getPConnect().createComponent(child);
86
+ });
87
+
88
+ return (
89
+ <>
90
+ <{{COMPONENT_CLASS_NAME}} {...props}>{regionAChildren}</{{COMPONENT_CLASS_NAME}}>
91
+ </>
92
+ );
93
+ };