@zohodesk/library-platform 1.1.12-exp.2 → 1.1.12-exp.3

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 (187) hide show
  1. package/es/bc/app-context/Properties.js +19 -0
  2. package/es/bc/float-pagination/ActionHandlers.js +1 -0
  3. package/es/bc/float-pagination/Constants.js +4 -0
  4. package/es/bc/float-pagination/Properties.js +18 -0
  5. package/es/bc/float-pagination/index.js +2 -0
  6. package/es/bc/search/Constants.js +3 -0
  7. package/es/bc/search/EventHandlers.js +1 -0
  8. package/es/bc/search/Properties.js +11 -0
  9. package/es/bc/search/index.js +2 -0
  10. package/es/cc/action-icon/Properties.js +20 -1
  11. package/es/cc/checkbox/Properties.js +2 -1
  12. package/es/cc/email/Properties.js +8 -0
  13. package/es/cc/fields/field/Types.js +31 -23
  14. package/es/cc/fields/lookup/Properties.js +26 -10
  15. package/es/cc/floating-pagination/Constants.js +6 -0
  16. package/es/cc/floating-pagination/Events.js +8 -0
  17. package/es/cc/floating-pagination/Properties.js +56 -0
  18. package/es/cc/floating-pagination/index.js +3 -0
  19. package/es/cc/highlighted-value/Properties.js +18 -0
  20. package/es/cc/link/Properties.js +13 -3
  21. package/es/cc/ribbon/Properties.js +59 -0
  22. package/es/cc/ribbon/index.js +1 -0
  23. package/es/cc/switch/Properties.js +2 -2
  24. package/es/cc/table-connected/Properties.js +16 -0
  25. package/es/cc/table-list/Constants.js +1 -0
  26. package/es/cc/table-list/Properties.js +35 -35
  27. package/es/cc/tags/Data.js +0 -6
  28. package/es/cc/tags/model/index.js +1 -1
  29. package/es/library/behaviours/float-pagination/adapters/controllers/DestructController.js +18 -0
  30. package/es/library/behaviours/float-pagination/adapters/controllers/FloatPaginationController.js +25 -0
  31. package/es/library/behaviours/float-pagination/adapters/controllers/InitializeController.js +18 -0
  32. package/es/library/behaviours/float-pagination/adapters/controllers/ScrollBottomController.js +23 -0
  33. package/es/library/behaviours/float-pagination/adapters/controllers/ScrollTopController.js +23 -0
  34. package/es/library/behaviours/float-pagination/adapters/controllers/UpdateIndexController.js +30 -0
  35. package/es/library/behaviours/float-pagination/adapters/gateway/Repository.js +27 -0
  36. package/es/library/behaviours/float-pagination/adapters/gateway/Service.js +20 -0
  37. package/es/library/behaviours/float-pagination/adapters/presenter/Presenter.js +16 -0
  38. package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollTopInputModel.js +1 -0
  39. package/es/library/behaviours/float-pagination/applications/interfaces/input/ScrollbottomInputModel.js +1 -0
  40. package/es/library/behaviours/float-pagination/applications/interfaces/input/UpdateIndexInputModel.js +1 -0
  41. package/es/library/behaviours/float-pagination/applications/interfaces/output/FloatPaginationOutputModel.js +1 -0
  42. package/es/library/behaviours/float-pagination/applications/interfaces/output/IPresenter.js +1 -0
  43. package/es/library/behaviours/float-pagination/applications/usecases/DestructUsecase.js +15 -0
  44. package/es/library/behaviours/float-pagination/applications/usecases/FloatPaginationUseCase.js +31 -0
  45. package/es/library/behaviours/float-pagination/applications/usecases/InitializeUsecase.js +16 -0
  46. package/es/library/behaviours/float-pagination/applications/usecases/ScrollBottomUseCase.js +23 -0
  47. package/es/library/behaviours/float-pagination/applications/usecases/ScrollTopUseCase.js +23 -0
  48. package/es/library/behaviours/float-pagination/applications/usecases/UpdateIndexUseCase.js +28 -0
  49. package/es/library/behaviours/float-pagination/domain/entities/FloatPagination.js +28 -0
  50. package/es/library/behaviours/float-pagination/domain/entities/interfaces/IFloatPagination.js +1 -0
  51. package/es/library/behaviours/float-pagination/frameworks/ui/ActionsHandlerFactory.js +37 -0
  52. package/es/library/behaviours/float-pagination/frameworks/ui/FloatPaginationBehaviourFactory.js +21 -0
  53. package/es/library/behaviours/float-pagination/frameworks/utils.js +70 -0
  54. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +2 -1
  55. package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +1 -1
  56. package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +6 -1
  57. package/es/library/behaviours/list-selection/domain/entities/ListItemSelection.js +21 -18
  58. package/es/library/behaviours/search/adapters/controllers/AbstractController.js +9 -0
  59. package/es/library/behaviours/search/adapters/controllers/SearchController.js +26 -0
  60. package/es/library/behaviours/search/adapters/controllers/UpdatePropertiesController.js +27 -0
  61. package/es/library/behaviours/search/adapters/gateway/Repository.js +20 -0
  62. package/es/library/behaviours/search/adapters/gateway/Service.js +12 -0
  63. package/es/library/behaviours/{sort-by → search}/adapters/presenter/Presenter.js +2 -2
  64. package/es/library/behaviours/search/adapters/presenter/SearchTranslator.js +6 -0
  65. package/es/library/behaviours/search/applications/interfaces/UseCaseDependencies.js +1 -0
  66. package/es/library/behaviours/search/applications/interfaces/gateways/IRepository.js +1 -0
  67. package/es/library/behaviours/search/applications/interfaces/gateways/IService.js +1 -0
  68. package/es/library/behaviours/search/applications/interfaces/input/SearchInputModel.js +1 -0
  69. package/es/library/behaviours/search/applications/interfaces/input/UpdatePropertiesInputModel.js +1 -0
  70. package/es/library/behaviours/search/applications/interfaces/output/IPresenter.js +1 -0
  71. package/es/library/behaviours/search/applications/interfaces/output/SearchOutputModel.js +1 -0
  72. package/es/library/behaviours/search/applications/usecases/AbstractUseCase.js +17 -0
  73. package/es/library/behaviours/search/applications/usecases/SearchUseCase.js +28 -0
  74. package/es/library/behaviours/search/applications/usecases/UpdatePropertiesUsecase.js +25 -0
  75. package/es/library/behaviours/search/domain/entities/Search.js +23 -0
  76. package/es/library/behaviours/search/domain/entities/interfaces/ISearch.js +1 -0
  77. package/es/library/behaviours/search/frameworks/ui/EventHandlerFactory.js +25 -0
  78. package/es/library/behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory.js +26 -0
  79. package/es/library/custom-component/adapters/gateways/event-manager/EventManager.js +5 -0
  80. package/es/library/custom-component/domain/entities/ComponentProperties.js +1 -1
  81. package/es/library/custom-component/domain/entities/Logger.js +3 -3
  82. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +3 -1
  83. package/es/library/dot/components/table-list/adapters/controllers/ScrollController.js +2 -2
  84. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +24 -1
  85. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +19 -2
  86. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +4 -6
  87. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +5 -1
  88. package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +4 -2
  89. package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPagination.js +10 -0
  90. package/es/library/dot/legacy-to-new-arch/floating-pagination/frameworks/ui/FloatingPaginationView.js +47 -0
  91. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
  92. package/es/library/dot/legacy-to-new-arch/index.js +1 -0
  93. package/es/library/dot/legacy-to-new-arch/link/frameworks/ui/LinkView.js +4 -2
  94. package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdownView.js +1 -0
  95. package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/Ribbon.js +10 -0
  96. package/es/library/dot/legacy-to-new-arch/ribbon/frameworks/ui/RibbonView.js +37 -0
  97. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +12 -2
  98. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +8 -5
  99. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/EventHandlersFactory.js +3 -3
  100. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailField.js +3 -3
  101. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailFieldView.js +8 -6
  102. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +22 -5
  103. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +1 -1
  104. package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneFieldView.js +1 -1
  105. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/EventHandlersFactory.js +14 -0
  106. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownField.js +17 -0
  107. package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownFieldView.js +1 -1
  108. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/EventHandlersFactory.js +3 -3
  109. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchField.js +14 -4
  110. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +8 -4
  111. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownField.js +33 -1
  112. package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownFieldView.js +1 -1
  113. package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +1 -1
  114. package/es/platform/components/table-connected/adapters/controllers/ScrollController.js +29 -8
  115. package/es/platform/components/table-connected/adapters/controllers/ScrollEndReachedController.js +23 -0
  116. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +26 -4
  117. package/es/platform/components/table-connected/frameworks/TableConnectedFactory.js +2 -1
  118. package/es/platform/components/table-connected/frameworks/TableConnectedView.js +2 -0
  119. package/es/platform/data-source/http-template/fetchLookupFields.js +6 -0
  120. package/es/platform/data-source/http-template/getComponentMapping.js +1 -1
  121. package/es/platform/data-source/http-template/getSingleRecord.js +51 -0
  122. package/es/platform/data-source/index.js +3 -1
  123. package/es/platform/zfield/applications/usecases/FetchSuccessUseCase.js +33 -0
  124. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +5 -0
  125. package/es/platform/zform/adapters/controllers/GetInitialRecordSuccessController.js +31 -0
  126. package/es/platform/zform/adapters/gateway/FormRepository.js +1 -3
  127. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +11 -12
  128. package/es/platform/zform/applications/interfaces/input/GetInitialRecordSuccessUseCaseInputModel.js +1 -0
  129. package/es/platform/zform/applications/usecases/GetInitialRecordSuccessUseCase.js +132 -0
  130. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +10 -9
  131. package/es/platform/zform/domain/ZForm.js +0 -2
  132. package/es/platform/zlist/adapters/presenters/TableTranslator.js +44 -6
  133. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +57 -49
  134. package/es/platform/zlist/adapters/presenters/translators/Row.js +16 -2
  135. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +3 -1
  136. package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +87 -12
  137. package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +66 -11
  138. package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +33 -8
  139. package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +33 -8
  140. package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +16 -9
  141. package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +29 -9
  142. package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +23 -27
  143. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +106 -17
  144. package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +16 -9
  145. package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +100 -26
  146. package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +16 -9
  147. package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +16 -9
  148. package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +32 -9
  149. package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +167 -26
  150. package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +16 -9
  151. package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +32 -9
  152. package/es/platform/zlist/adapters/presenters/utils/DateAndTimeFormat.js +25 -0
  153. package/es/platform/zrecord/adapters/controllers/UpdateRecordController.js +30 -0
  154. package/es/platform/zrecord/applications/interfaces/input/UpdateRecordInputModel.js +0 -0
  155. package/es/platform/zrecord/applications/usecases/UpdateRecordUseCase.js +30 -0
  156. package/package.json +20 -20
  157. package/es/bc/sort-by/ActionHandlers.js +0 -1
  158. package/es/bc/sort-by/Constants.js +0 -2
  159. package/es/bc/sort-by/Properties.js +0 -26
  160. package/es/bc/sort-by/SortOrderEnum.js +0 -8
  161. package/es/bc/sort-by/index.js +0 -2
  162. package/es/cc/tags/model/TagModel.js +0 -26
  163. package/es/library/behaviours/sort-by/adapters/controllers/SortBy.js +0 -28
  164. package/es/library/behaviours/sort-by/adapters/gateway/Repository.js +0 -19
  165. package/es/library/behaviours/sort-by/adapters/gateway/Service.js +0 -10
  166. package/es/library/behaviours/sort-by/applications/usecases/SortBy.js +0 -28
  167. package/es/library/behaviours/sort-by/domain/entities/SortBy.js +0 -42
  168. package/es/library/behaviours/sort-by/frameworks/ui/ActionsHandlerFactory.js +0 -23
  169. package/es/library/behaviours/sort-by/frameworks/ui/DemoBehaviour.js +0 -20
  170. package/es/library/behaviours/sort-by/frameworks/ui/SortByBehaviourFactory.js +0 -24
  171. package/es/library/custom-component/frameworks/ui/CustomComponentFactory.js +0 -56
  172. package/es/library/dot/components/table-list/adapters/controllers/SortByController.js +0 -25
  173. package/es/library/dot/components/table-list/adapters/controllers/SortedController.js +0 -18
  174. package/es/library/dot/components/table-list/frameworks/ui/handlers/HandleSortClick.js +0 -12
  175. package/es/platform/zlist/adapters/gateways/SortBy.js +0 -38
  176. package/es/platform/zlist/domain/entities/SortBy.js +0 -58
  177. /package/es/{library/behaviours/sort-by/applications/interfaces/UseCaseDependencies.js → bc/float-pagination/types/FloatPaginationBehaviourState.js} +0 -0
  178. /package/es/{library/behaviours/sort-by/applications/interfaces/gateways/IRepository.js → bc/list-selection/Types.js} +0 -0
  179. /package/es/{library/behaviours/sort-by/applications/interfaces/gateways/IService.js → cc/table-list/data-types/FloatPaginationConfig.js} +0 -0
  180. /package/es/library/behaviours/{sort-by → float-pagination}/adapters/controllers/AbstractController.js +0 -0
  181. /package/es/library/behaviours/{sort-by/applications/interfaces/input/SortByInputModel.js → float-pagination/applications/interfaces/UseCaseDependencies.js} +0 -0
  182. /package/es/library/behaviours/{sort-by/applications/interfaces/output/IPresenter.js → float-pagination/applications/interfaces/gateways/IRepository.js} +0 -0
  183. /package/es/library/behaviours/{sort-by/applications/interfaces/output/SortByOutputModel.js → float-pagination/applications/interfaces/gateways/IService.js} +0 -0
  184. /package/es/library/behaviours/{sort-by/domain/entities/interfaces/ISortBy.js → float-pagination/applications/interfaces/input/DestructInputModel.js} +0 -0
  185. /package/es/{platform/zlist/applications/interfaces/gateways/ISortBy.js → library/behaviours/float-pagination/applications/interfaces/input/FloatPaginationInputModel.js} +0 -0
  186. /package/es/{platform/zlist/domain/entities/interfaces/ISortBy.js → library/behaviours/float-pagination/applications/interfaces/input/InitializeInputModel.js} +0 -0
  187. /package/es/library/behaviours/{sort-by → float-pagination}/applications/usecases/AbstractUseCase.js +0 -0
@@ -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,38 @@ 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
+ return {
20
+ type: FieldTypes.TextField,
21
+ fieldName: name,
22
+ text: value,
23
+ isDotted: textOverflowMode === 'clip',
24
+ weight: isRead ? undefined : 'bold',
25
+ tooltip: value,
26
+ appendToActionPayload,
27
+ isRead,
28
+ textOverflowMode
29
+ };
30
+
31
+ case FieldTypes.LinkField:
32
+ default:
33
+ return {
34
+ type: FieldTypes.LinkField,
35
+ fieldName: name,
36
+ text: value,
37
+ variant: 'secondary',
38
+ href: `tel:${value}`,
39
+ opensNewTab: true,
40
+ isDotted: textOverflowMode === 'clip',
41
+ weight: isRead ? undefined : 'bold',
42
+ tooltip: value,
43
+ appendToActionPayload,
44
+ isRead,
45
+ textOverflowMode
46
+ };
47
+ }
25
48
  };
26
49
 
27
50
  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
  };
@@ -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 TextFieldModel from "../../../../../../cc/fields/text/Model";
4
3
 
5
4
  const SingleLineFieldTranslator = _ref => {
6
5
  let {
@@ -14,14 +13,22 @@ const SingleLineFieldTranslator = _ref => {
14
13
  uiType,
15
14
  name
16
15
  } = field;
17
- return TextFieldModel({
18
- uiType: uiType || FieldTypes.SingleLineField,
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 SingleLineFieldTranslator;
@@ -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 UrlFieldModel from "../../../../../../cc/fields/url/Model";
4
3
 
5
4
  const URLFieldTranslator = _ref => {
6
5
  let {
@@ -14,14 +13,38 @@ const URLFieldTranslator = _ref => {
14
13
  uiType,
15
14
  name
16
15
  } = field;
17
- return UrlFieldModel({
18
- uiType: uiType || FieldTypes.URLField,
19
- appendToActionPayload,
20
- name,
21
- isRead,
22
- value,
23
- textOverflowMode
24
- });
16
+
17
+ switch (uiType) {
18
+ case FieldTypes.TextField:
19
+ return {
20
+ type: FieldTypes.TextField,
21
+ fieldName: name,
22
+ text: value,
23
+ isDotted: textOverflowMode === 'clip',
24
+ weight: isRead ? undefined : 'bold',
25
+ tooltip: value,
26
+ appendToActionPayload,
27
+ isRead,
28
+ textOverflowMode
29
+ };
30
+
31
+ case FieldTypes.LinkField:
32
+ default:
33
+ return {
34
+ type: FieldTypes.LinkField,
35
+ fieldName: name,
36
+ text: value,
37
+ variant: 'secondary',
38
+ href: value,
39
+ opensNewTab: true,
40
+ isDotted: textOverflowMode === 'clip',
41
+ weight: isRead ? undefined : 'bold',
42
+ tooltip: value,
43
+ appendToActionPayload,
44
+ isRead,
45
+ textOverflowMode
46
+ };
47
+ }
25
48
  };
26
49
 
27
50
  export default URLFieldTranslator;
@@ -0,0 +1,25 @@
1
+ import { i18NProviderUtils } from '@zohodesk/i18n';
2
+ export function DateAndTimeFormat(_ref) {
3
+ let {
4
+ value,
5
+ isDateTimeField,
6
+ isShortenDateTimeInfo
7
+ } = _ref;
8
+ const date = value instanceof Date ? value : new Date(value);
9
+ if (isNaN(date.getTime())) return '';
10
+ const formattedDate = i18NProviderUtils.userDateFormat(date, {}, '', '', false, _ref2 => {
11
+ let {
12
+ dateFormat,
13
+ dateTimeFormat,
14
+ timeFormat
15
+ } = _ref2;
16
+ const isCurrentDate = date.toDateString() === new Date().toDateString();
17
+
18
+ if (isDateTimeField && isShortenDateTimeInfo && isCurrentDate) {
19
+ return timeFormat;
20
+ }
21
+
22
+ return isDateTimeField ? dateTimeFormat : dateFormat;
23
+ });
24
+ return formattedDate;
25
+ }
@@ -0,0 +1,30 @@
1
+ import AbstractController from "./AbstractController";
2
+ export default class UpdateRecordController extends AbstractController {
3
+ handle(event) {
4
+ const {
5
+ state,
6
+ updateState,
7
+ action,
8
+ dispatch
9
+ } = event;
10
+ const {
11
+ payload
12
+ } = action;
13
+ const {
14
+ record,
15
+ moduleName,
16
+ recordId
17
+ } = payload;
18
+ const {
19
+ updateRecordUseCase
20
+ } = this.service;
21
+ updateRecordUseCase.updateDependency(state, updateState);
22
+ updateRecordUseCase.execute({
23
+ record,
24
+ moduleName,
25
+ recordId,
26
+ dispatch
27
+ });
28
+ }
29
+
30
+ }