@zohodesk/library-platform 1.1.2 → 1.1.3-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 (235) hide show
  1. package/es/bc/column-chooser/Constants.js +4 -0
  2. package/es/bc/column-chooser/EventHandlers.js +2 -0
  3. package/es/bc/column-chooser/Events.js +59 -0
  4. package/es/bc/column-chooser/Properties.js +18 -0
  5. package/es/bc/keyboard-controls/Constants.js +5 -0
  6. package/es/bc/keyboard-controls/Events.js +51 -0
  7. package/es/bc/keyboard-controls/Properties.js +11 -0
  8. package/es/bc/keyboard-controls/types/KeyboardControlBehaviourState.js +1 -0
  9. package/es/bc/sdk/EventHandlers.js +1 -0
  10. package/es/bc/sdk/Properties.js +10 -0
  11. package/es/bc/sdk/ResourceNamesEnum.js +6 -0
  12. package/es/bc/zlist/Properties.js +15 -0
  13. package/es/cc/action-location/Constants.js +5 -3
  14. package/es/cc/architecture/LifeCycleActionEnum.js +2 -8
  15. package/es/cc/component/LifeCycleEventsEnum.js +9 -0
  16. package/es/cc/fields/field/Properties.js +10 -1
  17. package/es/cc/fields/index.js +1 -1
  18. package/es/cc/table-column-chooser/Constants.js +6 -0
  19. package/es/cc/table-column-chooser/Events.js +69 -0
  20. package/es/cc/table-column-chooser/Properties.js +122 -0
  21. package/es/cc/table-column-chooser/index.js +3 -0
  22. package/es/cc/table-connected/Properties.js +16 -0
  23. package/es/cc/table-connected/constants/Events.js +4 -1
  24. package/es/cc/table-list/Properties.js +27 -1
  25. package/es/cc/table-list/data-types/KeyboardControlsConfig.js +1 -0
  26. package/es/cc/table-list/row/Properties.js +18 -0
  27. package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserOpenedController.js +36 -0
  28. package/es/desk-frameworks/table-connected/adapters/controllers/ColumnChooserUpdateController.js +25 -0
  29. package/es/desk-frameworks/table-connected/frameworks/EventHandlersFactory.js +18 -7
  30. package/es/desk-frameworks/table-connected/frameworks/ListSdkFactory.js +15 -130
  31. package/es/desk-frameworks/table-connected/frameworks/TableConnectedFactory.js +13 -2
  32. package/es/desk-frameworks/table-connected/frameworks/TableConnectedView.js +9 -6
  33. package/es/desk-frameworks/table-connected/frameworks/resources/ISmartTableResource.js +1 -0
  34. package/es/desk-frameworks/table-connected/frameworks/resources/SmartTableResource.js +233 -0
  35. package/es/index.js +3 -1
  36. package/es/library/behaviours/keyboard-controls/adapters/controllers/AbstractController.js +9 -0
  37. package/es/library/behaviours/keyboard-controls/adapters/controllers/DestructController.js +20 -0
  38. package/es/library/behaviours/keyboard-controls/adapters/controllers/DownArrowPressController.js +20 -0
  39. package/es/library/behaviours/keyboard-controls/adapters/controllers/EnterPressController.js +24 -0
  40. package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusNextController.js +20 -0
  41. package/es/library/behaviours/keyboard-controls/adapters/controllers/FocusPreviousController.js +20 -0
  42. package/es/library/behaviours/keyboard-controls/adapters/controllers/InitializeController.js +20 -0
  43. package/es/library/behaviours/keyboard-controls/adapters/controllers/SpacePressController.js +24 -0
  44. package/es/library/behaviours/keyboard-controls/adapters/controllers/UpArrowPressController.js +20 -0
  45. package/es/library/behaviours/keyboard-controls/adapters/gateways/KeyboardHandler.js +81 -0
  46. package/es/library/behaviours/keyboard-controls/adapters/gateways/Repository.js +47 -0
  47. package/es/library/behaviours/keyboard-controls/adapters/gateways/Service.js +40 -0
  48. package/es/library/behaviours/keyboard-controls/adapters/presenters/Presenter.js +39 -0
  49. package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCase.js +0 -0
  50. package/es/library/behaviours/keyboard-controls/applications/interfaces/UseCaseDependencies.js +1 -0
  51. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IKeyboardHandler.js +1 -0
  52. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IRepository.js +1 -0
  53. package/es/library/behaviours/keyboard-controls/applications/interfaces/gateways/IService.js +1 -0
  54. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DestructInputModel.js +1 -0
  55. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/DownArrowPressInputModel.js +1 -0
  56. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/EnterPressInputModel.js +1 -0
  57. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusNextInputModel.js +1 -0
  58. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/FocusPreviousInputModel.js +1 -0
  59. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/InitializeInputModel.js +1 -0
  60. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/RowActionInputModel.js +1 -0
  61. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SelectionInputModel.js +1 -0
  62. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/SpacePressInputModel.js +1 -0
  63. package/es/library/behaviours/keyboard-controls/applications/interfaces/input/UpArrowPressInputModel.js +1 -0
  64. package/es/library/behaviours/keyboard-controls/applications/interfaces/output/IPresenter.js +1 -0
  65. package/es/library/behaviours/keyboard-controls/applications/interfaces/output/OutputModel.js +1 -0
  66. package/es/library/behaviours/keyboard-controls/applications/usecases/AbstractUseCase.js +19 -0
  67. package/es/library/behaviours/keyboard-controls/applications/usecases/DestructUsecase.js +20 -0
  68. package/es/library/behaviours/keyboard-controls/applications/usecases/DownArrowPress.js +16 -0
  69. package/es/library/behaviours/keyboard-controls/applications/usecases/EnterPress.js +19 -0
  70. package/es/library/behaviours/keyboard-controls/applications/usecases/FocusNextUsecase.js +16 -0
  71. package/es/library/behaviours/keyboard-controls/applications/usecases/FocusPreviousUsecase.js +16 -0
  72. package/es/library/behaviours/keyboard-controls/applications/usecases/InitializeUsecase.js +20 -0
  73. package/es/library/behaviours/keyboard-controls/applications/usecases/SpacePress.js +19 -0
  74. package/es/library/behaviours/keyboard-controls/applications/usecases/UpArrowPress.js +16 -0
  75. package/es/library/behaviours/keyboard-controls/domain/entities/KeyboardControls.js +87 -0
  76. package/es/library/behaviours/keyboard-controls/domain/entities/interface/IKeyboardControls.js +1 -0
  77. package/es/library/behaviours/keyboard-controls/domain/entities/interface/KeyboardControlModel.js +1 -0
  78. package/es/library/behaviours/keyboard-controls/frameworks/EventHandlerFactory.js +48 -0
  79. package/es/library/behaviours/keyboard-controls/frameworks/KeyboardControlBehaviourFactory.js +23 -0
  80. package/es/library/behaviours/list-selection/frameworks/ActionHandlerFactory.js +4 -3
  81. package/es/library/custom-component/applications/entities-factory/BehavioursFactory.js +18 -16
  82. package/es/library/custom-component/applications/usecases/UpdatePropertyUseCase.js +3 -0
  83. package/es/library/custom-component/applications/usecases/UpdateStateUseCase.js +5 -1
  84. package/es/library/custom-component/domain/entities/Component.js +4 -0
  85. package/es/library/custom-component/domain/entities/LifeCycleAction.js +14 -3
  86. package/es/library/custom-component/frameworks/ui/ComponentRegistry.js +8 -0
  87. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +4 -0
  88. package/es/library/dot/components/action-location/frameworks/ui/EventHandlersFactory.js +1 -1
  89. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowClickController.js +36 -0
  90. package/es/library/dot/components/table-list/adapters/controllers/KeyboardRowSelectController.js +31 -0
  91. package/es/library/dot/components/table-list/adapters/controllers/index.js +3 -1
  92. package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +5 -3
  93. package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +4 -1
  94. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +10 -3
  95. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +3 -0
  96. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Header.js +9 -10
  97. package/es/library/dot/components/table-list/frameworks/ui/sub-components/Rows.js +7 -3
  98. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +7 -2
  99. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/MassAction.js +28 -0
  100. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +5 -0
  101. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowData.js +7 -2
  102. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/RowSelection.js +1 -0
  103. package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooser.js +11 -0
  104. package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/TableColumnChooserView.js +79 -0
  105. package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +8 -4
  106. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +6 -8
  107. package/es/platform/client-actions/components/action-event-mediator/frameworks/ui/EventHandlersFactory.js +4 -3
  108. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +0 -6
  109. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRendererView.js +1 -1
  110. package/es/platform/column-chooser/adapters/controllers/AbstractController.js +10 -0
  111. package/es/platform/column-chooser/adapters/controllers/ColumnChooserCloseController.js +21 -0
  112. package/es/platform/column-chooser/adapters/controllers/ColumnChooserOpenController.js +26 -0
  113. package/es/platform/column-chooser/adapters/controllers/ColumnChooserReorderController.js +26 -0
  114. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSaveController.js +21 -0
  115. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSearchController.js +24 -0
  116. package/es/platform/column-chooser/adapters/controllers/ColumnChooserSelectController.js +26 -0
  117. package/es/platform/column-chooser/adapters/gateways/Repository.js +38 -0
  118. package/es/platform/column-chooser/adapters/gateways/Service.js +34 -0
  119. package/es/platform/column-chooser/adapters/gateways/State.js +1 -0
  120. package/es/platform/column-chooser/adapters/presenters/Presenter.js +25 -0
  121. package/es/platform/column-chooser/applications/interfaces/UsecaseDependencies.js +1 -0
  122. package/es/platform/column-chooser/applications/interfaces/gateways/IRepository.js +1 -0
  123. package/es/platform/column-chooser/applications/interfaces/gateways/IService.js +1 -0
  124. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserCloseInput.js +1 -0
  125. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserOpenInput.js +1 -0
  126. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserReorderInput.js +1 -0
  127. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSaveInput.js +1 -0
  128. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSearchInput.js +1 -0
  129. package/es/platform/column-chooser/applications/interfaces/input/ColumnChooserSelectInput.js +1 -0
  130. package/es/platform/column-chooser/applications/interfaces/output/BehaviourState.js +1 -0
  131. package/es/platform/column-chooser/applications/interfaces/output/IPresenter.js +1 -0
  132. package/es/platform/column-chooser/applications/usecases/AbstractUseCase.js +18 -0
  133. package/es/platform/column-chooser/applications/usecases/ColumnChooserCloseUseCase.js +34 -0
  134. package/es/platform/column-chooser/applications/usecases/ColumnChooserOpenUseCase.js +20 -0
  135. package/es/platform/column-chooser/applications/usecases/ColumnChooserReorderUseCase.js +20 -0
  136. package/es/platform/column-chooser/applications/usecases/ColumnChooserSaveUseCase.js +31 -0
  137. package/es/platform/column-chooser/applications/usecases/ColumnChooserSearchUseCase.js +19 -0
  138. package/es/platform/column-chooser/applications/usecases/ColumnChooserSelectUseCase.js +26 -0
  139. package/es/platform/column-chooser/domain/entities/ColumnChooserImp.js +95 -0
  140. package/es/platform/column-chooser/domain/entities/ReorderEntityImp.js +35 -0
  141. package/es/platform/column-chooser/domain/entities/SearchEntityImp.js +28 -0
  142. package/es/platform/column-chooser/domain/entities/SelectEntityImp.js +58 -0
  143. package/es/platform/column-chooser/domain/entities/interfaces/ColumnChooser.js +1 -0
  144. package/es/platform/column-chooser/domain/entities/interfaces/ReorderEntity.js +1 -0
  145. package/es/platform/column-chooser/domain/entities/interfaces/SearchEntity.js +1 -0
  146. package/es/platform/column-chooser/domain/entities/interfaces/SelectEntity.js +1 -0
  147. package/es/platform/column-chooser/frameworks/ColumnChooserBehaviourFactory.js +19 -0
  148. package/es/platform/column-chooser/frameworks/EventHandlersFactory.js +30 -0
  149. package/es/platform/data-source/http-template/updateSelectedFields.js +28 -0
  150. package/es/platform/data-source/index.js +2 -0
  151. package/es/platform/sdk/adapters/gateways/Repository.js +31 -0
  152. package/es/platform/sdk/adapters/gateways/Service.js +27 -0
  153. package/es/platform/sdk/adapters/presenters/Presenter.js +16 -0
  154. package/es/platform/sdk/application/interfaces/UsecaseDependencies.js +1 -0
  155. package/es/platform/sdk/application/interfaces/gateways/IRepository.js +1 -0
  156. package/es/platform/sdk/application/interfaces/gateways/ISdkManager.js +1 -0
  157. package/es/platform/sdk/application/interfaces/gateways/IService.js +1 -0
  158. package/es/platform/sdk/application/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  159. package/es/platform/sdk/application/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  160. package/es/platform/sdk/application/interfaces/input/GetResourceInstanceUseCaseInputModel.js +1 -0
  161. package/es/platform/sdk/application/interfaces/input/RegisterResourceInputModel.js +1 -0
  162. package/es/platform/sdk/application/interfaces/input/SyncStateWithResourceInputModel.js +1 -0
  163. package/es/platform/sdk/application/interfaces/output/ISdkPresenter.js +3 -0
  164. package/es/platform/sdk/application/usecases/AbstractUseCase.js +16 -0
  165. package/es/platform/sdk/application/usecases/CreateResourceInstanceUseCase.js +16 -0
  166. package/es/platform/sdk/application/usecases/DestructResourceInstanceUseCase.js +16 -0
  167. package/es/platform/sdk/application/usecases/GetResourceInstanceUseCase.js +17 -0
  168. package/es/platform/sdk/application/usecases/RegisterResourceUseCase.js +16 -0
  169. package/es/platform/sdk/application/usecases/SyncStateWithResourceUseCase.js +25 -0
  170. package/es/platform/sdk/domain/entities/ResourceManager.js +95 -0
  171. package/es/platform/sdk/domain/entities/interfaces/IResourceManager.js +1 -0
  172. package/es/platform/sdk/domain/entities/interfaces/ResourceManagerRestoreModel.js +1 -0
  173. package/es/platform/sdk/domain/entities/interfaces/SdkResource.js +1 -0
  174. package/es/platform/sdk/domain/entities/interfaces/SdkResourceDependencies.js +1 -0
  175. package/es/platform/sdk/domain/entities/interfaces/StateInterface.js +1 -0
  176. package/es/platform/sdk/frameworks/AbstractResource.js +16 -0
  177. package/es/platform/sdk/frameworks/Sdk.js +11 -0
  178. package/es/platform/sdk/frameworks/SdkRegistry.js +72 -0
  179. package/es/platform/sdk-behaviour/adapters/controllers/AbstractController.js +11 -0
  180. package/es/platform/sdk-behaviour/adapters/controllers/DestructController.js +19 -0
  181. package/es/platform/sdk-behaviour/adapters/controllers/InitializeController.js +19 -0
  182. package/es/platform/sdk-behaviour/adapters/controllers/SyncStateWithResourceController.js +24 -0
  183. package/es/platform/sdk-behaviour/adapters/gateways/Repository.js +25 -0
  184. package/es/platform/sdk-behaviour/adapters/gateways/ResourceManagerGateWay.js +43 -0
  185. package/es/platform/sdk-behaviour/adapters/gateways/Service.js +19 -0
  186. package/es/platform/sdk-behaviour/applications/AbstractUseCase.js +6 -0
  187. package/es/platform/sdk-behaviour/applications/interfaces/UsecaseDependencies.js +1 -0
  188. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IRepository.js +1 -0
  189. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IResourceManagerGateWay.js +3 -0
  190. package/es/platform/sdk-behaviour/applications/interfaces/gateways/IService.js +1 -0
  191. package/es/platform/sdk-behaviour/applications/interfaces/input/CreateResourceInstanceUseCaseInputModel.js +1 -0
  192. package/es/platform/sdk-behaviour/applications/interfaces/input/DestructResourceInstanceUseCaseInputModel.js +1 -0
  193. package/es/platform/sdk-behaviour/applications/interfaces/input/SyncStateWithResourceUseCaseInputModel.js +1 -0
  194. package/es/platform/sdk-behaviour/applications/usecases/CreateResourceInstanceUseCase.js +14 -0
  195. package/es/platform/sdk-behaviour/applications/usecases/DestructResourceInstanceUseCase.js +14 -0
  196. package/es/platform/sdk-behaviour/applications/usecases/SyncStateWithResourceUseCase.js +22 -0
  197. package/es/platform/sdk-behaviour/domain/entities/BehaviourResourceConnector.js +49 -0
  198. package/es/platform/sdk-behaviour/domain/entities/interfaces/IBehaviourResourceConnector.js +1 -0
  199. package/es/platform/sdk-behaviour/domain/entities/interfaces/IResourceManagerProxy.js +2 -0
  200. package/es/platform/sdk-behaviour/frameworks/EventHandlerFactory.js +29 -0
  201. package/es/platform/sdk-behaviour/frameworks/SdkBehaviourFactory.js +16 -0
  202. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +3 -1
  203. package/es/platform/zfield/domain/entities/interfaces/FieldApiName.js +1 -0
  204. package/es/platform/zfield/frameworks/ZFieldBehaviourFactory.js +6 -1
  205. package/es/platform/zform/frameworks/ui/EventHandlerFactory.js +2 -2
  206. package/es/platform/zlist/adapters/gateways/Repository.js +4 -2
  207. package/es/platform/zlist/adapters/presenters/SelectionTranslator.js +94 -0
  208. package/es/platform/zlist/adapters/presenters/TableTranslator.js +35 -19
  209. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +63 -4
  210. package/es/platform/zlist/adapters/presenters/translators/Header.js +5 -2
  211. package/es/platform/zlist/adapters/presenters/translators/ResizerStateTranslator.js +7 -3
  212. package/es/platform/zlist/adapters/presenters/translators/Row.js +1 -1
  213. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +6 -6
  214. package/es/platform/zlist/adapters/presenters/translators/interfaces/State.js +2 -1
  215. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +78 -6
  216. package/es/platform/zlist/applications/entities-factory/ListFactory.js +3 -2
  217. package/es/platform/zlist/applications/interfaces/input/GetContextUseCaseInput.js +1 -0
  218. package/es/platform/zlist/applications/interfaces/input/UpdateMultipleRecordUseCaseInput.js +1 -0
  219. package/es/platform/zlist/applications/usecases/DeleteMultipleRecordUseCase.js +23 -2
  220. package/es/platform/zlist/applications/usecases/DeleteSingleRecordUseCase.js +9 -0
  221. package/es/platform/zlist/applications/usecases/FetchMoreUseCase.js +4 -1
  222. package/es/platform/zlist/applications/usecases/GetContextUseCase.js +18 -0
  223. package/es/platform/zlist/applications/usecases/RecordExecuteFailedUseCase.js +3 -1
  224. package/es/platform/zlist/applications/usecases/RecordUpdateUseCase.js +9 -0
  225. package/es/platform/zlist/applications/usecases/UpdateMultipleRecordUseCase.js +34 -0
  226. package/es/platform/zlist/domain/entities/List.js +26 -2
  227. package/es/platform/zlist/frameworks/EventHandlersFactory.js +3 -3
  228. package/es/platform/zrecord/applications/interfaces/input/GetMultipleRecordUsecaseInputModel.js +1 -0
  229. package/es/platform/zrecord/applications/interfaces/input/GetSingleRecordUseCaseInputModel.js +1 -0
  230. package/es/platform/zrecord/applications/usecases/GetMultipleRecordUseCase.js +16 -0
  231. package/es/platform/zrecord/applications/usecases/GetSingleRecordUseCase.js +17 -0
  232. package/es/platform/zrecord/domain/entities/Records.js +9 -4
  233. package/es/platform/zrecord/domain/entities/RecordsManager.js +8 -0
  234. package/package.json +10 -8
  235. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/SelectAll.js +0 -26
@@ -1,3 +1,5 @@
1
+ /* eslint-disable @zohodesk/architecturerules/define-property-schema */
2
+
1
3
  /* eslint-disable max-lines-per-function */
2
4
  import { Width as ColumnWidth } from "../../../../cc/table-list/data-types/Header";
3
5
  import HeadersTranslator from "./translators/HeadersTranslator";
@@ -8,6 +10,7 @@ import { TableListConstants } from "../../../../cc/table-list";
8
10
  import { ResizerStateTranslator } from "./translators/ResizerStateTranslator";
9
11
  import { calculateFieldWidths } from "./utils/calculateFieldWidths";
10
12
  import DefaultClientActions from "./utils/DefaultClientActions";
13
+ import SelectionTranslator from "./SelectionTranslator";
11
14
  const EMPTY_OBJECT = {};
12
15
  const EMPTY_ARRAY = [];
13
16
 
@@ -27,11 +30,13 @@ export default class TableTranslator {
27
30
  } = properties;
28
31
  const {
29
32
  localStorage: localStorageBehaviour,
30
- columnResizer
33
+ columnResizer,
34
+ keyboardControls
31
35
  } = behaviours;
32
36
  const {
33
37
  resizeConfig,
34
- preferences
38
+ preferences,
39
+ keyboardControlsConfig
35
40
  } = properties;
36
41
  context['servicePrefix'] = 'supportapi/zd'; // FIX: servicePrefix defaultValue should be available from properties
37
42
 
@@ -46,6 +51,10 @@ export default class TableTranslator {
46
51
  sortBy
47
52
  } = fallbackToDefault(zlist, {}); // FIX: zlist should be available by default
48
53
 
54
+ const {
55
+ focussedIndex
56
+ } = fallbackToDefault(keyboardControls, {}); // FIX: KeyboardControls should be available by default
57
+
49
58
  const {
50
59
  records,
51
60
  isFetching: isRecordsFetching
@@ -93,23 +102,30 @@ export default class TableTranslator {
93
102
  return {
94
103
  properties,
95
104
  behaviours,
96
- selection: behaviours === null || behaviours === void 0 ? void 0 : behaviours.selection,
97
- sortBy,
98
- rowCursor,
99
- resizerState: ResizerStateTranslator({
100
- columnResizer: columnResizer,
101
- resizeConfig: resizeConfig,
102
- headerNames: selectedFields,
103
- modifiedWidths
104
- }),
105
- rowActionsConfig: {
106
- hasActions: Boolean(rowActions === null || rowActions === void 0 ? void 0 : rowActions.length),
107
- // Boolean(newRowActions?.length),
108
- columnWidth: ColumnWidth.XSmall
109
- },
110
- isLoading,
111
- emptyStateUiType: componentMapping.emptyState || '',
112
- data
105
+ viewModel: {
106
+ selection: SelectionTranslator(state),
107
+ focussedRow: focussedIndex,
108
+ sortBy,
109
+ rowCursor,
110
+ resizerState: ResizerStateTranslator({
111
+ columnResizer: columnResizer,
112
+ resizeConfig: resizeConfig,
113
+ headerNames: selectedFields,
114
+ modifiedWidths
115
+ }),
116
+ rowActionsConfig: {
117
+ hasActions: Boolean(rowActions === null || rowActions === void 0 ? void 0 : rowActions.length),
118
+ // Boolean(newRowActions?.length),
119
+ columnWidth: ColumnWidth.XSmall
120
+ },
121
+ keyboardControlsConfig,
122
+ isLoading,
123
+ emptyStateUiType: componentMapping.emptyState || '',
124
+ data: fields.length ? data : {
125
+ headers: EMPTY_ARRAY,
126
+ rows: EMPTY_ARRAY
127
+ }
128
+ }
113
129
  };
114
130
  }
115
131
 
@@ -2,16 +2,38 @@ import EmptyViewModel from "./EmptyViewModel";
2
2
  import * as FieldTranslators from "./fields";
3
3
  import ClientActionsTranslator from "../../../../client-actions/translators/client-actions-translator";
4
4
 
5
- function ColumnTranslator(fieldModel, record, fieldComponentMapping, fieldActions) {
5
+ //hacking temp url construction for lookup
6
+ function getLookupUrlConstructions(_ref) {
7
+ var _field$lookup, _field$lookup$module;
8
+
9
+ let {
10
+ field,
11
+ value,
12
+ context
13
+ } = _ref;
14
+ let {
15
+ orgName,
16
+ departmentName
17
+ } = context;
18
+ let lookupModuleName = field === null || field === void 0 ? void 0 : (_field$lookup = field.lookup) === null || _field$lookup === void 0 ? void 0 : (_field$lookup$module = _field$lookup.module) === null || _field$lookup$module === void 0 ? void 0 : _field$lookup$module.apiName;
19
+ return `/agent/${orgName}/${departmentName}/${lookupModuleName}/details/${value.id}`;
20
+ }
21
+
22
+ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, context) {
6
23
  var _record$cf;
7
24
 
8
- const field = { ...fieldModel
9
- };
10
25
  const {
11
26
  isCustomField,
12
27
  name,
13
28
  type
14
29
  } = field;
30
+ let fieldToUiValue;
31
+ const fieldEntry = fieldComponentMapping[name];
32
+
33
+ if (typeof fieldEntry == 'string') {
34
+ console.warn(`The string format for componentMapping will soon be deprecated. Please update to the new JSON format. REF : ${JSON.stringify(fieldEntry)}`);
35
+ }
36
+
15
37
  const value = isCustomField ? (_record$cf = record.cf) === null || _record$cf === void 0 ? void 0 : _record$cf[name] : record[name];
16
38
  const actions = ClientActionsTranslator.transform(fieldActions, {
17
39
  field,
@@ -33,9 +55,46 @@ function ColumnTranslator(fieldModel, record, fieldComponentMapping, fieldAction
33
55
  return EmptyViewModel();
34
56
  }
35
57
 
58
+ if (field.type == "LookUp") {
59
+ value.url = getLookupUrlConstructions({
60
+ field,
61
+ value,
62
+ context
63
+ });
64
+ }
65
+
66
+ let finalValue = value;
67
+
68
+ if (fieldToUiValue !== undefined) {
69
+ finalValue = fieldToUiValue;
70
+ }
71
+
72
+ if (fieldEntry && typeof fieldEntry === 'object') {
73
+ let data = {
74
+ actions,
75
+ ...fieldTranslator(field, finalValue, {
76
+ recordId: record.id
77
+ })
78
+ };
79
+ data.value = fieldEntry.fieldToUIComponentTranslator({
80
+ field,
81
+ record,
82
+ context
83
+ });
84
+ data.type = fieldEntry.UIComponentName;
85
+ console.log(data, "====>>> custom field modal");
86
+ return data;
87
+ }
88
+
89
+ console.log({
90
+ actions,
91
+ ...fieldTranslator(field, finalValue, {
92
+ recordId: record.id
93
+ })
94
+ }, "====>>> normal pre-defined field modal");
36
95
  return {
37
96
  actions,
38
- ...fieldTranslator(field, value, {
97
+ ...fieldTranslator(field, finalValue, {
39
98
  recordId: record.id
40
99
  })
41
100
  };
@@ -1,6 +1,7 @@
1
1
  import ColumnAlignmentTranslator from "./ColumnAlignmentTranslator";
2
2
  import ClientActionsTranslator from "../../../../client-actions/translators/client-actions-translator";
3
3
  import { SortOrder } from "../../../../zlist/domain/entities/interfaces/Properties";
4
+ import { i18NProviderUtils } from '@zohodesk/i18n';
4
5
 
5
6
  function HeaderTranslator(field, actions, context, modifiedWidths, sortBy) {
6
7
  const {
@@ -37,9 +38,11 @@ function translateSortBy(id, sortBy) {
37
38
 
38
39
  if (sortBy.id === id) {
39
40
  if (sortBy.order === SortOrder.ASC) {
40
- newSortBy.tooltip = 'Click to Sort Descending';
41
+ // newSortBy.tooltip = 'Click to Sort Descending';
42
+ newSortBy.tooltip = i18NProviderUtils.getI18NValue("support.localization.tooltip.descending");
41
43
  } else if (newSortBy.order === SortOrder.DES) {
42
- newSortBy.tooltip = 'Click to Sort Ascending';
44
+ // newSortBy.tooltip = 'Click to Sort Ascending';
45
+ newSortBy.tooltip = i18NProviderUtils.getI18NValue("support.localization.tooltip.ascending");
43
46
  } else if (newSortBy.order === SortOrder.NONE) {
44
47
  newSortBy.tooltip = 'Click to Sort';
45
48
  }
@@ -1,3 +1,4 @@
1
+ import { i18NProviderUtils } from '@zohodesk/i18n';
1
2
  const defaultResizerUiState = {
2
3
  isEnabled: false,
3
4
  isCurrentlyResizing: false,
@@ -66,16 +67,19 @@ function tooltipI18nHandler(_ref2) {
66
67
 
67
68
  if (width === maxWidth) {
68
69
  // return `Max width (${width}px) reached`;
69
- return `Max Limit Reached ${width}`;
70
+ let i18nMax = i18NProviderUtils.getI18NValue('support.ticket.list.table.max.width', width);
71
+ return i18nMax;
70
72
  }
71
73
 
72
74
  if (width === minWidth) {
73
75
  // return `Min width (${width}px) reached`;
74
- return `Min Limit Reached ${width}`;
76
+ let i18nMin = i18NProviderUtils.getI18NValue('support.ticket.list.table.min.width', width);
77
+ return i18nMin;
75
78
  } // return `Width: ${width}px`;
76
79
 
77
80
 
78
- return `Width - ${width}px`;
81
+ let i18nWid = i18NProviderUtils.getI18NValue('support.ticket.list.table.width', width);
82
+ return i18nWid;
79
83
  }
80
84
 
81
85
  function calculateExtraSpaceWidth(_ref3) {
@@ -15,7 +15,7 @@ export default function RowTranslator(_ref) {
15
15
  });
16
16
  return {
17
17
  id: record.id,
18
- columns: fields.map(field => ColumnTranslator(field, record, fieldComponentMapping, fieldActions)),
18
+ columns: fields.map(field => ColumnTranslator(field, record, fieldComponentMapping, fieldActions, context)),
19
19
  rowActionLocation: {
20
20
  type: rowActionsUiType,
21
21
  actions
@@ -8,19 +8,19 @@ const LookUpFieldTranslator = (field, value, appendToActionPayload) => {
8
8
  } = field;
9
9
  const {
10
10
  id,
11
- firstName,
12
- lastName,
13
- photoURL = ''
11
+ name: nameValue,
12
+ photoURL,
13
+ url
14
14
  } = value;
15
- const lookupName = `${firstName} ${lastName}`;
16
15
  return LookupFieldModel({
17
16
  uiType: uiType || FieldTypes.LookUpField,
18
17
  appendToActionPayload,
19
18
  name,
20
19
  value: {
21
20
  id,
22
- name: lookupName,
23
- photoURL
21
+ name: nameValue,
22
+ photoURL,
23
+ url
24
24
  }
25
25
  });
26
26
  };
@@ -1 +1,2 @@
1
- export {};
1
+ import { BehaviourState as ColumnChooserBehaviourState } from "../../../../../column-chooser/applications/interfaces/output/BehaviourState";
2
+ export { ColumnChooserBehaviourState };
@@ -1,8 +1,18 @@
1
+ /* eslint-disable max-lines-per-function */
1
2
  import ClientAction from "../../../../client-actions/behaviour/zclient-actions/domain/entities/ClientAction";
3
+ import { TableListConstants } from "../../../../../cc/table-list";
4
+ import { CheckboxConstants } from "../../../../../cc/checkbox";
5
+ const CHECKBOX_TOGGLED = CheckboxConstants.CHECKBOX_TOGGLED;
6
+ const TABLE_LIST_TOGGLE_ALL_SELECTION = TableListConstants.TABLE_LIST_TOGGLE_ALL_SELECTION;
2
7
 
3
8
  class DefaultClientActions {
4
9
  static constructAction(clientAction) {
5
- return new ClientAction(clientAction).toObject();
10
+ return new ClientAction({ ...clientAction,
11
+ modules: ['MODULE'],
12
+ component: 'SmartTable',
13
+ modifiedTime: '2024-11-21T06:11:59.000Z',
14
+ createdTime: '2024-11-21T06:11:59.000Z'
15
+ }).toObject();
6
16
  }
7
17
 
8
18
  static constructSortAction() {
@@ -37,16 +47,78 @@ class DefaultClientActions {
37
47
  },
38
48
  location: 'header_actions',
39
49
  id: '4000000080009',
40
- modules: ['MODULE'],
41
- name: 'SortBy Action',
42
- component: 'SmartTable',
43
- modifiedTime: '2024-11-21T06:11:59.000Z',
44
- createdTime: '2024-11-21T06:11:59.000Z'
50
+ name: 'SortBy Action'
45
51
  });
46
52
  }
47
53
 
48
54
  static createSortActions(fields, clientActions) {
49
55
  return [...clientActions, this.constructSortAction()];
56
+ } // TODO: maxLimit: 15,
57
+ // TODO: saveLabel: 'Save',
58
+ // TODO: cancelLabel: 'Cancel',
59
+ // TODO: searchPlaceholder: 'Search',
60
+ // TODO: iconTooltip: 'Column Chooser',
61
+ // TODO: heading: 'Select & Reorder Column',
62
+ // TODO: infoText: 'Info Content',
63
+ // TODO: emptySearchMessage: 'No Results',
64
+ // TODO: maxLimitMessage: "You've reached the limit of 15 columns."
65
+
66
+
67
+ static createColumnChooserAction(_ref) {
68
+ let {
69
+ options,
70
+ searchString,
71
+ hasSearch,
72
+ errorMessage
73
+ } = _ref;
74
+ return this.constructAction({
75
+ uiComponentMapping: {
76
+ component: 'TableColumnChooser',
77
+ name: 'ColumnChooser',
78
+ propertiesValueMapping: {
79
+ options,
80
+ searchString,
81
+ hasSearch,
82
+ errorMessage
83
+ },
84
+ eventMappings: [],
85
+ id: '4000000080013'
86
+ },
87
+ conditions: {
88
+ fields: [],
89
+ pattern: '1'
90
+ },
91
+ location: 'non_field_header_actions',
92
+ id: '4000000080019',
93
+ name: 'ColumnChooser Action'
94
+ });
95
+ }
96
+
97
+ static createSelectAllAction() {
98
+ let isChecked = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
99
+ return this.constructAction({
100
+ uiComponentMapping: {
101
+ component: 'TableSelectAll',
102
+ name: 'SelectAll',
103
+ propertiesValueMapping: {
104
+ checked: isChecked
105
+ },
106
+ eventMappings: [{
107
+ payloadValueMapping: {},
108
+ sourceEvent: CHECKBOX_TOGGLED,
109
+ targetEvent: TABLE_LIST_TOGGLE_ALL_SELECTION,
110
+ id: '4000000080025'
111
+ }],
112
+ id: '4000000080023'
113
+ },
114
+ conditions: {
115
+ fields: [],
116
+ pattern: '1'
117
+ },
118
+ location: 'non_field_header_actions',
119
+ id: '4000000080029',
120
+ name: 'SelectAll Action'
121
+ });
50
122
  }
51
123
 
52
124
  }
@@ -6,9 +6,10 @@ class ListFactory {
6
6
  limit,
7
7
  sortBy,
8
8
  query,
9
- context
9
+ context,
10
+ errorRecordFailed
10
11
  } = input;
11
- return new List(limit, sortBy, query, context);
12
+ return new List(limit, sortBy, query, context, errorRecordFailed);
12
13
  }
13
14
 
14
15
  }
@@ -1,7 +1,10 @@
1
+ import { RECORD_LOCAL_MULTIPLE_DELETE } from "../../../../bc/zrecord/Constants";
1
2
  import AbstractUseCase from "./AbstractUseCase";
2
3
 
3
4
  class DeleteMultipleRecordUseCase extends AbstractUseCase {
4
5
  execute(input) {
6
+ var _input$callback;
7
+
5
8
  const {
6
9
  dispatch,
7
10
  recordIds
@@ -10,8 +13,26 @@ class DeleteMultipleRecordUseCase extends AbstractUseCase {
10
13
  repository
11
14
  } = this.dependencies;
12
15
  const list = repository.getList();
13
- const action = list.getDeleteMultipleRecordAction(recordIds);
14
- dispatch(action);
16
+
17
+ if (input.shouldFetch) {
18
+ const action = list.getDeleteMultipleRecordAction(recordIds);
19
+ dispatch(action);
20
+ } else {
21
+ dispatch({
22
+ type: RECORD_LOCAL_MULTIPLE_DELETE,
23
+ payload: {
24
+ recordIds
25
+ }
26
+ });
27
+ }
28
+
29
+ (_input$callback = input.callback) === null || _input$callback === void 0 ? void 0 : _input$callback.call(input, {
30
+ data: recordIds.map(id => ({
31
+ id,
32
+ Success: true,
33
+ error: null
34
+ }))
35
+ });
15
36
  }
16
37
 
17
38
  }
@@ -2,6 +2,8 @@ import AbstractUseCase from "./AbstractUseCase";
2
2
 
3
3
  class DeleteSingleRecordUseCase extends AbstractUseCase {
4
4
  execute(input) {
5
+ var _input$callback;
6
+
5
7
  const {
6
8
  dispatch,
7
9
  recordId
@@ -12,6 +14,13 @@ class DeleteSingleRecordUseCase extends AbstractUseCase {
12
14
  const list = repository.getList();
13
15
  const action = list.getDeleteSingleRecordAction(recordId);
14
16
  dispatch(action);
17
+ (_input$callback = input.callback) === null || _input$callback === void 0 ? void 0 : _input$callback.call(input, {
18
+ data: [{
19
+ id: recordId,
20
+ Success: true,
21
+ error: null
22
+ }]
23
+ });
15
24
  }
16
25
 
17
26
  }
@@ -9,7 +9,10 @@ class FetchMoreUseCase extends AbstractUseCase {
9
9
  repository
10
10
  } = this.dependencies;
11
11
  const list = repository.getList();
12
- dispatch(list.createMoreRecordFetchAction());
12
+
13
+ if (!list.getErrorRecordFailed()) {
14
+ dispatch(list.createMoreRecordFetchAction());
15
+ }
13
16
  }
14
17
 
15
18
  }
@@ -0,0 +1,18 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+
3
+ class GetContextUseCase extends AbstractUseCase {
4
+ execute(input) {
5
+ const {
6
+ variableName,
7
+ callback
8
+ } = input;
9
+ const {
10
+ repository
11
+ } = this.dependencies;
12
+ const list = repository.getList();
13
+ callback === null || callback === void 0 ? void 0 : callback(list.getContext(variableName));
14
+ }
15
+
16
+ }
17
+
18
+ export default GetContextUseCase;
@@ -8,10 +8,12 @@ class RecordExecuteFailedUseCase extends AbstractUseCase {
8
8
  payload
9
9
  } = input;
10
10
  const {
11
- repository
11
+ repository,
12
+ presenter
12
13
  } = this.dependencies;
13
14
  const list = repository.getList();
14
15
  const actions = list.getRecordExecuteFailedActions(payload, metaData);
16
+ presenter.updateView(list.toObject());
15
17
  actions.forEach(action => {
16
18
  dispatch(action);
17
19
  });
@@ -2,6 +2,8 @@ import AbstractUseCase from "./AbstractUseCase";
2
2
 
3
3
  class RecordUpdateUseCase extends AbstractUseCase {
4
4
  execute(input) {
5
+ var _input$callback;
6
+
5
7
  const {
6
8
  dispatch,
7
9
  recordId,
@@ -13,6 +15,13 @@ class RecordUpdateUseCase extends AbstractUseCase {
13
15
  const list = repository.getList();
14
16
  const action = list.getUpdateRecordFetchActions(recordId, record);
15
17
  dispatch(action);
18
+ (_input$callback = input.callback) === null || _input$callback === void 0 ? void 0 : _input$callback.call(input, {
19
+ data: [{
20
+ id: recordId,
21
+ Success: true,
22
+ error: null
23
+ }]
24
+ });
16
25
  }
17
26
 
18
27
  }
@@ -0,0 +1,34 @@
1
+ import { RECORD_LOCAL_UPDATE } from "../../../../bc/zrecord/Constants";
2
+ import AbstractUseCase from "./AbstractUseCase";
3
+ import { ZLIST_RECORD_UPDATE } from "../../../../bc/zlist/Constants";
4
+
5
+ class UpdateMultipleRecordUseCase extends AbstractUseCase {
6
+ execute(input) {
7
+ var _input$callback;
8
+
9
+ const {
10
+ dispatch,
11
+ recordsMap,
12
+ shouldFetch
13
+ } = input;
14
+ recordsMap.forEach(record => {
15
+ dispatch({
16
+ type: shouldFetch ? ZLIST_RECORD_UPDATE : RECORD_LOCAL_UPDATE,
17
+ payload: {
18
+ recordId: record.id,
19
+ record: record
20
+ }
21
+ });
22
+ });
23
+ (_input$callback = input.callback) === null || _input$callback === void 0 ? void 0 : _input$callback.call(input, {
24
+ results: recordsMap.map(record => ({
25
+ id: record.id,
26
+ Success: true,
27
+ error: null
28
+ }))
29
+ });
30
+ }
31
+
32
+ }
33
+
34
+ export default UpdateMultipleRecordUseCase;
@@ -6,16 +6,18 @@ import { SmartTableConstants } from "../../../../cc/table-connected";
6
6
  import SortBy from "./SortBy";
7
7
 
8
8
  class List {
9
- constructor(limit, sortBy, query, context) {
9
+ constructor(limit, sortBy, query, context, errorRecordFailed) {
10
10
  this.limit = limit;
11
11
  this.sortBy = sortBy;
12
12
  this.query = query;
13
13
  this.context = context;
14
+ this.errorRecordFailed = errorRecordFailed;
14
15
  }
15
16
 
16
17
  toObject() {
17
18
  return {
18
- sortBy: this.sortBy.toObject()
19
+ sortBy: this.sortBy.toObject(),
20
+ errorRecordFailed: this.errorRecordFailed
19
21
  };
20
22
  }
21
23
 
@@ -35,6 +37,18 @@ class List {
35
37
  return metaData && metaData['SMART_TABLE#SORTED'];
36
38
  }
37
39
 
40
+ getContext(variableName) {
41
+ const context = this.context;
42
+ const query = this.query;
43
+ const computedContext = { ...context,
44
+ departmentId: query.departmentId,
45
+ viewId: query.viewId,
46
+ moduleName: query.moduleName
47
+ };
48
+ delete computedContext['servicePrefix'];
49
+ return variableName ? computedContext === null || computedContext === void 0 ? void 0 : computedContext[variableName] : computedContext;
50
+ }
51
+
38
52
  createApiProps() {
39
53
  const {
40
54
  query,
@@ -207,12 +221,22 @@ class List {
207
221
  return actions;
208
222
  }
209
223
 
224
+ getErrorRecordFailed() {
225
+ return this.errorRecordFailed;
226
+ }
227
+
210
228
  getRecordExecuteFailedActions(payload, metaData) {
211
229
  const {
212
230
  actionName
213
231
  } = metaData;
214
232
  const actions = [];
215
233
 
234
+ if (actionName === RecordApiActionName.GET_RECORDS) {
235
+ if (metaData.isAppend) {
236
+ this.errorRecordFailed = true;
237
+ }
238
+ }
239
+
216
240
  if (actionName === RecordApiActionName.DELETE_RECORD) {
217
241
  const {
218
242
  recordId,
@@ -8,7 +8,7 @@ import { ZLIST_DELETE_RECORD, ZLIST_DELETE_RECORDS, ZLIST_FETCH_MORE, ZLIST_RECO
8
8
  import FetchMoreController from "../adapters/controllers/FetchMoreController";
9
9
  import SortController from "../adapters/controllers/SortController";
10
10
  import FieldChangeController from "../adapters/controllers/FieldChangeController";
11
- import LifeCycleAction from "../../../cc/architecture/LifeCycleActionEnum";
11
+ import LifeCycleEvents from "../../../cc/component/LifeCycleEventsEnum";
12
12
  import SortBy from "../adapters/gateways/SortBy";
13
13
  import DeleteMultipleRecordController from "../adapters/controllers/DeleteMultipleRecordController";
14
14
  import RecordUpdateController from "../adapters/controllers/RecordUpdateController";
@@ -31,8 +31,8 @@ export default class ActionHandlersFactory {
31
31
  presenter
32
32
  });
33
33
  return {
34
- [LifeCycleAction.MOUNT]: new MountController(service).handle,
35
- [LifeCycleAction.UPDATE_PROPERTIES]: new PropertiesChangeController(service).handle,
34
+ [LifeCycleEvents.MOUNT]: new MountController(service).handle,
35
+ [LifeCycleEvents.UPDATE_PROPERTIES]: new PropertiesChangeController(service).handle,
36
36
  [ZLIST_FETCH_MORE]: new FetchMoreController(service).handle,
37
37
  [ZLIST_RECORD_UPDATE]: new RecordUpdateController(service).handle,
38
38
  [ZLIST_DELETE_RECORD]: new DeleteSingleRecordController(service).handle,
@@ -0,0 +1,16 @@
1
+ import AbstractUseCase from "./AbstractUseCase";
2
+ // GetSingleRecordUseCase
3
+ export default class GetMultipleRecordUseCase extends AbstractUseCase {
4
+ execute(_ref) {
5
+ let {
6
+ callback
7
+ } = _ref;
8
+ const {
9
+ repository
10
+ } = this.dependencies;
11
+ const recordManager = repository.getRecordsManagerEntity();
12
+ const records = recordManager.getRecords();
13
+ callback === null || callback === void 0 ? void 0 : callback(records);
14
+ }
15
+
16
+ }