@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
@@ -0,0 +1,10 @@
1
+ import { createCustomComponent } from "../../../../../custom-component";
2
+ import RibbonProperties from "../../../../../../cc/ribbon/Properties";
3
+ import RibbonView from "./RibbonView";
4
+ let Ribbon = createCustomComponent({
5
+ name: "Ribbon",
6
+ View: RibbonView,
7
+ properties: RibbonProperties,
8
+ eventHandlers: {}
9
+ });
10
+ export default Ribbon;
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import Ribbon from '@zohodesk-private/desk-components/es/Ribbon/Ribbon';
3
+ const paletteMapper = {
4
+ secondary: 'grey',
5
+ warning: 'orange'
6
+ };
7
+
8
+ function RibbonView(_ref, ref) {
9
+ let {
10
+ state
11
+ } = _ref;
12
+ let {
13
+ text,
14
+ palette,
15
+ iconName,
16
+ iconSize,
17
+ size,
18
+ flagPlacement
19
+ } = state.properties;
20
+ palette = paletteMapper[palette] || palette;
21
+ return /*#__PURE__*/React.createElement(Ribbon, {
22
+ text: text,
23
+ palette: palette,
24
+ iconName: iconName,
25
+ iconSize: iconSize,
26
+ size: size,
27
+ arrowDirection: flagPlacement,
28
+ isInline: true,
29
+ customProps: {
30
+ container: {
31
+ eleRef: ref
32
+ }
33
+ }
34
+ });
35
+ }
36
+
37
+ export default RibbonView;
@@ -1,12 +1,22 @@
1
1
  import { createCustomComponent } from "../../../../../../custom-component";
2
- import BooleanProperties from "../../../../../../../cc/fields/boolean/Properties";
2
+ import CheckboxProperties from "../../../../../../../cc/checkbox/Properties";
3
3
  import BooleanEvents from "../../../../../../../cc/fields/boolean/Events";
4
4
  import CheckboxFieldView from "./CheckboxFieldView";
5
5
  import { EventHandlersFactory } from "./EventHandlersFactory";
6
6
  const CheckboxField = createCustomComponent({
7
7
  name: 'CheckboxField',
8
8
  View: CheckboxFieldView,
9
- properties: BooleanProperties,
9
+ properties: { ...CheckboxProperties,
10
+ fieldName: {
11
+ required: false,
12
+ defaultValue: '',
13
+ typeMetadata: {
14
+ schema: {
15
+ type: 'string'
16
+ }
17
+ }
18
+ }
19
+ },
10
20
  events: BooleanEvents,
11
21
  eventHandlers: EventHandlersFactory.create()
12
22
  });
@@ -5,14 +5,17 @@ export default function CheckboxFieldView(_ref, ref) {
5
5
  state
6
6
  } = _ref;
7
7
  const {
8
- value
8
+ checked,
9
+ disabled,
10
+ readonly,
11
+ tooltip
9
12
  } = state.properties;
10
13
  return /*#__PURE__*/React.createElement(Checkbox, {
11
14
  getRef: ref,
12
- checked: value,
13
- disabled: false,
14
- readonly: false,
15
+ checked: checked,
16
+ disabled: disabled,
17
+ readonly: readonly,
15
18
  label: "",
16
- tooltip: ""
19
+ tooltip: tooltip
17
20
  });
18
21
  }
@@ -8,10 +8,10 @@ export class EventHandlersFactory {
8
8
  dispatch
9
9
  } = input;
10
10
  const {
11
- name: fieldName,
12
- value: currentValue
11
+ fieldName,
12
+ checked
13
13
  } = state.properties;
14
- const toggledValue = !currentValue;
14
+ const toggledValue = !checked;
15
15
  dispatch({
16
16
  type: FieldConstants.FIELD_CHANGED,
17
17
  payload: {
@@ -1,12 +1,12 @@
1
1
  import { createCustomComponent } from "../../../../../../custom-component";
2
- import EmailProperties from "../../../../../../../cc/fields/email/Properties";
3
- import EmailEvents from "../../../../../../../cc/fields/email/Events";
2
+ import EmailProperties from "../../../../../../../cc/email/Properties";
3
+ import FieldEvents from "../../../../../../../cc/fields/field/Events";
4
4
  import { EmailFieldView } from "./EmailFieldView";
5
5
  const EmailField = createCustomComponent({
6
6
  name: 'EmailField',
7
7
  View: EmailFieldView,
8
8
  properties: EmailProperties,
9
- events: EmailEvents,
9
+ events: FieldEvents,
10
10
  eventHandlers: {}
11
11
  });
12
12
  export default EmailField;
@@ -5,14 +5,16 @@ export function EmailFieldView(_ref, ref) {
5
5
  state
6
6
  } = _ref;
7
7
  const {
8
- value,
9
- textOverflowMode,
10
- isRead
8
+ email,
9
+ isDotted,
10
+ weight,
11
+ tooltip
11
12
  } = state.properties;
12
13
  return /*#__PURE__*/React.createElement(Email, {
13
14
  getRef: ref,
14
- email: value,
15
- isDotted: textOverflowMode === 'clip',
16
- weight: isRead ? undefined : 'bold'
15
+ email: email,
16
+ isDotted: isDotted,
17
+ weight: weight,
18
+ tooltip: tooltip
17
19
  });
18
20
  }
@@ -1,7 +1,6 @@
1
1
  import FieldTypes from "../../../../cc/fields/field/Types";
2
2
  import PrimaryField from "./primary-field/frameworks/ui/PrimaryField";
3
3
  import CheckboxField from "./checkbox-field/frameworks/ui/CheckboxField";
4
- import SwitchField from "./switch-field/frameworks/ui/SwitchField";
5
4
  import SingleLineField from "./singleline-field/frameworks/ui/SingleLineField";
6
5
  import EmailField from "./email-field/frameworks/ui/EmailField";
7
6
  import UrlField from "./url-field/frameworks/ui/UrlField";
@@ -17,11 +16,18 @@ import DateTimeField from "./datetime-field/frameworks/ui/DateTimeField";
17
16
  import NumberField from "./number-field/frameworks/ui/NumberField";
18
17
  import DecimalField from "./decimal-field/frameworks/ui/DecimalField";
19
18
  import MultiSelectField from "./multiselect-field/frameworks/ui/MultiSelectField";
19
+ import TextField from "./text-field/frameworks/ui/TextField";
20
+ import SwitchField from "./switch-field/frameworks/ui/SwitchField";
21
+ import LinkField from "./link-field/frameworks/ui/LinkField";
22
+ import TagField from "./tag-field/frameworks/ui/TagField";
23
+ import TagsField from "./tags-field/frameworks/ui/TagsField";
24
+ import TagsListDropdownField from "./tags-list-dropdown-field/frameworks/ui/TagsListDropdownField";
25
+ import RadioDropdownField from "./radio-dropdown-field/frameworks/ui/RadioDropdownField";
26
+ import LabeledAvatarField from "./labeled-avatar-field/frameworks/ui/LabeledAvatarField";
27
+ import HighlightedValueField from "./highlighted-value-field/frameworks/ui/HighlightedValueField";
20
28
  const FieldComponents = {
29
+ // Default Field Variants
21
30
  [FieldTypes.PrimaryField]: PrimaryField,
22
- [FieldTypes.CheckboxField]: CheckboxField,
23
- [FieldTypes.SwitchField]: SwitchField,
24
- // TODO: Need to register SwitchField
25
31
  [FieldTypes.SingleLineField]: SingleLineField,
26
32
  [FieldTypes.EmailField]: EmailField,
27
33
  [FieldTypes.URLField]: UrlField,
@@ -36,6 +42,17 @@ const FieldComponents = {
36
42
  [FieldTypes.DateTimeField]: DateTimeField,
37
43
  [FieldTypes.NumberField]: NumberField,
38
44
  [FieldTypes.DecimalField]: DecimalField,
39
- [FieldTypes.MultiSelectField]: MultiSelectField
45
+ [FieldTypes.MultiSelectField]: MultiSelectField,
46
+ // Custom Field Variants
47
+ [FieldTypes.TextField]: TextField,
48
+ [FieldTypes.CheckboxField]: CheckboxField,
49
+ [FieldTypes.SwitchField]: SwitchField,
50
+ [FieldTypes.LinkField]: LinkField,
51
+ [FieldTypes.TagField]: TagField,
52
+ [FieldTypes.TagsField]: TagsField,
53
+ [FieldTypes.TagsListDropdownField]: TagsListDropdownField,
54
+ [FieldTypes.RadioDropdownField]: RadioDropdownField,
55
+ [FieldTypes.LabeledAvatarField]: LabeledAvatarField,
56
+ [FieldTypes.HighlightedValueField]: HighlightedValueField
40
57
  };
41
58
  export default FieldComponents;
@@ -15,7 +15,7 @@ export function LookupFieldView(_ref, ref) {
15
15
  } = value;
16
16
  return /*#__PURE__*/React.createElement(Link, {
17
17
  getRef: ref,
18
- label: name,
18
+ text: name,
19
19
  variant: "secondary",
20
20
  href: url,
21
21
  isDotted: textOverflowMode === 'clip',
@@ -13,7 +13,7 @@ function PhoneFieldView(_ref, ref) {
13
13
  const href = `tel:${value}`;
14
14
  return /*#__PURE__*/React.createElement(Link, {
15
15
  getRef: ref,
16
- label: value,
16
+ text: value,
17
17
  href: href,
18
18
  variant: "secondary",
19
19
  weight: isRead ? undefined : 'bold',
@@ -1,5 +1,7 @@
1
1
  import RadioDropdownConstants from "../../../../../../../cc/radio-dropdown/Constants";
2
2
  import FieldConstants from "../../../../../../../cc/fields/field/Constants";
3
+ import { SEARCH_REQUESTED } from "../../../../../../../bc/search/Constants";
4
+ import Constants from "../../../../../../../cc/radio-dropdown/Constants";
3
5
  export class EventHandlersFactory {
4
6
  static create() {
5
7
  const changeHandler = input => {
@@ -25,6 +27,18 @@ export class EventHandlersFactory {
25
27
  };
26
28
 
27
29
  return {
30
+ [Constants.RADIO_DROPDOWN_SEARCHED]: _ref => {
31
+ let {
32
+ dispatch,
33
+ action
34
+ } = _ref;
35
+ dispatch({
36
+ type: SEARCH_REQUESTED,
37
+ payload: {
38
+ searchString: action.payload.value
39
+ }
40
+ });
41
+ },
28
42
  [RadioDropdownConstants.RADIO_DROPDOWN_VALUE_CHANGED]: changeHandler
29
43
  };
30
44
  }
@@ -3,9 +3,13 @@ import RadioDropdownProperties from "../../../../../../../cc/radio-dropdown/Prop
3
3
  import FieldEvents from "../../../../../../../cc/fields/field/Events";
4
4
  import RadioDropdownFieldView from "./RadioDropdownFieldView";
5
5
  import { EventHandlersFactory } from "./EventHandlersFactory";
6
+ import SearchTranslator from "../../../../../../behaviours/search/adapters/presenter/SearchTranslator";
7
+ import SearchBehaviourFactory from "../../../../../../behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory";
6
8
  const RadioDropdownField = createCustomComponent({
7
9
  name: 'RadioDropdownField',
8
10
  View: RadioDropdownFieldView,
11
+ transformState,
12
+ behaviours: [SearchBehaviourFactory.create()],
9
13
  properties: { ...RadioDropdownProperties,
10
14
  fieldType: {
11
15
  required: false,
@@ -29,4 +33,17 @@ const RadioDropdownField = createCustomComponent({
29
33
  events: FieldEvents,
30
34
  eventHandlers: EventHandlersFactory.create()
31
35
  });
36
+
37
+ function transformState(state) {
38
+ const {
39
+ searchString
40
+ } = state.behaviours.search;
41
+ return { ...state,
42
+ viewModel: { ...state.properties,
43
+ ...state.viewModel,
44
+ options: SearchTranslator(searchString, 'value', state.properties.options)
45
+ }
46
+ };
47
+ }
48
+
32
49
  export default RadioDropdownField;
@@ -20,7 +20,7 @@ export default function RadioDropdownFieldView(_ref, ref) {
20
20
  emptyStateTitle,
21
21
  isDisabled,
22
22
  isReadOnly
23
- } = state.properties;
23
+ } = state.viewModel;
24
24
  return /*#__PURE__*/React.createElement(Flex, {
25
25
  $ui_displayMode: "flex",
26
26
  $ui_className: color === 'none' ? style.wrapper : ''
@@ -8,10 +8,10 @@ export class EventHandlersFactory {
8
8
  dispatch
9
9
  } = input;
10
10
  const {
11
- name: fieldName,
12
- value: currentValue
11
+ fieldName,
12
+ checked
13
13
  } = state.properties;
14
- const toggledValue = !currentValue;
14
+ const toggledValue = !checked;
15
15
  dispatch({
16
16
  type: FieldConstants.FIELD_CHANGED,
17
17
  payload: {
@@ -1,13 +1,23 @@
1
1
  import { createCustomComponent } from "../../../../../../custom-component";
2
- import BooleanProperties from "../../../../../../../cc/fields/boolean/Properties";
3
- import BooleanEvents from "../../../../../../../cc/fields/boolean/Events";
2
+ import SwitchProperties from "../../../../../../../cc/switch/Properties";
3
+ import BooleanFieldEvents from "../../../../../../../cc/fields/boolean/Events";
4
4
  import SwitchFieldView from "./SwitchFieldView";
5
5
  import { EventHandlersFactory } from "./EventHandlersFactory";
6
6
  const SwitchField = createCustomComponent({
7
7
  name: 'SwitchField',
8
8
  View: SwitchFieldView,
9
- properties: BooleanProperties,
10
- events: BooleanEvents,
9
+ properties: { ...SwitchProperties,
10
+ fieldName: {
11
+ required: false,
12
+ defaultValue: '',
13
+ typeMetadata: {
14
+ schema: {
15
+ type: 'string'
16
+ }
17
+ }
18
+ }
19
+ },
20
+ events: BooleanFieldEvents,
11
21
  eventHandlers: EventHandlersFactory.create()
12
22
  });
13
23
  export default SwitchField;
@@ -5,12 +5,16 @@ export default function SwitchFieldView(_ref, ref) {
5
5
  state
6
6
  } = _ref;
7
7
  const {
8
- value
8
+ checked,
9
+ disabled,
10
+ size,
11
+ tooltip
9
12
  } = state.properties;
10
13
  return /*#__PURE__*/React.createElement(Switch, {
11
14
  getRef: ref,
12
- checked: value,
13
- disabled: false,
14
- tooltip: ""
15
+ checked: checked,
16
+ disabled: disabled,
17
+ size: size,
18
+ tooltip: tooltip
15
19
  });
16
20
  }
@@ -2,11 +2,43 @@ import { createCustomComponent } from "../../../../../../custom-component";
2
2
  import TagsListDropdownProperties from "../../../../../../../cc/tags-list-dropdown/Properties";
3
3
  import FieldEvents from "../../../../../../../cc/fields/field/Events";
4
4
  import TagsListDropdownFieldView from "./TagsListDropdownFieldView";
5
+ import SearchBehaviourFactory from "../../../../../../behaviours/search/frameworks/ui/SearchStringStoreBehaviourFactory";
6
+ import Constants from "../../../../../../../cc/tags-list-dropdown/Constants";
7
+ import { SEARCH_REQUESTED } from "../../../../../../../bc/search/Constants";
8
+ import SearchTranslator from "../../../../../../behaviours/search/adapters/presenter/SearchTranslator";
5
9
  const TagsListDropdownField = createCustomComponent({
6
10
  name: 'TagsListDropdownField',
7
11
  View: TagsListDropdownFieldView,
12
+ transformState,
13
+ behaviours: [SearchBehaviourFactory.create()],
8
14
  properties: TagsListDropdownProperties,
9
15
  events: FieldEvents,
10
- eventHandlers: {}
16
+ eventHandlers: {
17
+ [Constants.TAG_LIST_DROPDOWN_SEARCHED]: _ref => {
18
+ let {
19
+ dispatch,
20
+ action
21
+ } = _ref;
22
+ dispatch({
23
+ type: SEARCH_REQUESTED,
24
+ payload: {
25
+ searchString: action.payload.value
26
+ }
27
+ });
28
+ }
29
+ }
11
30
  });
31
+
32
+ function transformState(state) {
33
+ const {
34
+ searchString
35
+ } = state.behaviours.search;
36
+ return { ...state,
37
+ viewModel: { ...state.properties,
38
+ ...state.viewModel,
39
+ tags: SearchTranslator(searchString, 'label', state.properties.tags)
40
+ }
41
+ };
42
+ }
43
+
12
44
  export default TagsListDropdownField;
@@ -11,7 +11,7 @@ export default function TagsListDropdownFieldView(_ref, ref) {
11
11
  text,
12
12
  dropdownHeading,
13
13
  emptyMessage
14
- } = state.properties;
14
+ } = state.viewModel;
15
15
  return /*#__PURE__*/React.createElement(TagsListDropdown, {
16
16
  getRef: ref,
17
17
  tags: tags,
@@ -11,7 +11,7 @@ export function UrlFieldView(_ref, ref) {
11
11
  } = state.properties;
12
12
  return /*#__PURE__*/React.createElement(Link, {
13
13
  getRef: ref,
14
- label: value,
14
+ text: value,
15
15
  href: value,
16
16
  variant: "secondary",
17
17
  weight: isRead ? undefined : 'bold',
@@ -1,15 +1,36 @@
1
1
  import { RESIZE_SCROLL } from "../../../../../bc/table-column-resizer/Constants";
2
2
  import AbstractController from "./AbstractController";
3
+ import { FLOAT_PAGINATION_BEHAVIOUR_UPDATE_REQUESTED } from "../../../../../bc/float-pagination/Constants";
3
4
  export default class ScrollController extends AbstractController {
4
- handle(event) {
5
- // const tableElement = event.host;
6
- const tableElement = event.host.getElementsByTagName('table')[0];
7
- event.dispatch({
8
- type: RESIZE_SCROLL,
9
- payload: {
10
- tableElement
5
+ handle(_ref) {
6
+ let {
7
+ host,
8
+ dispatch,
9
+ state
10
+ } = _ref;
11
+ const {
12
+ properties: {
13
+ resizeConfig,
14
+ floatPaginationConfig
11
15
  }
12
- });
16
+ } = state;
17
+
18
+ if (floatPaginationConfig?.isEnabled) {
19
+ dispatch({
20
+ type: FLOAT_PAGINATION_BEHAVIOUR_UPDATE_REQUESTED
21
+ });
22
+ }
23
+
24
+ if (resizeConfig?.isEnabled) {
25
+ // const tableElement = event.host;
26
+ const tableElement = host.getElementsByTagName('table')[0];
27
+ dispatch({
28
+ type: RESIZE_SCROLL,
29
+ payload: {
30
+ tableElement
31
+ }
32
+ });
33
+ }
13
34
  }
14
35
 
15
36
  }
@@ -0,0 +1,23 @@
1
+ import { ZLIST_FETCH_MORE } from "../../../../../bc/zlist/Constants";
2
+ import AbstractController from "./AbstractController";
3
+ export default class ScrollEndReachedController extends AbstractController {
4
+ handle(_ref) {
5
+ let {
6
+ dispatch,
7
+ state
8
+ } = _ref;
9
+ const {
10
+ behaviours: {
11
+ zrecord
12
+ }
13
+ } = state;
14
+
15
+ if (zrecord?.records?.length) {
16
+ dispatch({
17
+ type: ZLIST_FETCH_MORE,
18
+ payload: {}
19
+ });
20
+ }
21
+ }
22
+
23
+ }
@@ -26,13 +26,17 @@ import { TEXT_OVERFLOW_BEHAVIOUR_UPDATE_REQUESTED } from "../../../../bc/clip-wr
26
26
  import { SMART_TABLE_SORT_BY_REQUESTED } from "../../../../cc/table-connected/constants/Events";
27
27
  import { SortedBy } from "../../../../cc/table-list/data-types/Header";
28
28
  import { SortOrder } from "../../../../bc/zlist/Types";
29
+ import { FloatingPaginationConstants } from "../../../../cc/floating-pagination";
30
+ import { FLOAT_PAGINATION_BEHAVIOUR_BOTTOM_UPDATED, FLOAT_PAGINATION_BEHAVIOUR_TOP_UPDATED } from "../../../../bc/float-pagination/Constants";
31
+ import ScrollEndReachedController from "../adapters/controllers/ScrollEndReachedController";
29
32
  const {
30
33
  TABLE_LIST_RESIZE_START_REQUESTED,
31
34
  TABLE_LIST_RESIZE_MOVE_REQUESTED,
32
35
  TABLE_LIST_RESIZE_END_REQUESTED,
33
36
  TABLE_LIST_SCROLLED,
34
37
  TABLE_LIST_ROW_DRAG_END,
35
- TABLE_LIST_NAME_FIELD_CLICKED
38
+ TABLE_LIST_NAME_FIELD_CLICKED,
39
+ TABLE_LIST_SCROLL_END_REACHED
36
40
  } = TableListEventConstants;
37
41
 
38
42
  function createHandlerWithSdk(handler) {
@@ -157,8 +161,8 @@ export default class EventHandlersFactory {
157
161
  contextDetails: {
158
162
  moduleName,
159
163
  instanceName,
160
- sortBy: zlist.sortBy.name,
161
- direction: zlist.sortBy.order
164
+ sortBy: zlist.sortConfig.fieldName,
165
+ direction: zlist.sortConfig.order
162
166
  }
163
167
  }; // -------------------------
164
168
  // 5. Column Resized
@@ -329,6 +333,23 @@ export default class EventHandlersFactory {
329
333
  [SmartTableConstants.ExternalConstants.SMART_TABLE_MARK_AS_READ_REQUESTED]: markAsReadHandler,
330
334
  [SmartTableConstants.ExternalConstants.SMART_TABLE_MARK_AS_UNREAD_REQUESTED]: markAsUnReadHandler,
331
335
  [TABLE_LIST_NAME_FIELD_CLICKED]: navigationHandler,
336
+ [TABLE_LIST_SCROLL_END_REACHED]: new ScrollEndReachedController().handle,
337
+ [FloatingPaginationConstants.SCROLL_UP_CLICKED]: args => {
338
+ const {
339
+ dispatch
340
+ } = args;
341
+ dispatch({
342
+ type: FLOAT_PAGINATION_BEHAVIOUR_TOP_UPDATED
343
+ });
344
+ },
345
+ [FloatingPaginationConstants.SCROLL_DOWN_CLICKED]: args => {
346
+ const {
347
+ dispatch
348
+ } = args;
349
+ dispatch({
350
+ type: FLOAT_PAGINATION_BEHAVIOUR_BOTTOM_UPDATED
351
+ });
352
+ },
332
353
  [`${name}#${LifeCycleEvents.STATE_UPDATED}`]: addMetrics,
333
354
  [RESIZE_FINISHED]: new ResizeFinishController().handle,
334
355
  [TABLE_LIST_RESIZE_START_REQUESTED]: new ResizeStartController().handle,
@@ -426,7 +447,8 @@ function createMergedHandler(eventHandlersList, eventName) {
426
447
  if (typeof handler === 'function') {
427
448
  try {
428
449
  handler(...arguments);
429
- } catch {// Silently ignore errors
450
+ } catch (error) {
451
+ __DEVELOPMENT__ && console.error(error);
430
452
  }
431
453
  }
432
454
  }
@@ -42,6 +42,7 @@ import { SmartTableEventsContracts } from "../../../../cc/table-connected";
42
42
  import ClientScriptsBehaviourFactory from "../../../client-scripts/behaviour/zclient-scripts-fetch/frameworks/ClientScriptsBehaviourFactory";
43
43
  import AppContextBehaviourFactory from "../../../app-context-behaviour/frameworks/AppContextBehaviourFactory";
44
44
  import ClipWrapBehaviourFactory from "../../../../library/behaviours/clip-wrap/frameworks/ui/ClipWrapBehaviourFactory";
45
+ import FloatPaginationBehaviourFactory from "../../../../library/behaviours/float-pagination/frameworks/ui/FloatPaginationBehaviourFactory";
45
46
  export default class TableConnectedFactory {
46
47
  static create(_ref) {
47
48
  let {
@@ -70,7 +71,7 @@ export default class TableConnectedFactory {
70
71
  }
71
72
 
72
73
  static getBehaviours(_dataSource) {
73
- return [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_TABLE, ResourceNamesEnum.CLIENT_ACTION]), TableColumnResizerBehaviorFactory.create(), KeyboardControlBehaviourFactory.create(), ClipWrapBehaviourFactory.create(), LocalStorageBehaviourFactory.create(), ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), ...TableConnectedFactory.getPlatformBehaviours(_dataSource), ColumnChooserBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()];
74
+ return [SdkBehaviourFactory.create([ResourceNamesEnum.SMART_TABLE, ResourceNamesEnum.CLIENT_ACTION]), TableColumnResizerBehaviorFactory.create(), KeyboardControlBehaviourFactory.create(), ClipWrapBehaviourFactory.create(), FloatPaginationBehaviourFactory.create(), LocalStorageBehaviourFactory.create(), ZHttpBehaviourFactory.create(), DataSourceBehaviourFactory.create(), ...TableConnectedFactory.getPlatformBehaviours(_dataSource), ColumnChooserBehaviourFactory.create(), ListItemSelectionBehaviourFactory.create()];
74
75
  }
75
76
 
76
77
  static getPlatformBehaviours(_dataSource) {
@@ -18,6 +18,7 @@ function View(_ref, ref) {
18
18
  focussedRow,
19
19
  keyboardControlsConfig,
20
20
  textOverflowConfig,
21
+ floatPaginationConfig,
21
22
  reOrderConfig
22
23
  } = state.viewModel;
23
24
  const {
@@ -48,6 +49,7 @@ function View(_ref, ref) {
48
49
  selectionConfig: selectionConfig,
49
50
  keyboardControlsConfig: keyboardControlsConfig,
50
51
  textOverflowConfig: textOverflowConfig,
52
+ floatPaginationConfig: floatPaginationConfig,
51
53
  focussedRow: focussedRow
52
54
  });
53
55
  }
@@ -4,6 +4,12 @@ const fetchLookupFields = {
4
4
  parameters: `{}`,
5
5
  type: 'GET',
6
6
  transformer: data => data,
7
+ getResponse: async _ref => {
8
+ let {
9
+ params,
10
+ payload
11
+ } = _ref;
12
+ },
7
13
  properties: {
8
14
  layoutId: {
9
15
  required: true,
@@ -9,7 +9,7 @@ let getComponentMapping = {
9
9
  payload,
10
10
  headers
11
11
  } = _ref;
12
- return {};
12
+ return [];
13
13
  },
14
14
  transformer: res => res,
15
15
  properties: {}