@zohodesk/library-platform 1.0.2-exp.1.1 → 1.0.2-exp.1.2

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 (78) hide show
  1. package/es/bc/zlist/Constants.js +1 -0
  2. package/es/cc/action-icon/Properties.js +6 -46
  3. package/es/cc/component/properties/slotName.js +1 -0
  4. package/es/cc/fields/coloured-multi-select/Events.js +3 -0
  5. package/es/cc/fields/coloured-multi-select/Model.js +18 -0
  6. package/es/cc/fields/coloured-multi-select/Properties.js +37 -0
  7. package/es/cc/fields/coloured-pick-list/Events.js +3 -0
  8. package/es/cc/fields/coloured-pick-list/Model.js +16 -0
  9. package/es/cc/fields/coloured-pick-list/Properties.js +37 -0
  10. package/es/cc/fields/field/Types.js +2 -0
  11. package/es/cc/fields/index.js +2 -0
  12. package/es/cc/fields/multi-select/Model.js +2 -0
  13. package/es/cc/fields/multi-select/Properties.js +2 -4
  14. package/es/cc/fields/pick-list/Model.js +1 -3
  15. package/es/cc/fields/pick-list/Properties.js +1 -3
  16. package/es/cc/table-column-sort/Constants.js +1 -0
  17. package/es/cc/table-column-sort/Properties.js +30 -0
  18. package/es/cc/table-column-sort/index.js +3 -0
  19. package/es/cc/table-connected/constants/Events.js +2 -0
  20. package/es/cc/table-list/Properties.js +38 -27
  21. package/es/desk-frameworks/table-connected/frameworks/EventHandlersFactory.js +17 -6
  22. package/es/desk-frameworks/table-connected/frameworks/TableConnectedView.js +2 -0
  23. package/es/library/behaviours/table-column-resizer/domain/entities/Constants.js +1 -1
  24. package/es/library/custom-component/frameworks/ui/CreateCustomComponent.js +28 -6
  25. package/es/library/custom-component/frameworks/ui/CreateSlotComponent.js +77 -22
  26. package/es/library/dot/components/action-location/frameworks/ui/ActionComponentMapping.js +4 -4
  27. package/es/library/dot/components/table-list/adapters/presenters/TableTranslator.js +4 -9
  28. package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +1 -3
  29. package/es/library/dot/components/table-list/frameworks/ui/TableList.js +1 -2
  30. package/es/library/dot/components/table-list/frameworks/ui/TableListView.js +6 -2
  31. package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +3 -0
  32. package/es/library/dot/components/table-list/frameworks/ui/sub-components/ErrorState.js +28 -0
  33. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderData.js +3 -10
  34. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/Headers.js +1 -3
  35. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIcon.js +4 -20
  36. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/ActionIconView.js +4 -84
  37. package/es/library/dot/legacy-to-new-arch/table-column-sort/frameworks/ui/TableColumnSort.js +11 -0
  38. package/es/library/dot/legacy-to-new-arch/table-column-sort/frameworks/ui/TableColumnSortView.js +44 -0
  39. package/es/library/dot/legacy-to-new-arch/table-column-sort/frameworks/ui/css/TableColumnSort.module.css +10 -0
  40. package/es/library/dot/legacy-to-new-arch/table-field-components/coloured-multiselect-field/frameworks/ui/ColouredMultiSelectField.js +12 -0
  41. package/es/library/dot/legacy-to-new-arch/table-field-components/coloured-multiselect-field/frameworks/ui/ColouredMultiSelectFieldView.js +23 -0
  42. package/es/library/dot/legacy-to-new-arch/table-field-components/coloured-picklist-field/frameworks/ui/ColouredPickListField.js +14 -0
  43. package/es/library/dot/legacy-to-new-arch/table-field-components/coloured-picklist-field/frameworks/ui/ColouredPickListFieldView.js +33 -0
  44. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +4 -0
  45. package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActionsRenderer.module.css +2 -2
  46. package/es/platform/data-source/http-template/getAvailableFields.js +62 -0
  47. package/es/platform/zdata-source/domain/entities/APITemplate.js +3 -2
  48. package/es/platform/zhttp/applications/usecases/FetchUseCase.js +1 -1
  49. package/es/platform/zlist/adapters/controllers/RecordSuccessCallbackController.js +28 -0
  50. package/es/platform/zlist/adapters/controllers/SortController.js +1 -3
  51. package/es/platform/zlist/adapters/gateways/Repository.js +12 -2
  52. package/es/platform/zlist/adapters/gateways/Service.js +4 -0
  53. package/es/platform/zlist/adapters/presenters/Presenters.js +26 -0
  54. package/es/platform/zlist/adapters/presenters/TableTranslator.js +11 -2
  55. package/es/platform/zlist/adapters/presenters/translators/Header.js +28 -3
  56. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -2
  57. package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +28 -8
  58. package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +28 -2
  59. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +54 -0
  60. package/es/platform/zlist/applications/interfaces/output/IPresenter.js +1 -0
  61. package/es/platform/zlist/applications/usecases/AbstractUseCase.js +4 -2
  62. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +24 -0
  63. package/es/platform/zlist/applications/usecases/SortUseCase.js +9 -3
  64. package/es/platform/zlist/domain/entities/List.js +32 -8
  65. package/es/platform/zlist/domain/entities/SortBy.js +58 -0
  66. package/es/platform/zlist/domain/entities/interfaces/ISortBy.js +1 -0
  67. package/es/platform/zlist/domain/entities/interfaces/ListModel.js +1 -0
  68. package/es/platform/zlist/domain/entities/interfaces/Properties.js +6 -1
  69. package/es/platform/zlist/frameworks/EventHandlersFactory.js +9 -4
  70. package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +7 -1
  71. package/es/platform/zrecord/adapters/controllers/ActionExecutorController.js +2 -1
  72. package/es/platform/zrecord/adapters/controllers/RefetchController.js +2 -1
  73. package/es/platform/zrecord/applications/usecases/ExecuteActionUseCase.js +3 -2
  74. package/es/platform/zrecord/applications/usecases/RefetchUseCase.js +3 -2
  75. package/es/platform/zrecord/domain/entities/RecordsManager.js +4 -3
  76. package/package.json +11 -11
  77. package/es/library/dot/components/table-list/frameworks/ui/sub-components/header/HeaderText.js +0 -34
  78. package/es/library/dot/legacy-to-new-arch/action-icon/frameworks/ui/css/ActionIcon.module.css +0 -3
@@ -0,0 +1,58 @@
1
+ import { SortOrder } from "./interfaces/Properties";
2
+
3
+ class SortBy {
4
+ constructor(id, name, order) {
5
+ this.id = id;
6
+ this.name = name;
7
+ this.order = order;
8
+ }
9
+
10
+ toObject() {
11
+ return {
12
+ id: this.id,
13
+ name: this.name,
14
+ order: this.order
15
+ };
16
+ }
17
+
18
+ toQueryString() {
19
+ const {
20
+ name,
21
+ order
22
+ } = this;
23
+ let sortQueryString = '';
24
+
25
+ if (order === SortOrder.DES) {
26
+ sortQueryString = `-${name}`;
27
+ } else if (order === SortOrder.ASC) {
28
+ sortQueryString = name;
29
+ }
30
+
31
+ return sortQueryString;
32
+ }
33
+
34
+ doSorting(id, name) {
35
+ if (this.id === id) {
36
+ this.toggleSort();
37
+ } else {
38
+ this.resetSortBy(id, name);
39
+ }
40
+ }
41
+
42
+ toggleSort() {
43
+ if (this.order === SortOrder.ASC) {
44
+ this.order = SortOrder.DES;
45
+ } else {
46
+ this.order = SortOrder.ASC;
47
+ }
48
+ }
49
+
50
+ resetSortBy(id, name) {
51
+ this.id = id;
52
+ this.name = name;
53
+ this.order = SortOrder.ASC;
54
+ }
55
+
56
+ }
57
+
58
+ export default SortBy;
@@ -1 +1,6 @@
1
- export {};
1
+ export let SortOrder = /*#__PURE__*/function (SortOrder) {
2
+ SortOrder["NONE"] = "none";
3
+ SortOrder["ASC"] = "ascending";
4
+ SortOrder["DES"] = "descending";
5
+ return SortOrder;
6
+ }({});
@@ -4,7 +4,7 @@ import Service from "../adapters/gateways/Service";
4
4
  import Repository from "../adapters/gateways/Repository";
5
5
  import MountController from "../adapters/controllers/MountController";
6
6
  import PropertiesChangeController from "../adapters/controllers/PropertiesChangeController";
7
- import { ZLIST_DELETE_RECORD, ZLIST_DELETE_RECORDS, ZLIST_FETCH_MORE, ZLIST_FETCH_SORTED, ZLIST_RECORD_DELETE_SUCCEEDED, ZLIST_RECORD_UPDATE, ZLIST_RECORD_UPDATE_SUCCEEDED } from "../../../bc/zlist/Constants";
7
+ import { ZLIST_DELETE_RECORD, ZLIST_DELETE_RECORDS, ZLIST_FETCH_MORE, ZLIST_RECORD_DELETE_SUCCEEDED, ZLIST_RECORD_UPDATE, ZLIST_RECORD_UPDATE_SUCCEEDED, ZLIST_SORT } from "../../../bc/zlist/Constants";
8
8
  import FetchMoreController from "../adapters/controllers/FetchMoreController";
9
9
  import SortController from "../adapters/controllers/SortController";
10
10
  import FieldChangeController from "../adapters/controllers/FieldChangeController";
@@ -15,16 +15,20 @@ import RecordUpdateController from "../adapters/controllers/RecordUpdateControll
15
15
  import DeleteSingleRecordController from "../adapters/controllers/DeleteSingleRecordController";
16
16
  import RecordExecuteFailedController from "../adapters/controllers/RecordExecuteFailedController";
17
17
  import RecordExecuteSucceededController from "../adapters/controllers/RecordExecuteSucceededController";
18
- import { RECORD_EXECUTE_FAILED, RECORD_EXECUTE_SUCCEEDED } from "../../../bc/zrecord/Constants";
18
+ import { RECORD_EXECUTE_FAILED, RECORD_EXECUTE_SUCCEEDED, RECORD_EXECUTE_SUCCESS_CALLBACK } from "../../../bc/zrecord/Constants";
19
19
  import UpdateSuccessController from "../adapters/controllers/UpdateSuccessController";
20
20
  import DeleteSuccessController from "../adapters/controllers/DeleteSuccessController";
21
+ import Presenter from "../adapters/presenters/Presenters";
22
+ import RecordSuccessCallbackController from "../adapters/controllers/RecordSuccessCallbackController";
21
23
  export default class ActionHandlersFactory {
22
24
  static create() {
23
25
  const repository = new Repository();
26
+ const presenter = new Presenter();
24
27
  const sortByGateway = new SortBy();
25
28
  const service = new Service({
26
29
  repository,
27
- sortBy: sortByGateway
30
+ sortBy: sortByGateway,
31
+ presenter
28
32
  });
29
33
  return {
30
34
  [LifeCycleAction.MOUNT]: new MountController(service).handle,
@@ -36,7 +40,8 @@ export default class ActionHandlersFactory {
36
40
  [TableListConstants.TABLE_LIST_FIELD_CHANGED]: new FieldChangeController(service).handle,
37
41
  [RECORD_EXECUTE_SUCCEEDED]: new RecordExecuteSucceededController(service).handle,
38
42
  [RECORD_EXECUTE_FAILED]: new RecordExecuteFailedController(service).handle,
39
- [ZLIST_FETCH_SORTED]: new SortController(service).handle,
43
+ [ZLIST_SORT]: new SortController(service).handle,
44
+ [RECORD_EXECUTE_SUCCESS_CALLBACK]: new RecordSuccessCallbackController(service).handle,
40
45
  [ZLIST_RECORD_UPDATE_SUCCEEDED]: new UpdateSuccessController(service).handle,
41
46
  // ({ dispatch, action }) => dispatch({ type: 'SMART_TABLE#RECORD_UPDATED', payload: action.payload }),
42
47
  [ZLIST_RECORD_DELETE_SUCCEEDED]: new DeleteSuccessController(service).handle // ({ dispatch, action }) => dispatch({ type: 'SMART_TABLE#RECORD_DELETED', payload: { id: action.payload.id } })
@@ -4,7 +4,13 @@ export default class ZListBehaviourFactory {
4
4
  static create() {
5
5
  return {
6
6
  name: 'zlist',
7
- setInitialState: () => ({}),
7
+ setInitialState: () => ({
8
+ sortBy: {
9
+ id: '',
10
+ name: '',
11
+ order: 'none'
12
+ }
13
+ }),
8
14
  eventHandlers: EventHandlersFactory.create(),
9
15
  properties: Properties
10
16
  };
@@ -22,7 +22,8 @@ export default class ActionExecutorController extends AbstractController {
22
22
  dispatch,
23
23
  apiName,
24
24
  actionName,
25
- props
25
+ props,
26
+ sourceMetaData: action.metaData
26
27
  });
27
28
  }
28
29
 
@@ -26,7 +26,8 @@ export default class RefetchController {
26
26
  dispatch,
27
27
  actionName,
28
28
  apiName,
29
- props
29
+ props,
30
+ sourceMetaData: action.metaData
30
31
  });
31
32
  });
32
33
  }
@@ -10,7 +10,8 @@ class ExecuteActionUseCase extends AbstractUseCase {
10
10
  props,
11
11
  dispatch,
12
12
  apiName,
13
- actionName
13
+ actionName,
14
+ sourceMetaData
14
15
  } = input;
15
16
  const recordManager = repository.getRecordsManagerEntity();
16
17
 
@@ -18,7 +19,7 @@ class ExecuteActionUseCase extends AbstractUseCase {
18
19
  return;
19
20
  }
20
21
 
21
- const metaData = recordManager.createFetchRecordMeta(actionName, apiName, props);
22
+ const metaData = recordManager.createFetchRecordMeta(actionName, apiName, props, sourceMetaData);
22
23
 
23
24
  if (recordManager.isGetRecordsApi(actionName)) {
24
25
  recordManager.fetchingStarted();
@@ -9,7 +9,8 @@ export default class RefetchUseCase extends AbstractUseCase {
9
9
  props,
10
10
  dispatch,
11
11
  actionName,
12
- apiName
12
+ apiName,
13
+ sourceMetaData
13
14
  } = input;
14
15
  const recordManager = repository.getRecordsManagerEntity();
15
16
 
@@ -18,7 +19,7 @@ export default class RefetchUseCase extends AbstractUseCase {
18
19
  }
19
20
 
20
21
  recordManager.resetRecords();
21
- const metaData = recordManager.createFetchRecordMeta(actionName, apiName, props);
22
+ const metaData = recordManager.createFetchRecordMeta(actionName, apiName, props, sourceMetaData);
22
23
  recordManager.fetchingStarted();
23
24
  presenter.updateRecord(recordManager.toObject());
24
25
  dispatch(recordManager.createDataSourceExecuteEvent(props, actionName, metaData));
@@ -47,7 +47,7 @@ export default class RecordsManager {
47
47
  }
48
48
 
49
49
  createRecordMeta(record) {
50
- return this.createDataBrokerMeta({
50
+ return this.createDataSourceMeta({
51
51
  actionName: RecordApiActionName.CREATE_RECORD,
52
52
  successMeta: {
53
53
  type: RECORD_EXECUTE_SUCCESS_CALLBACK,
@@ -76,11 +76,12 @@ export default class RecordsManager {
76
76
  });
77
77
  }
78
78
 
79
- createFetchRecordMeta(actionName, apiName, props) {
79
+ createFetchRecordMeta(actionName, apiName, props, sourceMetaData) {
80
80
  const recordExecuteStrategyMeta = {
81
81
  actionName,
82
82
  apiName,
83
- props
83
+ props,
84
+ sourceMetaData
84
85
  };
85
86
 
86
87
  if (this.isGetRecordsApi(actionName)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/library-platform",
3
- "version": "1.0.2-exp.1.1",
3
+ "version": "1.0.2-exp.1.2",
4
4
  "description": "",
5
5
  "main": "es/index.js",
6
6
  "files": [
@@ -44,19 +44,19 @@
44
44
  "@typescript-eslint/parser": "^7.11.0",
45
45
  "@zoho/SecurityJS": "5.0.2",
46
46
  "@zohodesk-private/css-variable-migrator": "^1.0.7",
47
- "@zohodesk-private/desk-components": "1.3.1",
47
+ "@zohodesk-private/desk-components": "1.3.2",
48
48
  "@zohodesk-private/node-plugins": "1.1.9",
49
49
  "@zohodesk/a11y": "2.2.6",
50
50
  "@zohodesk/codestandard-analytics": "0.0.2",
51
51
  "@zohodesk/codestandard-validator": "0.0.4",
52
- "@zohodesk/components": "1.2.46",
53
- "@zohodesk/dot": "1.7.0",
52
+ "@zohodesk/components": "1.2.62",
53
+ "@zohodesk/dot": "1.7.8",
54
54
  "@zohodesk/eslint-plugin-architecturerules": "0.0.5-exp-3",
55
55
  "@zohodesk/hooks": "2.0.5",
56
56
  "@zohodesk/i18n": "1.0.0-beta.26",
57
- "@zohodesk/icons": "1.0.61",
57
+ "@zohodesk/icons": "1.0.72",
58
58
  "@zohodesk/layout": "3.1.0",
59
- "@zohodesk/svg": "1.1.22",
59
+ "@zohodesk/svg": "1.1.27",
60
60
  "@zohodesk/utils": "1.3.14",
61
61
  "@zohodesk/variables": "1.0.0",
62
62
  "@zohodesk/virtualizer": "1.0.13",
@@ -75,15 +75,15 @@
75
75
  "typescript": "4.9.5"
76
76
  },
77
77
  "peerDependencies": {
78
- "@zohodesk-private/desk-components": "1.3.1",
78
+ "@zohodesk-private/desk-components": "1.3.2",
79
79
  "@zohodesk/a11y": "2.2.6",
80
- "@zohodesk/components": "1.2.46",
81
- "@zohodesk/dot": "1.7.0",
80
+ "@zohodesk/components": "1.2.62",
81
+ "@zohodesk/dot": "1.7.8",
82
82
  "@zohodesk/hooks": "2.0.5",
83
83
  "@zohodesk/i18n": "1.0.0-beta.26",
84
- "@zohodesk/icons": "1.0.61",
84
+ "@zohodesk/icons": "1.0.72",
85
85
  "@zohodesk/layout": "3.1.0",
86
- "@zohodesk/svg": "1.1.22",
86
+ "@zohodesk/svg": "1.1.27",
87
87
  "@zohodesk/utils": "1.3.14",
88
88
  "color": "4.2.3"
89
89
  },
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import SortableHeading from '@zohodesk-private/desk-components/es/table/SortableHeading/SortableHeading';
3
- import TableHeading from '@zohodesk-private/desk-components/es/table/TableHeading/TableHeading';
4
- import { TableListConstants } from "../../../../../../../../cc/table-list";
5
- export default function HeaderText(_ref) {
6
- let {
7
- id,
8
- name,
9
- text,
10
- sortable,
11
- sortedBy,
12
- sortTooltip,
13
- dispatch
14
- } = _ref;
15
-
16
- if (sortable) {
17
- return /*#__PURE__*/React.createElement(SortableHeading, {
18
- $i18n_text: text,
19
- $data_sortOrder: sortedBy,
20
- $i18n_iconTooltip: sortTooltip,
21
- $event_onClick: () => dispatch({
22
- type: TableListConstants.TABLE_LIST_SORTED,
23
- payload: {
24
- id,
25
- name
26
- }
27
- })
28
- });
29
- }
30
-
31
- return /*#__PURE__*/React.createElement(TableHeading, {
32
- $i18n_text: text
33
- });
34
- }