@zohodesk/library-platform 1.1.11 → 1.1.12-exp.1

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 (116) hide show
  1. package/es/cc/checkbox/Properties.js +2 -1
  2. package/es/cc/email/Properties.js +8 -0
  3. package/es/cc/fields/field/Types.js +31 -23
  4. package/es/cc/highlighted-value/Properties.js +18 -0
  5. package/es/cc/link/Properties.js +13 -3
  6. package/es/cc/radio-dropdown/Constants.js +6 -0
  7. package/es/cc/radio-dropdown/Data.js +1 -0
  8. package/es/cc/radio-dropdown/Events.js +42 -0
  9. package/es/cc/radio-dropdown/Properties.js +142 -0
  10. package/es/cc/radio-dropdown/index.js +4 -0
  11. package/es/cc/switch/Properties.js +2 -2
  12. package/es/cc/table-column-filter/Properties.js +9 -0
  13. package/es/cc/table-list/Properties.js +1 -35
  14. package/es/cc/tag/Constants.js +6 -0
  15. package/es/cc/tag/Data.js +14 -0
  16. package/es/cc/tag/EventHandlers.js +1 -0
  17. package/es/cc/tag/Events.js +26 -0
  18. package/es/cc/{tags/model/TagModel.js → tag/Model.js} +6 -2
  19. package/es/cc/tag/Properties.js +104 -0
  20. package/es/cc/tag/index.js +6 -0
  21. package/es/cc/tags/Data.js +0 -6
  22. package/es/cc/tags/model/index.js +1 -1
  23. package/es/cc/tags-list-dropdown/Constants.js +5 -0
  24. package/es/cc/tags-list-dropdown/Data.js +1 -0
  25. package/es/cc/tags-list-dropdown/Events.js +14 -0
  26. package/es/cc/tags-list-dropdown/Properties.js +96 -0
  27. package/es/cc/tags-list-dropdown/index.js +4 -0
  28. package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +13 -13
  29. package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +2 -2
  30. package/es/library/dot/components/section/frameworks/ui/css/Section.module.css +3 -3
  31. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +21 -21
  32. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +3 -1
  33. package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/css/Breadcrumb.module.css +4 -4
  34. package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/css/DateView.module.css +1 -1
  35. package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +4 -2
  36. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  37. package/es/library/dot/legacy-to-new-arch/index.js +1 -0
  38. package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/css/Label.module.css +4 -4
  39. package/es/library/dot/legacy-to-new-arch/link/frameworks/ui/LinkView.js +4 -2
  40. package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/css/MultiSelectView.module.css +7 -7
  41. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdown.js +12 -0
  42. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdownView.js +124 -0
  43. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/css/RadioDropdown.module.css +23 -0
  44. package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/css/Select.module.css +2 -2
  45. package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/css/TableColumnChooserView.module.css +1 -1
  46. package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +2 -1
  47. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +12 -2
  48. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +8 -5
  49. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/EventHandlersFactory.js +3 -3
  50. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailField.js +3 -3
  51. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailFieldView.js +8 -6
  52. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/EventHandlersFactory.js +26 -0
  53. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueField.js +23 -0
  54. package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueFieldView.js +24 -0
  55. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +22 -5
  56. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/EventHandlersFactory.js +26 -0
  57. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarField.js +23 -0
  58. package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarFieldView.js +22 -0
  59. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/EventHandlersFactory.js +26 -0
  60. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkField.js +23 -0
  61. package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkFieldView.js +26 -0
  62. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +1 -1
  63. package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneFieldView.js +1 -1
  64. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/EventHandlersFactory.js +32 -0
  65. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownField.js +32 -0
  66. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownFieldView.js +43 -0
  67. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/css/RadioDropdownField.module.css +3 -0
  68. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/EventHandlersFactory.js +3 -3
  69. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchField.js +14 -4
  70. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +8 -4
  71. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/EventHandlersFactory.js +26 -0
  72. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagField.js +23 -0
  73. package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagFieldView.js +34 -0
  74. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/EventHandlersFactory.js +26 -0
  75. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsField.js +23 -0
  76. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsFieldView.js +18 -0
  77. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownField.js +12 -0
  78. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownFieldView.js +24 -0
  79. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/EventHandlersFactory.js +26 -0
  80. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextField.js +23 -0
  81. package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextFieldView.js +20 -0
  82. package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +1 -1
  83. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.js +11 -0
  84. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.module.css +8 -0
  85. package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/TagView.js +96 -0
  86. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagContractAdapter.js +24 -0
  87. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdown.js +12 -0
  88. package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdownView.js +42 -0
  89. package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/css/TextAreaView.module.css +3 -3
  90. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRenderer.module.css +5 -5
  91. package/es/platform/data-source/http-template/getComponentMapping.js +17 -0
  92. package/es/platform/data-source/index.js +3 -1
  93. package/es/platform/zfield/applications/usecases/FetchSuccessUseCase.js +33 -0
  94. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +5 -0
  95. package/es/platform/zlist/adapters/presenters/TableTranslator.js +15 -2
  96. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +48 -52
  97. package/es/platform/zlist/adapters/presenters/translators/FieldVariations.js +25 -0
  98. package/es/platform/zlist/adapters/presenters/translators/Row.js +3 -2
  99. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +3 -1
  100. package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +87 -12
  101. package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +66 -11
  102. package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +16 -9
  103. package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +16 -9
  104. package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +16 -9
  105. package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +29 -9
  106. package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +23 -27
  107. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +106 -17
  108. package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +16 -9
  109. package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +100 -26
  110. package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +16 -9
  111. package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +16 -9
  112. package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +16 -9
  113. package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +167 -26
  114. package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +16 -9
  115. package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +32 -9
  116. package/package.json +8 -8
@@ -1,37 +1,126 @@
1
1
  import FieldTypes from "../../../../../../cc/fields/field/Types";
2
- import LookupFieldModel from "../../../../../../cc/fields/lookup/Model";
3
2
 
4
- const LookUpFieldTranslator = _ref => {
3
+ //hacking temp url construction for lookup
4
+ function getLookupUrlConstructions(_ref) {
5
+ let {
6
+ field,
7
+ value,
8
+ context
9
+ } = _ref;
10
+ let {
11
+ orgName,
12
+ departmentName
13
+ } = context;
14
+ let lookupModuleName = field?.lookup?.module?.apiName;
15
+ return `/agent/${orgName}/${departmentName}/${lookupModuleName}/details/${value.id}`;
16
+ }
17
+
18
+ function processLookupValue(value, url) {
19
+ if (typeof value === 'string' || typeof value === 'number') {
20
+ return {
21
+ id: value,
22
+ name: value
23
+ };
24
+ } else if (typeof value === 'object' && value !== null) {
25
+ return {
26
+ id: value.id || '',
27
+ name: value.name || '',
28
+ photoURL: value.photoURL || '',
29
+ url: value.url || url
30
+ };
31
+ } else {
32
+ return {
33
+ id: '',
34
+ name: '',
35
+ url
36
+ };
37
+ }
38
+ }
39
+
40
+ const LookUpFieldTranslator = _ref2 => {
5
41
  let {
6
42
  field,
7
43
  value,
8
44
  appendToActionPayload,
45
+ context,
9
46
  textOverflowMode,
10
47
  isRead
11
- } = _ref;
48
+ } = _ref2;
12
49
  const {
13
50
  uiType,
14
51
  name
15
52
  } = field;
53
+ const constructedUrl = getLookupUrlConstructions({
54
+ field,
55
+ value,
56
+ context
57
+ });
16
58
  const {
17
59
  id,
18
60
  name: nameValue,
19
61
  photoURL,
20
62
  url
21
- } = value;
22
- return LookupFieldModel({
23
- uiType: uiType || FieldTypes.LookUpField,
24
- appendToActionPayload,
25
- name,
26
- isRead,
27
- value: {
28
- id,
29
- name: nameValue,
30
- photoURL,
31
- url
32
- },
33
- textOverflowMode
34
- });
63
+ } = processLookupValue(value, constructedUrl);
64
+
65
+ switch (uiType) {
66
+ case FieldTypes.TextField:
67
+ return {
68
+ type: FieldTypes.TextField,
69
+ fieldName: name,
70
+ text: nameValue,
71
+ isDotted: textOverflowMode === 'clip',
72
+ weight: isRead ? undefined : 'bold',
73
+ tooltip: nameValue,
74
+ appendToActionPayload,
75
+ isRead,
76
+ textOverflowMode
77
+ };
78
+
79
+ case FieldTypes.TagField:
80
+ return {
81
+ type: FieldTypes.TagField,
82
+ fieldName: name,
83
+ label: nameValue,
84
+ imageAltText: nameValue,
85
+ imageSrc: photoURL,
86
+ isRemovable: false,
87
+ cursor: 'default',
88
+ tooltip: nameValue,
89
+ appendToActionPayload,
90
+ isRead,
91
+ textOverflowMode
92
+ };
93
+
94
+ case FieldTypes.LabeledAvatarField:
95
+ return {
96
+ type: FieldTypes.LabeledAvatarField,
97
+ fieldName: name,
98
+ name: nameValue,
99
+ imageSrc: photoURL,
100
+ label: nameValue,
101
+ tooltip: nameValue,
102
+ appendToActionPayload,
103
+ isRead,
104
+ textOverflowMode
105
+ };
106
+
107
+ case FieldTypes.LinkField:
108
+ default:
109
+ return {
110
+ type: FieldTypes.LinkField,
111
+ fieldName: name,
112
+ text: nameValue,
113
+ variant: 'secondary',
114
+ href: url,
115
+ opensNewTab: false,
116
+ isDotted: textOverflowMode === 'clip',
117
+ weight: isRead ? undefined : 'bold',
118
+ tooltip: nameValue,
119
+ appendToActionPayload,
120
+ isRead,
121
+ textOverflowMode
122
+ };
123
+ }
35
124
  };
36
125
 
37
126
  export default LookUpFieldTranslator;
@@ -1,6 +1,5 @@
1
1
  // import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
2
2
  import FieldTypes from "../../../../../../cc/fields/field/Types";
3
- import MultiLineFieldModel from "../../../../../../cc/fields/multi-line/Model";
4
3
 
5
4
  const MultiLineFieldTranslator = _ref => {
6
5
  let {
@@ -14,14 +13,22 @@ const MultiLineFieldTranslator = _ref => {
14
13
  uiType,
15
14
  name
16
15
  } = field;
17
- return MultiLineFieldModel({
18
- uiType: uiType || FieldTypes.MultiLineField,
19
- appendToActionPayload,
20
- name,
21
- isRead,
22
- value,
23
- textOverflowMode
24
- });
16
+
17
+ switch (uiType) {
18
+ case FieldTypes.TextField:
19
+ default:
20
+ return {
21
+ type: FieldTypes.TextField,
22
+ fieldName: name,
23
+ text: value,
24
+ isDotted: textOverflowMode === 'clip',
25
+ weight: isRead ? undefined : 'bold',
26
+ tooltip: value,
27
+ appendToActionPayload,
28
+ isRead,
29
+ textOverflowMode
30
+ };
31
+ }
25
32
  };
26
33
 
27
34
  export default MultiLineFieldTranslator;
@@ -1,7 +1,5 @@
1
1
  // import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
2
2
  import FieldTypes from "../../../../../../cc/fields/field/Types";
3
- import MultiListFieldModel from "../../../../../../cc/fields/multi-select/Model";
4
- import ColouredMultiListFieldModel from "../../../../../../cc/fields/coloured-multi-select/Model";
5
3
 
6
4
  const MultiSelectFieldTranslator = _ref => {
7
5
  let {
@@ -12,10 +10,7 @@ const MultiSelectFieldTranslator = _ref => {
12
10
  isRead
13
11
  } = _ref;
14
12
  const {
15
- uiType,
16
- name,
17
- subType,
18
- pickListValues
13
+ subType
19
14
  } = field;
20
15
  const updatedValue = value.split(';').map(item => item === '' ? '-None-' : item);
21
16
 
@@ -23,34 +18,113 @@ const MultiSelectFieldTranslator = _ref => {
23
18
  return ColouredMultiSelectFieldTranslator(field, updatedValue, appendToActionPayload, textOverflowMode, isRead);
24
19
  }
25
20
 
26
- return MultiListFieldModel({
27
- uiType: uiType || FieldTypes.MultiSelectField,
28
- appendToActionPayload,
29
- name,
30
- options: pickListValues,
31
- isRead,
32
- value: updatedValue,
33
- textOverflowMode
34
- });
21
+ return StandardMultiSelectFieldTranslator(field, updatedValue, appendToActionPayload, textOverflowMode, isRead);
35
22
  };
36
23
 
37
24
  export default MultiSelectFieldTranslator;
38
25
 
39
- const ColouredMultiSelectFieldTranslator = (field, value, appendToActionPayload, textOverflowMode, isRead) => {
26
+ const StandardMultiSelectFieldTranslator = (field, value, appendToActionPayload, textOverflowMode, isRead) => {
40
27
  const {
41
28
  uiType,
42
29
  name,
43
- pickListValues
30
+ displayLabel
44
31
  } = field;
45
- return ColouredMultiListFieldModel({
46
- uiType: uiType || FieldTypes.ColouredMultiSelectField,
47
- appendToActionPayload,
32
+ const selectedOptions = value.map(item => ({
33
+ id: item,
34
+ label: item
35
+ }));
36
+
37
+ switch (uiType) {
38
+ case FieldTypes.TextField:
39
+ {
40
+ let valueText = value.join(', ');
41
+ return {
42
+ type: FieldTypes.TextField,
43
+ fieldName: name,
44
+ text: valueText,
45
+ isDotted: textOverflowMode === 'clip',
46
+ weight: isRead ? undefined : 'bold',
47
+ tooltip: valueText,
48
+ appendToActionPayload,
49
+ isRead,
50
+ textOverflowMode
51
+ };
52
+ }
53
+
54
+ case FieldTypes.TagsListDropdownField:
55
+ return {
56
+ type: FieldTypes.TagsListDropdownField,
57
+ // fieldName: name,
58
+ text: `${selectedOptions.length} ${displayLabel}`,
59
+ tags: selectedOptions,
60
+ hasSearch: selectedOptions.length > 5,
61
+ searchPlaceholder: 'Search',
62
+ dropdownHeading: displayLabel,
63
+ emptyMessage: 'No items found',
64
+ appendToActionPayload,
65
+ isRead,
66
+ textOverflowMode
67
+ };
68
+
69
+ case FieldTypes.TagsField:
70
+ default:
71
+ return {
72
+ type: FieldTypes.TagsField,
73
+ fieldName: name,
74
+ title: displayLabel,
75
+ isWrapped: textOverflowMode !== 'clip',
76
+ tags: selectedOptions,
77
+ appendToActionPayload,
78
+ isRead,
79
+ textOverflowMode
80
+ };
81
+ }
82
+ };
83
+
84
+ const ColouredMultiSelectFieldTranslator = (field, value, appendToActionPayload, textOverflowMode, isRead) => {
85
+ const {
86
+ uiType,
48
87
  name,
49
- options: pickListValues.map(option => ({ ...option,
50
- colorCode: option.colorCode || ''
51
- })),
52
- isRead,
53
- value,
54
- textOverflowMode
88
+ pickListValues,
89
+ displayLabel
90
+ } = field;
91
+ const selectedOptions = value.map(item => {
92
+ const option = pickListValues.find(opt => opt.value === item);
93
+ return {
94
+ id: option.value,
95
+ label: option.value,
96
+ color: option.colorCode || ''
97
+ };
55
98
  });
99
+
100
+ switch (uiType) {
101
+ case FieldTypes.TextField:
102
+ {
103
+ let valueText = value.join(', ');
104
+ return {
105
+ type: FieldTypes.TextField,
106
+ fieldName: name,
107
+ text: valueText,
108
+ isDotted: textOverflowMode === 'clip',
109
+ weight: isRead ? undefined : 'bold',
110
+ tooltip: valueText,
111
+ appendToActionPayload,
112
+ isRead,
113
+ textOverflowMode
114
+ };
115
+ }
116
+
117
+ case FieldTypes.TagsField:
118
+ default:
119
+ return {
120
+ type: FieldTypes.TagsField,
121
+ fieldName: name,
122
+ title: displayLabel,
123
+ isWrapped: textOverflowMode !== 'clip',
124
+ tags: selectedOptions,
125
+ appendToActionPayload,
126
+ isRead,
127
+ textOverflowMode
128
+ };
129
+ }
56
130
  };
@@ -1,6 +1,5 @@
1
1
  // import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
2
2
  import FieldTypes from "../../../../../../cc/fields/field/Types";
3
- import NumberFieldModel from "../../../../../../cc/fields/number/Model";
4
3
 
5
4
  const NumberLineFieldTranslator = _ref => {
6
5
  let {
@@ -14,14 +13,22 @@ const NumberLineFieldTranslator = _ref => {
14
13
  uiType,
15
14
  name
16
15
  } = field;
17
- return NumberFieldModel({
18
- uiType: uiType || FieldTypes.NumberField,
19
- appendToActionPayload,
20
- name,
21
- isRead,
22
- value,
23
- textOverflowMode
24
- });
16
+
17
+ switch (uiType) {
18
+ case FieldTypes.TextField:
19
+ default:
20
+ return {
21
+ type: FieldTypes.TextField,
22
+ fieldName: name,
23
+ text: value,
24
+ isDotted: textOverflowMode === 'clip',
25
+ weight: isRead ? undefined : 'bold',
26
+ tooltip: value,
27
+ appendToActionPayload,
28
+ isRead,
29
+ textOverflowMode
30
+ };
31
+ }
25
32
  };
26
33
 
27
34
  export default NumberLineFieldTranslator;
@@ -1,6 +1,5 @@
1
1
  // import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
2
2
  import FieldTypes from "../../../../../../cc/fields/field/Types";
3
- import PercentFieldModel from "../../../../../../cc/fields/percent/Model";
4
3
 
5
4
  const PercentageFieldTranslator = _ref => {
6
5
  let {
@@ -14,14 +13,22 @@ const PercentageFieldTranslator = _ref => {
14
13
  uiType,
15
14
  name
16
15
  } = field;
17
- return PercentFieldModel({
18
- uiType: uiType || FieldTypes.PercentageField,
19
- appendToActionPayload,
20
- name,
21
- isRead,
22
- value,
23
- textOverflowMode
24
- });
16
+
17
+ switch (uiType) {
18
+ case FieldTypes.TextField:
19
+ default:
20
+ return {
21
+ type: FieldTypes.TextField,
22
+ fieldName: name,
23
+ text: value,
24
+ isDotted: textOverflowMode === 'clip',
25
+ weight: isRead ? undefined : 'bold',
26
+ tooltip: value,
27
+ appendToActionPayload,
28
+ isRead,
29
+ textOverflowMode
30
+ };
31
+ }
25
32
  };
26
33
 
27
34
  export default PercentageFieldTranslator;
@@ -1,6 +1,5 @@
1
1
  // import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
2
2
  import FieldTypes from "../../../../../../cc/fields/field/Types";
3
- import PhoneFieldModel from "../../../../../../cc/fields/phone/Model";
4
3
 
5
4
  const PhoneFieldTranslator = _ref => {
6
5
  let {
@@ -14,14 +13,22 @@ const PhoneFieldTranslator = _ref => {
14
13
  uiType,
15
14
  name
16
15
  } = field;
17
- return PhoneFieldModel({
18
- uiType: uiType || FieldTypes.PhoneField,
19
- appendToActionPayload,
20
- name,
21
- isRead,
22
- value,
23
- textOverflowMode
24
- });
16
+
17
+ switch (uiType) {
18
+ case FieldTypes.TextField:
19
+ default:
20
+ return {
21
+ type: FieldTypes.TextField,
22
+ fieldName: name,
23
+ text: value,
24
+ isDotted: textOverflowMode === 'clip',
25
+ weight: isRead ? undefined : 'bold',
26
+ tooltip: value,
27
+ appendToActionPayload,
28
+ isRead,
29
+ textOverflowMode
30
+ };
31
+ }
25
32
  };
26
33
 
27
34
  export default PhoneFieldTranslator;
@@ -1,7 +1,6 @@
1
1
  // import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
2
2
  import FieldTypes from "../../../../../../cc/fields/field/Types";
3
- import PickListFieldModel from "../../../../../../cc/fields/pick-list/Model";
4
- import ColouredPickListFieldModel from "../../../../../../cc/fields/coloured-pick-list/Model";
3
+ const EMPTY_ARRAY = [];
5
4
 
6
5
  const PickListFieldTranslator = _ref => {
7
6
  let {
@@ -12,9 +11,6 @@ const PickListFieldTranslator = _ref => {
12
11
  isRead
13
12
  } = _ref;
14
13
  const {
15
- uiType,
16
- name,
17
- pickListValues,
18
14
  subType
19
15
  } = field;
20
16
 
@@ -22,34 +18,179 @@ const PickListFieldTranslator = _ref => {
22
18
  return ColouredPickListFieldTranslator(field, value, appendToActionPayload, textOverflowMode, isRead);
23
19
  }
24
20
 
25
- return PickListFieldModel({
26
- uiType: uiType || FieldTypes.PickListField,
27
- appendToActionPayload,
28
- options: pickListValues,
29
- name,
30
- isRead,
31
- value,
32
- textOverflowMode
33
- });
21
+ return StandardPickListFieldTranslator(field, value, appendToActionPayload, textOverflowMode, isRead);
34
22
  };
35
23
 
36
24
  export default PickListFieldTranslator;
37
25
 
38
- const ColouredPickListFieldTranslator = (field, value, appendToActionPayload, textOverflowMode, isRead) => {
26
+ const StandardPickListFieldTranslator = (field, value, appendToActionPayload, textOverflowMode, isRead) => {
39
27
  const {
40
28
  uiType,
41
29
  name,
42
- pickListValues
30
+ pickListValues = EMPTY_ARRAY,
31
+ displayLabel
43
32
  } = field;
44
- return ColouredPickListFieldModel({
45
- uiType: uiType || FieldTypes.ColouredPickListField,
46
- appendToActionPayload,
47
- options: pickListValues.map(option => ({ ...option,
48
- colorCode: option.colorCode || ''
49
- })),
33
+
34
+ switch (uiType) {
35
+ case FieldTypes.HighlightedValueField:
36
+ return {
37
+ type: FieldTypes.HighlightedValueField,
38
+ fieldName: name,
39
+ text: value,
40
+ color: 'grey',
41
+ tooltip: value,
42
+ cursor: 'default',
43
+ appendToActionPayload,
44
+ isRead,
45
+ textOverflowMode
46
+ };
47
+
48
+ case FieldTypes.TagField:
49
+ return {
50
+ type: FieldTypes.TagField,
51
+ fieldName: name,
52
+ label: value,
53
+ tooltip: value,
54
+ cursor: 'default',
55
+ appendToActionPayload,
56
+ isRead,
57
+ textOverflowMode
58
+ };
59
+
60
+ case FieldTypes.RadioDropdownField:
61
+ {
62
+ const options = pickListValues.map(option => ({
63
+ id: option.value,
64
+ value: option.value,
65
+ secondaryValue: ''
66
+ }));
67
+ return {
68
+ type: FieldTypes.RadioDropdownField,
69
+ fieldName: name,
70
+ options,
71
+ selectedId: value,
72
+ selectedValue: value,
73
+ dropdownHeading: displayLabel,
74
+ hasSearch: pickListValues.length > 4,
75
+ isDotted: textOverflowMode === 'clip',
76
+ weight: isRead ? undefined : 'bold',
77
+ searchPlaceholder: 'Search',
78
+ emptyStateTitle: 'No results found',
79
+ isDisabled: false,
80
+ isReadOnly: false,
81
+ appendToActionPayload,
82
+ isRead,
83
+ textOverflowMode
84
+ };
85
+ }
86
+
87
+ case FieldTypes.TextField:
88
+ default:
89
+ return {
90
+ type: FieldTypes.TextField,
91
+ fieldName: name,
92
+ text: value,
93
+ isDotted: textOverflowMode === 'clip',
94
+ weight: isRead ? undefined : 'bold',
95
+ tooltip: value,
96
+ appendToActionPayload,
97
+ isRead,
98
+ textOverflowMode
99
+ };
100
+ }
101
+ };
102
+
103
+ const colorMapper = {
104
+ "#1e1e1e": "grey",
105
+ "#fd1d1d": "red",
106
+ "#fd5901": "orange",
107
+ "#71c02b": "green",
108
+ "#405de6": "blue"
109
+ };
110
+
111
+ const ColouredPickListFieldTranslator = (field, value, appendToActionPayload, textOverflowMode, isRead) => {
112
+ const {
113
+ uiType,
50
114
  name,
51
- isRead,
52
- value,
53
- textOverflowMode
54
- });
115
+ displayLabel,
116
+ pickListValues = EMPTY_ARRAY
117
+ } = field;
118
+ const selectedOption = pickListValues.find(option => option.value === value);
119
+
120
+ switch (uiType) {
121
+ case FieldTypes.TextField:
122
+ return {
123
+ type: FieldTypes.TextField,
124
+ fieldName: name,
125
+ text: value,
126
+ isDotted: textOverflowMode === 'clip',
127
+ weight: isRead ? undefined : 'bold',
128
+ tooltip: value,
129
+ appendToActionPayload,
130
+ isRead,
131
+ textOverflowMode
132
+ };
133
+
134
+ case FieldTypes.HighlightedValueField:
135
+ {
136
+ const highlightedValueColor = colorMapper[selectedOption?.colorCode?.toLowerCase()] || 'grey';
137
+ return {
138
+ type: FieldTypes.HighlightedValueField,
139
+ fieldName: name,
140
+ text: value,
141
+ color: highlightedValueColor,
142
+ isDotted: textOverflowMode === 'clip',
143
+ weight: isRead ? undefined : 'bold',
144
+ tooltip: value,
145
+ cursor: 'default',
146
+ appendToActionPayload,
147
+ isRead,
148
+ textOverflowMode
149
+ };
150
+ }
151
+
152
+ case FieldTypes.RadioDropdownField:
153
+ {
154
+ const options = pickListValues.map(option => ({
155
+ id: option.value,
156
+ value: option.value,
157
+ secondaryValue: ''
158
+ }));
159
+ const highlightedValueColor = colorMapper[selectedOption?.colorCode?.toLowerCase()] || 'grey';
160
+ return {
161
+ type: FieldTypes.RadioDropdownField,
162
+ fieldName: name,
163
+ options,
164
+ color: highlightedValueColor,
165
+ selectedId: value,
166
+ selectedValue: value,
167
+ dropdownHeading: displayLabel,
168
+ isDotted: textOverflowMode === 'clip',
169
+ weight: isRead ? undefined : 'bold',
170
+ hasSearch: pickListValues.length > 4,
171
+ searchPlaceholder: 'Search',
172
+ emptyStateTitle: 'No results found',
173
+ isDisabled: false,
174
+ isReadOnly: false,
175
+ appendToActionPayload,
176
+ isRead,
177
+ textOverflowMode
178
+ };
179
+ }
180
+
181
+ case FieldTypes.TagField:
182
+ default:
183
+ {
184
+ return {
185
+ type: FieldTypes.TagField,
186
+ fieldName: name,
187
+ label: value,
188
+ color: selectedOption.colorCode || '',
189
+ tooltip: value,
190
+ cursor: 'default',
191
+ appendToActionPayload,
192
+ isRead
193
+ };
194
+ }
195
+ }
55
196
  };