@pega/dx-component-builder-sdk 0.1.6 → 0.1.8

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 (111) hide show
  1. package/package.json +1 -1
  2. package/src/constants.js +8 -4
  3. package/src/tasks/build/helper.js +5 -23
  4. package/src/tasks/build/index.js +54 -7
  5. package/src/tasks/bundle/index.js +2 -2
  6. package/src/tasks/create/index.js +13 -5
  7. package/src/tasks/create/templates/Constellation/Field/Boolean/boolean-format.js.mustache +1 -1
  8. package/src/tasks/create/templates/Constellation/Field/Boolean/demo.stories.jsx.mustache +60 -0
  9. package/src/tasks/create/templates/Constellation/Field/Boolean/index.jsx.mustache +1 -2
  10. package/src/tasks/create/templates/Constellation/Field/Boolean/mock.stories.js.mustache +21 -0
  11. package/src/tasks/create/templates/Constellation/Field/Date/DateFormatter.js.mustache +61 -0
  12. package/src/tasks/create/templates/Constellation/Field/Date/FormattedText.jsx.mustache +41 -0
  13. package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +179 -67
  14. package/src/tasks/create/templates/Constellation/Field/Date/demo.stories.jsx.mustache +40 -16
  15. package/src/tasks/create/templates/Constellation/Field/Date/index.jsx.mustache +3 -1
  16. package/src/tasks/create/templates/Constellation/Field/Date/mock.stories.js.mustache +23 -0
  17. package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +0 -1
  18. package/src/tasks/create/templates/Constellation/Field/DateTime/{date-utils.js → date-utils.js.mustache} +1 -0
  19. package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +1 -0
  20. package/src/tasks/create/templates/Constellation/Field/DateTime/demo.stories.jsx.mustache +40 -15
  21. package/src/tasks/create/templates/Constellation/Field/DateTime/index.jsx.mustache +2 -0
  22. package/src/tasks/create/templates/Constellation/Field/DateTime/mock.stories.js.mustache +23 -0
  23. package/src/tasks/create/templates/Constellation/Field/Decimal/demo.stories.jsx.mustache +22 -17
  24. package/src/tasks/create/templates/Constellation/Field/Decimal/index.jsx.mustache +2 -1
  25. package/src/tasks/create/templates/Constellation/Field/Decimal/mock.stories.js.mustache +21 -0
  26. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/demo.stories.jsx.mustache +25 -17
  27. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/index.jsx.mustache +3 -4
  28. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/mock.stories.js.mustache +23 -0
  29. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/demo.stories.jsx.mustache +22 -17
  30. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/index.jsx.mustache +8 -2
  31. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/mock.stories.js.mustache +21 -0
  32. package/src/tasks/create/templates/Constellation/Field/Integer/demo.stories.jsx.mustache +22 -17
  33. package/src/tasks/create/templates/Constellation/Field/Integer/index.jsx.mustache +2 -1
  34. package/src/tasks/create/templates/Constellation/Field/Integer/mock.stories.js.mustache +21 -0
  35. package/src/tasks/create/templates/Constellation/Field/Picklist/demo.stories.jsx.mustache +42 -14
  36. package/src/tasks/create/templates/Constellation/Field/Picklist/index.jsx.mustache +44 -1
  37. package/src/tasks/create/templates/Constellation/Field/Picklist/mock.stories.js.mustache +67 -0
  38. package/src/tasks/create/templates/Constellation/Field/Text/demo.stories.jsx.mustache +21 -16
  39. package/src/tasks/create/templates/Constellation/Field/Text/mock.stories.js.mustache +13 -0
  40. package/src/tasks/create/templates/Constellation/Field/Text-Email/demo.stories.jsx.mustache +20 -16
  41. package/src/tasks/create/templates/Constellation/Field/Text-Email/index.jsx.mustache +44 -2
  42. package/src/tasks/create/templates/Constellation/Field/Text-Email/mock.stories.js.mustache +22 -0
  43. package/src/tasks/create/templates/Constellation/Field/Text-Input/{StatusWork.js → StatusWork.jsx} +0 -1
  44. package/src/tasks/create/templates/Constellation/Field/Text-Input/demo.stories.jsx.mustache +21 -17
  45. package/src/tasks/create/templates/Constellation/Field/Text-Input/index.jsx.mustache +46 -3
  46. package/src/tasks/create/templates/Constellation/Field/Text-Input/mock.stories.js.mustache +21 -0
  47. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/demo.stories.jsx.mustache +21 -17
  48. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/index.jsx.mustache +44 -2
  49. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/mock.stories.js.mustache +20 -0
  50. package/src/tasks/create/templates/Constellation/Field/Text-Phone/demo.stories.jsx.mustache +19 -17
  51. package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.jsx.mustache +46 -2
  52. package/src/tasks/create/templates/Constellation/Field/Text-Phone/mock.stories.js.mustache +37 -0
  53. package/src/tasks/create/templates/Constellation/Field/Text-URL/demo.stories.jsx.mustache +19 -17
  54. package/src/tasks/create/templates/Constellation/Field/Text-URL/index.jsx.mustache +174 -3
  55. package/src/tasks/create/templates/Constellation/Field/Text-URL/mock.stories.js.mustache +22 -0
  56. package/src/tasks/create/templates/Constellation/Field/TimeofDay/demo.stories.jsx.mustache +24 -16
  57. package/src/tasks/create/templates/Constellation/Field/TimeofDay/mock.stories.js.mustache +20 -0
  58. package/src/tasks/create/templates/Constellation/Field/TimeofDay/time-of-day.js.mustache +1 -0
  59. package/src/tasks/create/templates/Constellation/Template/DETAILS/StatusWork.jsx.mustache +26 -0
  60. package/src/tasks/create/templates/Constellation/Template/DETAILS/demo.stories.jsx.mustache +110 -0
  61. package/src/tasks/create/templates/Constellation/Template/DETAILS/index.jsx.mustache +3 -5
  62. package/src/tasks/create/templates/Constellation/Template/DETAILS/mock.stories.js.mustache +179 -0
  63. package/src/tasks/create/templates/Constellation/Template/DETAILS/utils.js.mustache +3 -6
  64. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/StatusWork.jsx.mustache +26 -0
  65. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/demo.stories.jsx.mustache +118 -0
  66. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/index.jsx.mustache +3 -5
  67. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/mock.stories.js.mustache +215 -0
  68. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/utils.js.mustache +3 -3
  69. package/src/tasks/create/templates/Constellation/Template/FORM/demo.stories.jsx.mustache +89 -0
  70. package/src/tasks/create/templates/Constellation/Template/FORM/index.jsx.mustache +6 -10
  71. package/src/tasks/create/templates/Constellation/Template/FORM/mock.stories.js.mustache +125 -0
  72. package/src/tasks/create/templates/Constellation/Template/FORM-region/demo.stories.jsx.mustache +100 -0
  73. package/src/tasks/create/templates/Constellation/Template/FORM-region/index.jsx.mustache +5 -11
  74. package/src/tasks/create/templates/Constellation/Template/FORM-region/mock.stories.js.mustache +131 -0
  75. package/src/tasks/create/templates/Constellation/Template/PAGE/{GetNextWork.js.mustache → GetNextWork.jsx.mustache} +6 -0
  76. package/src/tasks/create/templates/Constellation/Template/PAGE/demo.stories.jsx.mustache +102 -0
  77. package/src/tasks/create/templates/Constellation/Template/PAGE/index.jsx.mustache +9 -7
  78. package/src/tasks/create/templates/Constellation/Template/PAGE/mock.stories.js.mustache +94 -0
  79. package/src/tasks/create/templates/Constellation/Template/PAGE/utils.js.mustache +4 -1
  80. package/src/tasks/create/templates/Constellation/Widget/CASE/demo.stories.jsx.mustache +78 -0
  81. package/src/tasks/create/templates/Constellation/Widget/CASE/index.jsx.mustache +1 -0
  82. package/src/tasks/create/templates/Constellation/Widget/CASE/mock.stories.js.mustache +389 -0
  83. package/src/tasks/create/templates/Constellation/Widget/PAGE/demo.stories.jsx.mustache +30 -0
  84. package/src/tasks/create/templates/Constellation/Widget/PAGE/mock.stories.js.mustache +22 -0
  85. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/{Avatar.js.mustache → Avatar.jsx.mustache} +2 -0
  86. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/{Operator.js.mustache → Operator.jsx.mustache} +2 -1
  87. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/demo.stories.jsx.mustache +68 -0
  88. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/index.jsx.mustache +9 -9
  89. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/mock.stories.js.mustache +51 -0
  90. package/src/tasks/create/templates/SDK-React/Template/PAGE/demo.stories.jsx.mustache +79 -0
  91. package/src/tasks/create/templates/SDK-React/Template/PAGE/mock.stories.js.mustache +115 -0
  92. package/src/tasks/delete/helper.js +7 -25
  93. package/src/tasks/delete/index.js +2 -3
  94. package/src/tasks/delete-all/helper.js +7 -24
  95. package/src/tasks/delete-all/index.js +2 -3
  96. package/src/tasks/list/helper.js +3 -21
  97. package/src/tasks/list/index.js +2 -3
  98. package/src/tasks/map/map.js +4 -10
  99. package/src/tasks/override/index.js +50 -21
  100. package/src/tasks/publish/helper.js +77 -15
  101. package/src/tasks/publish/index.js +103 -15
  102. package/src/tasks/publish-all/helper.js +77 -13
  103. package/src/tasks/publish-all/index.js +109 -25
  104. package/src/tasks/validator/index.js +7 -5
  105. package/src/util.js +56 -10
  106. package/src/tasks/create/templates/Constellation/Field/Picklist/picklist.js.mustache +0 -43
  107. package/src/tasks/create/templates/Constellation/Field/Text-Email/text-email.js.mustache +0 -43
  108. package/src/tasks/create/templates/Constellation/Field/Text-Input/text-input.js.mustache +0 -43
  109. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/text-paragraph.js.mustache +0 -43
  110. package/src/tasks/create/templates/Constellation/Field/Text-Phone/text-phone.js.mustache +0 -43
  111. package/src/tasks/create/templates/Constellation/Field/Text-URL/text-url.js.mustache +0 -172
@@ -1,5 +1,6 @@
1
- import { useState } from 'react';
2
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
1
+ import { withKnobs } from '@storybook/addon-knobs';
2
+
3
+ import { configProps, fieldMetadata, stateProps } from './mock.stories.js';
3
4
 
4
5
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
5
6
 
@@ -10,30 +11,34 @@ export default {
10
11
  };
11
12
 
12
13
  export const base{{COMPONENT_CLASS_NAME}} = () => {
13
- const [value, setValue] = useState('test value');
14
14
 
15
15
  const props = {
16
+ value: configProps.value,
17
+ placeholder: configProps.placeholder,
18
+ label: configProps.label,
19
+ helperText: configProps.helperText,
20
+ showGroupSeparators: configProps.showGroupSeparators,
21
+ hasSuggestions: configProps.hasSuggestions,
22
+ testId: configProps.testId,
23
+ fieldMetadata: fieldMetadata,
24
+
16
25
  getPConnect: () => {
17
26
  return {
27
+ getStateProps: () => {
28
+ return stateProps;
29
+ },
18
30
  getActionsApi: () => {
19
31
  return {
20
- updateFieldValue: (propName, value) => {
21
- setValue(value);
22
- }
32
+ updateFieldValue: () => {},
33
+ triggerFieldChange: () => {}
23
34
  };
24
35
  },
25
- getStateProps: () => {
26
- return { value: '.name' };
27
- }
36
+ ignoreSuggestion: () => {},
37
+ acceptSuggestion: () => {},
38
+ setInheritedProps: () => {},
39
+ resolveConfigProps: () => {}
28
40
  };
29
- },
30
- value,
31
- placeholder: text('Placeholder', 'Test placeholder'),
32
- disabled: boolean('Disabled', false),
33
- readOnly: boolean('Disabled', false),
34
- required: boolean('Disabled', false),
35
- label: text('Label', 'Sample Label'),
36
- testId: text('Test id', 'text-12344566')
41
+ }
37
42
  };
38
43
 
39
44
  return (
@@ -233,7 +233,7 @@ const {{COMPONENT_CLASS_NAME}} = props => {
233
233
  variant: 'inline',
234
234
  currencyISOCode: 'USD',
235
235
  formatter: 'defaultDecimal',
236
- isoCodeSelectiopn: 'constant',
236
+ isoCodeSelection: 'constant',
237
237
  negative: 'minus-sign',
238
238
  notation: 'standard',
239
239
  currencyDisplay: 'symbol',
@@ -261,6 +261,7 @@ const {{COMPONENT_CLASS_NAME}} = props => {
261
261
  variant: PropTypes.string,
262
262
  currencyISOCode: PropTypes.string,
263
263
  formatter: PropTypes.string,
264
+ isoCodeSelection: PropTypes.string,
264
265
  negative: PropTypes.string,
265
266
  notation: PropTypes.string,
266
267
  currencyDisplay: PropTypes.string,
@@ -0,0 +1,21 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Decimal Sample',
4
+ showGroupSeparators: true,
5
+ placeholder: 'Decimal Placeholder',
6
+ helperText: 'Decimal Helper Text',
7
+ testId: 'decimal-12345678',
8
+ hasSuggestions: false
9
+ };
10
+
11
+ export const stateProps = {
12
+ value: '.DecimalSample',
13
+ hasSuggestions: false
14
+ };
15
+
16
+ export const fieldMetadata = {
17
+ classID: 'DIXL-MediaCo-Work-NewService',
18
+ type: 'Decimal',
19
+ displayAs: 'pxNumber',
20
+ label: 'Decimal sample'
21
+ };
@@ -1,5 +1,6 @@
1
- import { useState } from 'react';
2
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
1
+ import { withKnobs } from '@storybook/addon-knobs';
2
+
3
+ import { configProps, fieldMetadata, stateProps } from './mock.stories.js';
3
4
 
4
5
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
5
6
 
@@ -10,30 +11,37 @@ export default {
10
11
  };
11
12
 
12
13
  export const base{{COMPONENT_CLASS_NAME}} = () => {
13
- const [value, setValue] = useState('test value');
14
14
 
15
15
  const props = {
16
+ value: configProps.value,
17
+ placeholder: configProps.placeholder,
18
+ label: configProps.label,
19
+ helperText: configProps.helperText,
20
+ showGroupSeparators: configProps.showGroupSeparators,
21
+ allowDecimals: configProps.allowDecimals,
22
+ currencyISOCode: configProps.currencyISOCode,
23
+ alwaysShowISOCode: configProps.alwaysShowISOCode,
24
+ hasSuggestions: configProps.hasSuggestions,
25
+ testId: configProps.testId,
26
+ fieldMetadata: fieldMetadata,
27
+
16
28
  getPConnect: () => {
17
29
  return {
30
+ getStateProps: () => {
31
+ return stateProps;
32
+ },
18
33
  getActionsApi: () => {
19
34
  return {
20
- updateFieldValue: (propName, value) => {
21
- setValue(value);
22
- }
35
+ updateFieldValue: () => {},
36
+ triggerFieldChange: () => {}
23
37
  };
24
38
  },
25
- getStateProps: () => {
26
- return { value: '.name' };
27
- }
39
+ ignoreSuggestion: () => {},
40
+ acceptSuggestion: () => {},
41
+ setInheritedProps: () => {},
42
+ resolveConfigProps: () => {}
28
43
  };
29
- },
30
- value,
31
- placeholder: text('Placeholder', 'Test placeholder'),
32
- disabled: boolean('Disabled', false),
33
- readOnly: boolean('Disabled', false),
34
- required: boolean('Disabled', false),
35
- label: text('Label', 'Sample Label'),
36
- testId: text('Test id', 'text-12344566')
44
+ }
37
45
  };
38
46
 
39
47
  return (
@@ -5,7 +5,6 @@ import {
5
5
  NumberDisplay,
6
6
  FieldValueList,
7
7
  Text,
8
- useConfiguration,
9
8
  useAfterInitialEffect
10
9
  } from '@pega/cosmos-react-core';
11
10
  import PropTypes from 'prop-types';
@@ -14,6 +13,8 @@ import PropTypes from 'prop-types';
14
13
  import handleEvent from './event-utils';
15
14
  import { suggestionsHandler } from './suggestions-handler';
16
15
 
16
+ import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
17
+
17
18
  const formatValue = (value) => {
18
19
  if (!value && value !== 0) return '';
19
20
  const [integer, decimal = ''] = value.toString().split('.');
@@ -21,9 +22,6 @@ const formatValue = (value) => {
21
22
  };
22
23
 
23
24
 
24
-
25
- import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
26
-
27
25
  // Duplicated runtime code from Constellation Design System Component
28
26
 
29
27
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
@@ -275,6 +273,7 @@ const {{COMPONENT_CLASS_NAME}} = props => {
275
273
  decimalPrecision: PropTypes.number,
276
274
  allowDecimals: PropTypes.bool,
277
275
  currencyISOCode: PropTypes.string,
276
+ isoCodeSelection: PropTypes.string,
278
277
  hideLabel: PropTypes.bool,
279
278
  getPConnect: PropTypes.func.isRequired,
280
279
  validatemessage: PropTypes.string,
@@ -0,0 +1,23 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Currency Sample',
4
+ currencyISOCode: 'USD',
5
+ allowDecimals: true,
6
+ alwaysShowISOCode: true,
7
+ placeholder: 'Currency Placeholder',
8
+ helperText: 'Currency Helper Text',
9
+ testId: 'currency-12345678',
10
+ hasSuggestions: false
11
+ };
12
+
13
+ export const stateProps = {
14
+ value: '.CurrencySample',
15
+ hasSuggestions: false
16
+ };
17
+
18
+ export const fieldMetadata = {
19
+ classID: 'DIXL-MediaCo-Work-NewService',
20
+ type: 'Decimal',
21
+ displayAs: 'pxCurrency',
22
+ label: 'Currency sample'
23
+ };
@@ -1,5 +1,6 @@
1
- import { useState } from 'react';
2
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
1
+ import { withKnobs } from '@storybook/addon-knobs';
2
+
3
+ import { configProps, stateProps, fieldMetadata } from './mock.stories.js';
3
4
 
4
5
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
5
6
 
@@ -10,30 +11,34 @@ export default {
10
11
  };
11
12
 
12
13
  export const base{{COMPONENT_CLASS_NAME}} = () => {
13
- const [value, setValue] = useState('test value');
14
14
 
15
15
  const props = {
16
+ value: configProps.value,
17
+ placeholder: configProps.placeholder,
18
+ label: configProps.label,
19
+ helperText: configProps.helperText,
20
+ showGroupSeparators: configProps.showGroupSeparators,
21
+ hasSuggestions: configProps.hasSuggestions,
22
+ testId: configProps.testId,
23
+ fieldMetadata: fieldMetadata,
24
+
16
25
  getPConnect: () => {
17
26
  return {
27
+ getStateProps: () => {
28
+ return stateProps;
29
+ },
18
30
  getActionsApi: () => {
19
31
  return {
20
- updateFieldValue: (propName, value) => {
21
- setValue(value);
22
- }
32
+ updateFieldValue: () => {},
33
+ triggerFieldChange: () => {}
23
34
  };
24
35
  },
25
- getStateProps: () => {
26
- return { value: '.name' };
27
- }
36
+ ignoreSuggestion: () => {},
37
+ acceptSuggestion: () => {},
38
+ setInheritedProps: () => {},
39
+ resolveConfigProps: () => {}
28
40
  };
29
- },
30
- value,
31
- placeholder: text('Placeholder', 'Test placeholder'),
32
- disabled: boolean('Disabled', false),
33
- readOnly: boolean('Disabled', false),
34
- required: boolean('Disabled', false),
35
- label: text('Label', 'Sample Label'),
36
- testId: text('Test id', 'text-12344566')
41
+ }
37
42
  };
38
43
 
39
44
  return (
@@ -1,8 +1,14 @@
1
1
  import { useState, useEffect, useRef } from 'react';
2
- import { NumberInput, NumberDisplay, CurrencyDisplay, FieldValueList, Text } from '@pega/cosmos-react-core';
2
+ import {
3
+ NumberInput,
4
+ NumberDisplay,
5
+ CurrencyDisplay,
6
+ FieldValueList,
7
+ Text
8
+ } from '@pega/cosmos-react-core';
3
9
  import PropTypes from 'prop-types';
4
10
 
5
- //inlcudes in bundle
11
+ // includes in bundle
6
12
  import handleEvent from './event-utils';
7
13
  import { suggestionsHandler } from './suggestions-handler';
8
14
 
@@ -0,0 +1,21 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Percentage Sample',
4
+ showGroupSeparators: true,
5
+ placeholder: 'Percentage Placeholder',
6
+ helperText: 'Percentage Helper Text',
7
+ testId: 'percentage-12345678',
8
+ hasSuggestions: false
9
+ };
10
+
11
+ export const stateProps = {
12
+ value: '.PercentageSample',
13
+ hasSuggestions: false
14
+ };
15
+
16
+ export const fieldMetadata = {
17
+ classID: 'DIXL-MediaCo-Work-NewService',
18
+ type: 'Decimal',
19
+ displayAs: 'pxPercentage',
20
+ label: 'Percentage sample'
21
+ };
@@ -1,5 +1,6 @@
1
- import { useState } from 'react';
2
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
1
+ import { withKnobs } from '@storybook/addon-knobs';
2
+
3
+ import { stateProps, configProps, fieldMetadata } from './mock.stories';
3
4
 
4
5
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
5
6
 
@@ -10,30 +11,34 @@ export default {
10
11
  };
11
12
 
12
13
  export const base{{COMPONENT_CLASS_NAME}} = () => {
13
- const [value, setValue] = useState('test value');
14
14
 
15
15
  const props = {
16
+ value: configProps.value,
17
+ placeholder: configProps.placeholder,
18
+ label: configProps.label,
19
+ helperText: configProps.helperText,
20
+ showGroupSeparators: configProps.showGroupSeparators,
21
+ hasSuggestions: configProps.hasSuggestions,
22
+ testId: configProps.testId,
23
+ fieldMetadata: fieldMetadata,
24
+
16
25
  getPConnect: () => {
17
26
  return {
27
+ getStateProps: () => {
28
+ return stateProps;
29
+ },
18
30
  getActionsApi: () => {
19
31
  return {
20
- updateFieldValue: (propName, value) => {
21
- setValue(value);
22
- }
32
+ updateFieldValue: () => {},
33
+ triggerFieldChange: () => {}
23
34
  };
24
35
  },
25
- getStateProps: () => {
26
- return { value: '.name' };
27
- }
36
+ ignoreSuggestion: () => {},
37
+ acceptSuggestion: () => {},
38
+ setInheritedProps: () => {},
39
+ resolveConfigProps: () => {}
28
40
  };
29
- },
30
- value,
31
- placeholder: text('Placeholder', 'Test placeholder'),
32
- disabled: boolean('Disabled', false),
33
- readOnly: boolean('Disabled', false),
34
- required: boolean('Disabled', false),
35
- label: text('Label', 'Sample Label'),
36
- testId: text('Test id', 'text-12344566')
41
+ }
37
42
  };
38
43
 
39
44
  return (
@@ -323,9 +323,10 @@ const {{COMPONENT_CLASS_NAME}} = props => {
323
323
  variant: PropTypes.string,
324
324
  decimalPrecision: PropTypes.number,
325
325
  currencyISOCode: PropTypes.string,
326
+ isoCodeSelection: PropTypes.string,
326
327
  formatter: PropTypes.string,
327
328
  negative: PropTypes.string,
328
- notations: PropTypes.string,
329
+ notation: PropTypes.string,
329
330
  currencyDisplay: PropTypes.string,
330
331
  currencyDecimalPrecision: PropTypes.string,
331
332
  isTableFormatter: PropTypes.bool,
@@ -0,0 +1,21 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Integer Sample',
4
+ showGroupSeparators: true,
5
+ placeholder: 'Integer Placeholder',
6
+ helperText: 'Integer Helper Text',
7
+ testId: 'integer-12345678',
8
+ hasSuggestions: false
9
+ };
10
+
11
+ export const stateProps = {
12
+ value: '.IntegerSample',
13
+ hasSuggestions: false
14
+ };
15
+
16
+ export const fieldMetadata = {
17
+ classID: 'DIXL-MediaCo-Work-NewService',
18
+ type: 'Integer',
19
+ displayAs: 'pxInteger',
20
+ label: 'Integer sample'
21
+ };
@@ -1,5 +1,7 @@
1
1
  import { useState } from 'react';
2
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
2
+ import { withKnobs } from '@storybook/addon-knobs';
3
+
4
+ import { configProps, rawMetadata, fieldMetadata, stateProps } from './mock.stories.js';
3
5
 
4
6
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
5
7
 
@@ -10,30 +12,56 @@ export default {
10
12
  };
11
13
 
12
14
  export const base{{COMPONENT_CLASS_NAME}} = () => {
13
- const [value, setValue] = useState('test value');
15
+ const [value, setValue] = useState(configProps.value);
14
16
 
15
17
  const props = {
18
+ value,
19
+ placeholder: configProps.placeholder,
20
+ label: configProps.label,
21
+ helperText: configProps.helperText,
22
+ datasource: configProps.datasource,
23
+ testId: configProps.testId,
24
+ hasSuggestions: configProps.hasSuggestions,
25
+ fieldMetadata: fieldMetadata,
26
+
16
27
  getPConnect: () => {
17
28
  return {
29
+ getConfigProps: () => {
30
+ return configProps;
31
+ },
32
+ getStateProps: () => {
33
+ return stateProps;
34
+ },
35
+ getLocalizedValue: value => {
36
+ return value;
37
+ },
38
+ getLocaleRuleNameFromKeys: (localeClass, localeContext, localeName) => {
39
+ return `${localeClass}!${localeContext}!${localeName}`;
40
+ },
41
+ getCaseInfo: () => {
42
+ return {
43
+ getClassName: () => {
44
+ return 'DIXL-MediaCo-Work-NewService';
45
+ }
46
+ };
47
+ },
48
+ getRawMetadata: () => {
49
+ return rawMetadata;
50
+ },
18
51
  getActionsApi: () => {
19
52
  return {
20
53
  updateFieldValue: (propName, value) => {
21
54
  setValue(value);
22
- }
55
+ },
56
+ triggerFieldChange: () => {}
23
57
  };
24
58
  },
25
- getStateProps: () => {
26
- return { value: '.name' };
27
- }
59
+ ignoreSuggestion: () => {},
60
+ acceptSuggestion: () => {},
61
+ setInheritedProps: () => {},
62
+ resolveConfigProps: () => {}
28
63
  };
29
- },
30
- value,
31
- placeholder: text('Placeholder', 'Test placeholder'),
32
- disabled: boolean('Disabled', false),
33
- readOnly: boolean('Disabled', false),
34
- required: boolean('Disabled', false),
35
- label: text('Label', 'Sample Label'),
36
- testId: text('Test id', 'text-12344566')
64
+ }
37
65
  };
38
66
 
39
67
  return (
@@ -3,11 +3,54 @@ import { Select, Option, 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} from "./picklist";
7
6
  import handleEvent from "./event-utils";
8
7
  import { suggestionsHandler } from './suggestions-handler';
9
8
 
10
9
  import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
10
+ import {EmailDisplay, PhoneDisplay, URLDisplay } from "@pega/cosmos-react-core";
11
+
12
+ export const formatExists = (formatterVal) => {
13
+ const formatterValues = [
14
+ "TextInput",
15
+ "WorkStatus",
16
+ "RichText",
17
+ "Email",
18
+ "Phone",
19
+ "URL",
20
+ "Operator"
21
+ ];
22
+ let isformatter = false;
23
+ if (formatterValues.includes(formatterVal)) {
24
+ isformatter = true;
25
+ }
26
+ return isformatter;
27
+ };
28
+
29
+
30
+ export const textFormatter = (formatter,value) => {
31
+ let displayComponent = null;
32
+ switch(formatter){
33
+ case "TextInput" : {
34
+ displayComponent = value;
35
+ break;
36
+ }
37
+ case "Email" : {
38
+ displayComponent = (<EmailDisplay value={value} displayText={value} variant="link" />);
39
+ break;
40
+ }
41
+ case "Phone" : {
42
+ displayComponent = (<PhoneDisplay value={value} variant="link" />);
43
+ break;
44
+ }
45
+ case "URL" : {
46
+ displayComponent = (<URLDisplay target="_blank" value={value} displayText={value} variant="link" />);
47
+ break;
48
+ }
49
+ // no default
50
+ }
51
+ return displayComponent;
52
+ };
53
+
11
54
 
12
55
  export const setDefaultValue = (dropdownOptions, pConnect, propName) => {
13
56
  // calculate the default option and set it to dropdown
@@ -0,0 +1,67 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Picklist Sample',
4
+ placeholder: 'Select...',
5
+ listType: 'associated',
6
+ datasource: [
7
+ {
8
+ key: 'Option 1',
9
+ value: 'Option 1'
10
+ },
11
+ {
12
+ key: 'Option 2',
13
+ value: 'Option 2'
14
+ },
15
+ {
16
+ key: 'Option 3',
17
+ value: 'Option 3'
18
+ }
19
+ ],
20
+ helperText: 'Picklist Helper Text',
21
+ testId: 'picklist-12345678',
22
+ hasSuggestions: false
23
+ };
24
+
25
+ export const stateProps = {
26
+ value: '.PicklistSample',
27
+ placeholder: 'Select...',
28
+ datasource: '.PicklistSample',
29
+ hasSuggestions: false
30
+ };
31
+
32
+ export const rawMetadata = {
33
+ type: 'Dropdown',
34
+ config: {
35
+ value: '@P .PicklistSample',
36
+ label: '@L Picklist Sample',
37
+ placeholder: '@L Select...',
38
+ listType: 'associated',
39
+ datasource: '@ASSOCIATED .PicklistSample',
40
+ helperText: '@L Picklist Helper Text',
41
+ testId: 'picklist-12345678'
42
+ }
43
+ };
44
+
45
+ export const fieldMetadata = {
46
+ classID: 'DIXL-MediaCo-Work-NewService',
47
+ type: 'Text',
48
+ displayAs: 'pxDropdown',
49
+ label: 'Picklist sample',
50
+ datasource: {
51
+ tableType: 'PromptList',
52
+ records: [
53
+ {
54
+ key: 'Option 1',
55
+ value: 'Option 1'
56
+ },
57
+ {
58
+ key: 'Option 2',
59
+ value: 'Option 2'
60
+ },
61
+ {
62
+ key: 'Option 3',
63
+ value: 'Option 3'
64
+ }
65
+ ]
66
+ }
67
+ };
@@ -1,5 +1,7 @@
1
1
  import { useState } from 'react';
2
- import { withKnobs, text, boolean } from '@storybook/addon-knobs';
2
+ import { withKnobs } from '@storybook/addon-knobs';
3
+
4
+ import { stateProps, configProps } from './mock.stories';
3
5
 
4
6
  import {{COMPONENT_CLASS_NAME}} from './index.jsx';
5
7
 
@@ -10,30 +12,33 @@ export default {
10
12
  };
11
13
 
12
14
  export const base{{COMPONENT_CLASS_NAME}} = () => {
13
- const [value, setValue] = useState('test value');
15
+
16
+ const [value, setValue] = useState(configProps.value);
14
17
 
15
18
  const props = {
19
+ value,
20
+ placeholder: configProps.placeholder,
21
+ label: configProps.label,
22
+ testId: configProps.testId,
23
+ hasSuggestions: configProps.hasSuggestions,
24
+
16
25
  getPConnect: () => {
17
26
  return {
27
+ getStateProps: () => {
28
+ return stateProps;
29
+ },
18
30
  getActionsApi: () => {
19
31
  return {
20
- updateFieldValue: (propName, value) => {
21
- setValue(value);
22
- }
32
+ updateFieldValue: () => {},
33
+ triggerFieldChange: () => {}
23
34
  };
24
35
  },
25
- getStateProps: () => {
26
- return { value: '.name' };
27
- }
36
+ ignoreSuggestion: () => {},
37
+ acceptSuggestion: () => {},
38
+ setInheritedProps: () => {},
39
+ resolveConfigProps: () => {}
28
40
  };
29
- },
30
- value,
31
- placeholder: text('Placeholder', 'Test placeholder'),
32
- disabled: boolean('Disabled', false),
33
- readOnly: boolean('Disabled', false),
34
- required: boolean('Disabled', false),
35
- label: text('Label', 'Sample Label'),
36
- testId: text('Test id', 'text-12344566')
41
+ }
37
42
  };
38
43
 
39
44
  return (