@zohodesk/library-platform 1.1.12-exp.1 → 1.1.12-exp.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 (110) hide show
  1. package/es/bc/index.js +0 -1
  2. package/es/bc/zlist/Constants.js +0 -1
  3. package/es/bc/zlist/Types.js +10 -0
  4. package/es/bc/zrecord/Constants.js +1 -0
  5. package/es/bc/zrecord/Schemas.js +29 -0
  6. package/es/bc/zrecord/Types.js +45 -0
  7. package/es/cc/checkbox/Properties.js +1 -2
  8. package/es/cc/email/Properties.js +0 -8
  9. package/es/cc/fields/field/Types.js +23 -31
  10. package/es/cc/fields/lookup/Properties.js +10 -26
  11. package/es/cc/highlighted-value/Properties.js +0 -18
  12. package/es/cc/link/Properties.js +3 -13
  13. package/es/cc/switch/Properties.js +2 -2
  14. package/es/cc/table-connected/SdkContract.js +21 -0
  15. package/es/cc/table-connected/constants/Events.js +2 -0
  16. package/es/cc/table-list/Actions.js +0 -2
  17. package/es/cc/table-list/Constants.js +0 -1
  18. package/es/cc/table-list/Events.js +0 -2
  19. package/es/cc/table-list/Properties.js +35 -4
  20. package/es/cc/tags/Data.js +6 -0
  21. package/es/cc/tags/model/TagModel.js +26 -0
  22. package/es/cc/tags/model/index.js +1 -1
  23. package/es/library/custom-component/frameworks/ui/CustomComponentFactory.js +56 -0
  24. package/es/library/dot/components/table-list/adapters/controllers/index.js +0 -2
  25. package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +1 -2
  26. package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +1 -3
  27. package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +2 -4
  28. package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +1 -6
  29. package/es/library/dot/legacy-to-new-arch/index.js +0 -1
  30. package/es/library/dot/legacy-to-new-arch/link/frameworks/ui/LinkView.js +2 -4
  31. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +2 -12
  32. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +5 -8
  33. package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/EventHandlersFactory.js +3 -3
  34. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailField.js +3 -3
  35. package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailFieldView.js +6 -8
  36. package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +5 -22
  37. package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +1 -1
  38. package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneFieldView.js +1 -1
  39. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/EventHandlersFactory.js +3 -3
  40. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchField.js +4 -14
  41. package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +4 -8
  42. package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +1 -1
  43. package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +169 -8
  44. package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +11 -2
  45. package/es/platform/data-source/http-template/fetchLookupFields.js +0 -6
  46. package/es/platform/data-source/http-template/getRecords.js +1 -0
  47. package/es/platform/data-source/index.js +1 -3
  48. package/es/platform/zfield/applications/usecases/FetchSuccessUseCase.js +0 -33
  49. package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +0 -5
  50. package/es/platform/zform/adapters/gateway/FormRepository.js +3 -1
  51. package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +12 -11
  52. package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +9 -10
  53. package/es/platform/zform/domain/ZForm.js +2 -0
  54. package/es/platform/zlist/adapters/controllers/RefreshRecordsRequestedController.js +21 -0
  55. package/es/platform/zlist/adapters/controllers/SortController.js +2 -2
  56. package/es/platform/zlist/adapters/gateways/Repository.js +6 -11
  57. package/es/platform/zlist/adapters/gateways/Service.js +2 -0
  58. package/es/platform/zlist/adapters/presenters/TableTranslator.js +11 -21
  59. package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +52 -48
  60. package/es/platform/zlist/adapters/presenters/translators/Header.js +29 -21
  61. package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -3
  62. package/es/platform/zlist/adapters/presenters/translators/Row.js +2 -3
  63. package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +1 -3
  64. package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +12 -87
  65. package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +11 -66
  66. package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +9 -16
  67. package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +9 -16
  68. package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +9 -16
  69. package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +9 -29
  70. package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +27 -23
  71. package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +17 -106
  72. package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +9 -16
  73. package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +26 -100
  74. package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +9 -16
  75. package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +9 -16
  76. package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +9 -16
  77. package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +26 -167
  78. package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +9 -16
  79. package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +9 -32
  80. package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +7 -4
  81. package/es/platform/zlist/applications/entities-factory/ListFactory.js +2 -2
  82. package/es/platform/zlist/applications/interfaces/input/GetSortConfigUseCaseInputModel.js +1 -0
  83. package/es/platform/zlist/applications/interfaces/input/RefreshRecordsRequestedUseCaseInputModel.js +1 -0
  84. package/es/platform/zlist/applications/interfaces/input/SetSortConfigUseCaseInputModel.js +1 -0
  85. package/es/platform/zlist/applications/usecases/GetSortConfigUseCase.js +17 -0
  86. package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +1 -1
  87. package/es/platform/zlist/applications/usecases/RefreshRecordsRequestedUseCase.js +17 -0
  88. package/es/platform/zlist/applications/usecases/SetSortConfigUseCase.js +26 -0
  89. package/es/platform/zlist/applications/usecases/SortUseCase.js +6 -6
  90. package/es/platform/zlist/domain/entities/List.js +27 -15
  91. package/es/platform/zlist/domain/entities/interfaces/Properties.js +5 -5
  92. package/es/platform/zlist/frameworks/EventHandlersFactory.js +3 -4
  93. package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +2 -5
  94. package/es/platform/zrecord/adapters/gateways/Repository.js +5 -2
  95. package/es/platform/zrecord/applications/entities-factory/RecordsManagerFactory.js +2 -2
  96. package/es/platform/zrecord/applications/interfaces/input/ClearAllFiltersUseCaseInputModel.js +1 -0
  97. package/es/platform/zrecord/applications/interfaces/input/GetFilterConditionUseCaseInputModel.js +1 -0
  98. package/es/platform/zrecord/applications/interfaces/input/GetFilterConfigUseCaseInputModel.js +1 -0
  99. package/es/platform/zrecord/applications/interfaces/input/RefreshRecordsUseCaseInputModel.js +1 -0
  100. package/es/platform/zrecord/applications/interfaces/input/SetFilterUseCaseInputModel.js +1 -0
  101. package/es/platform/zrecord/applications/usecases/ClearAllFiltersUseCase.js +24 -0
  102. package/es/platform/zrecord/applications/usecases/GetFilterConditionUseCase.js +15 -0
  103. package/es/platform/zrecord/applications/usecases/GetFilterConfigUseCase.js +15 -0
  104. package/es/platform/zrecord/applications/usecases/RefreshRecordsUseCase.js +14 -0
  105. package/es/platform/zrecord/applications/usecases/SetFilterUseCase.js +24 -0
  106. package/es/platform/zrecord/domain/entities/Filter.js +247 -0
  107. package/es/platform/zrecord/domain/entities/RecordsManager.js +19 -1
  108. package/es/platform/zrecord/domain/entities/interfaces/IFilter.js +1 -0
  109. package/es/platform/zrecord/frameworks/RecordBehaviourFactory.js +11 -1
  110. package/package.json +7 -7
@@ -5,6 +5,5 @@ export { default as HighlightedValue } from "./highlighted-value/frameworks/ui/H
5
5
  export { default as Link } from "./link/frameworks/ui/Link";
6
6
  export { default as Switch } from "./switch/frameworks/ui/Switch";
7
7
  export { default as Tags } from "./tags/frameworks/ui/Tags";
8
- export { default as Tag } from "./tag/frameworks/ui/Tag";
9
8
  export { default as Text } from "./text/frameworks/ui/Text";
10
9
  export { default as ActionIcon } from "./action-icon/frameworks/ui/ActionIcon";
@@ -11,12 +11,11 @@ function LinkView(_ref, ref) {
11
11
  dispatch
12
12
  } = helpers;
13
13
  let {
14
- text,
14
+ label,
15
15
  variant,
16
16
  isDotted,
17
17
  weight,
18
18
  href,
19
- tooltip,
20
19
  opensNewTab
21
20
  } = state.properties;
22
21
  let target = opensNewTab ? '_blank' : '_self'; // Will be adopted with properties
@@ -25,13 +24,12 @@ function LinkView(_ref, ref) {
25
24
  $customProps_link: {
26
25
  ref
27
26
  },
28
- $data_text: text,
27
+ $data_text: label,
29
28
  $data_url: href,
30
29
  $data_target: target,
31
30
  $ui_variant: variant,
32
31
  $flag_wrapText: !isDotted,
33
32
  $ui_weight: weight,
34
- $i18n_tooltip: tooltip,
35
33
  $event_onClick: () => {
36
34
  dispatch({
37
35
  type: LinkConstants.LINK_CLICKED
@@ -1,22 +1,12 @@
1
1
  import { createCustomComponent } from "../../../../../../custom-component";
2
- import CheckboxProperties from "../../../../../../../cc/checkbox/Properties";
2
+ import BooleanProperties from "../../../../../../../cc/fields/boolean/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: { ...CheckboxProperties,
10
- fieldName: {
11
- required: false,
12
- defaultValue: '',
13
- typeMetadata: {
14
- schema: {
15
- type: 'string'
16
- }
17
- }
18
- }
19
- },
9
+ properties: BooleanProperties,
20
10
  events: BooleanEvents,
21
11
  eventHandlers: EventHandlersFactory.create()
22
12
  });
@@ -5,17 +5,14 @@ export default function CheckboxFieldView(_ref, ref) {
5
5
  state
6
6
  } = _ref;
7
7
  const {
8
- checked,
9
- disabled,
10
- readonly,
11
- tooltip
8
+ value
12
9
  } = state.properties;
13
10
  return /*#__PURE__*/React.createElement(Checkbox, {
14
11
  getRef: ref,
15
- checked: checked,
16
- disabled: disabled,
17
- readonly: readonly,
12
+ checked: value,
13
+ disabled: false,
14
+ readonly: false,
18
15
  label: "",
19
- tooltip: tooltip
16
+ tooltip: ""
20
17
  });
21
18
  }
@@ -8,10 +8,10 @@ export class EventHandlersFactory {
8
8
  dispatch
9
9
  } = input;
10
10
  const {
11
- fieldName,
12
- checked
11
+ name: fieldName,
12
+ value: currentValue
13
13
  } = state.properties;
14
- const toggledValue = !checked;
14
+ const toggledValue = !currentValue;
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/email/Properties";
3
- import FieldEvents from "../../../../../../../cc/fields/field/Events";
2
+ import EmailProperties from "../../../../../../../cc/fields/email/Properties";
3
+ import EmailEvents from "../../../../../../../cc/fields/email/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: FieldEvents,
9
+ events: EmailEvents,
10
10
  eventHandlers: {}
11
11
  });
12
12
  export default EmailField;
@@ -5,16 +5,14 @@ export function EmailFieldView(_ref, ref) {
5
5
  state
6
6
  } = _ref;
7
7
  const {
8
- email,
9
- isDotted,
10
- weight,
11
- tooltip
8
+ value,
9
+ textOverflowMode,
10
+ isRead
12
11
  } = state.properties;
13
12
  return /*#__PURE__*/React.createElement(Email, {
14
13
  getRef: ref,
15
- email: email,
16
- isDotted: isDotted,
17
- weight: weight,
18
- tooltip: tooltip
14
+ email: value,
15
+ isDotted: textOverflowMode === 'clip',
16
+ weight: isRead ? undefined : 'bold'
19
17
  });
20
18
  }
@@ -1,6 +1,7 @@
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";
4
5
  import SingleLineField from "./singleline-field/frameworks/ui/SingleLineField";
5
6
  import EmailField from "./email-field/frameworks/ui/EmailField";
6
7
  import UrlField from "./url-field/frameworks/ui/UrlField";
@@ -16,18 +17,11 @@ import DateTimeField from "./datetime-field/frameworks/ui/DateTimeField";
16
17
  import NumberField from "./number-field/frameworks/ui/NumberField";
17
18
  import DecimalField from "./decimal-field/frameworks/ui/DecimalField";
18
19
  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";
28
20
  const FieldComponents = {
29
- // Default Field Variants
30
21
  [FieldTypes.PrimaryField]: PrimaryField,
22
+ [FieldTypes.CheckboxField]: CheckboxField,
23
+ [FieldTypes.SwitchField]: SwitchField,
24
+ // TODO: Need to register SwitchField
31
25
  [FieldTypes.SingleLineField]: SingleLineField,
32
26
  [FieldTypes.EmailField]: EmailField,
33
27
  [FieldTypes.URLField]: UrlField,
@@ -42,17 +36,6 @@ const FieldComponents = {
42
36
  [FieldTypes.DateTimeField]: DateTimeField,
43
37
  [FieldTypes.NumberField]: NumberField,
44
38
  [FieldTypes.DecimalField]: DecimalField,
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
39
+ [FieldTypes.MultiSelectField]: MultiSelectField
57
40
  };
58
41
  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
- text: name,
18
+ label: 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
- text: value,
16
+ label: value,
17
17
  href: href,
18
18
  variant: "secondary",
19
19
  weight: isRead ? undefined : 'bold',
@@ -8,10 +8,10 @@ export class EventHandlersFactory {
8
8
  dispatch
9
9
  } = input;
10
10
  const {
11
- fieldName,
12
- checked
11
+ name: fieldName,
12
+ value: currentValue
13
13
  } = state.properties;
14
- const toggledValue = !checked;
14
+ const toggledValue = !currentValue;
15
15
  dispatch({
16
16
  type: FieldConstants.FIELD_CHANGED,
17
17
  payload: {
@@ -1,23 +1,13 @@
1
1
  import { createCustomComponent } from "../../../../../../custom-component";
2
- import SwitchProperties from "../../../../../../../cc/switch/Properties";
3
- import BooleanFieldEvents from "../../../../../../../cc/fields/boolean/Events";
2
+ import BooleanProperties from "../../../../../../../cc/fields/boolean/Properties";
3
+ import BooleanEvents 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: { ...SwitchProperties,
10
- fieldName: {
11
- required: false,
12
- defaultValue: '',
13
- typeMetadata: {
14
- schema: {
15
- type: 'string'
16
- }
17
- }
18
- }
19
- },
20
- events: BooleanFieldEvents,
9
+ properties: BooleanProperties,
10
+ events: BooleanEvents,
21
11
  eventHandlers: EventHandlersFactory.create()
22
12
  });
23
13
  export default SwitchField;
@@ -5,16 +5,12 @@ export default function SwitchFieldView(_ref, ref) {
5
5
  state
6
6
  } = _ref;
7
7
  const {
8
- checked,
9
- disabled,
10
- size,
11
- tooltip
8
+ value
12
9
  } = state.properties;
13
10
  return /*#__PURE__*/React.createElement(Switch, {
14
11
  getRef: ref,
15
- checked: checked,
16
- disabled: disabled,
17
- size: size,
18
- tooltip: tooltip
12
+ checked: value,
13
+ disabled: false,
14
+ tooltip: ""
19
15
  });
20
16
  }
@@ -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
- text: value,
14
+ label: value,
15
15
  href: value,
16
16
  variant: "secondary",
17
17
  weight: isRead ? undefined : 'bold',
@@ -1,6 +1,5 @@
1
1
  import { AbstractResource } from "../../../../sdk/application/interfaces/gateways/AbstractResource";
2
2
  import ZListRepository from "../../../../zlist/adapters/gateways/Repository";
3
- import ZListSortBy from "../../../../zlist/adapters/gateways/SortBy";
4
3
  import ZListPresenters from "../../../../zlist/adapters/presenters/Presenters";
5
4
  import ZRecordRepository from "../../../../zrecord/adapters/gateways/Repository";
6
5
  import ZRecordPresenter from "../../../../zrecord/adapters/presenters/Presenter";
@@ -17,10 +16,17 @@ import UpdateMultipleRecordUseCase from "../../../../zlist/applications/usecases
17
16
  import GetContextUseCase from "../../../../zlist/applications/usecases/GetContextUseCase";
18
17
  import ReOrderUseCase from "../../../../zlist/applications/usecases/ReOrderUseCase";
19
18
  import { SdkContracts } from "../../../../../cc/table-connected/SdkContract";
20
- import SortUseCase from "../../../../zlist/applications/usecases/SortUseCase";
21
19
  import { Analytics } from "../../../../../library/analytics";
22
20
  import MarkAsReadUseCase from "../../../../zrecord/applications/usecases/MarkAsReadUseCase";
23
21
  import MarkAsUnReadUseCase from "../../../../zrecord/applications/usecases/MarkAsUnReadUseCase";
22
+ import GetFilterConditionUseCase from "../../../../zrecord/applications/usecases/GetFilterConditionUseCase";
23
+ import SetFilterUseCase from "../../../../zrecord/applications/usecases/SetFilterUseCase";
24
+ import ClearAllFiltersUseCase from "../../../../zrecord/applications/usecases/ClearAllFiltersUseCase";
25
+ import RefreshRecordsUseCase from "../../../../zrecord/applications/usecases/RefreshRecordsUseCase";
26
+ import GetFilterConfigUseCase from "../../../../zrecord/applications/usecases/GetFilterConfigUseCase";
27
+ import { initialSortConfig } from "../../../../../bc/zlist/Types";
28
+ import GetSortConfigUseCase from "../../../../zlist/applications/usecases/GetSortConfigUseCase";
29
+ import SetSortConfigUseCase from "../../../../zlist/applications/usecases/SetSortConfigUseCase";
24
30
  export class SmartTableResource extends AbstractResource {
25
31
  initialize() {}
26
32
 
@@ -37,8 +43,7 @@ export class SmartTableResource extends AbstractResource {
37
43
  getListDependencies() {
38
44
  const dependencies = {
39
45
  repository: new ZListRepository(),
40
- presenter: new ZListPresenters(),
41
- sortBy: new ZListSortBy()
46
+ presenter: new ZListPresenters()
42
47
  };
43
48
  return dependencies;
44
49
  }
@@ -68,7 +73,7 @@ export class SmartTableResource extends AbstractResource {
68
73
  } = this.dependencies;
69
74
  const now = new Date().toISOString();
70
75
  const smartTableSdkMethodUsed = {
71
- event: "smart_table_sdk_method_used",
76
+ event: 'smart_table_sdk_method_used',
72
77
  timestamp: now,
73
78
  contextDetails: {
74
79
  moduleName: state.moduleName,
@@ -237,6 +242,95 @@ export class SmartTableResource extends AbstractResource {
237
242
  return getData();
238
243
  }
239
244
 
245
+ getFilterCondition() {
246
+ const {
247
+ dispatch
248
+ } = this.dependencies;
249
+ const {
250
+ getData,
251
+ setData
252
+ } = this.createCallback();
253
+ const dependencies = this.getRecordDependencies();
254
+ const usecase = this.createUseCase(dependencies, GetFilterConditionUseCase);
255
+ usecase.execute({
256
+ dispatch,
257
+ callback: setData
258
+ });
259
+ return getData();
260
+ }
261
+
262
+ getFilterConfig() {
263
+ const {
264
+ dispatch
265
+ } = this.dependencies;
266
+ const {
267
+ getData,
268
+ setData
269
+ } = this.createCallback();
270
+ const dependencies = this.getRecordDependencies();
271
+ const usecase = this.createUseCase(dependencies, GetFilterConfigUseCase);
272
+ usecase.execute({
273
+ dispatch,
274
+ callback: setData
275
+ });
276
+ return getData();
277
+ }
278
+
279
+ setFilter(filterConfig) {
280
+ this.validateInput('setFilter', {
281
+ filterConfig
282
+ }, SdkContracts.setFilterInputMeta);
283
+ const {
284
+ dispatch
285
+ } = this.dependencies;
286
+ const {
287
+ getData,
288
+ setData
289
+ } = this.createCallback();
290
+ const dependencies = this.getRecordDependencies();
291
+ const usecase = this.createUseCase(dependencies, SetFilterUseCase);
292
+ usecase.execute({
293
+ filterConfig,
294
+ dispatch,
295
+ callback: setData
296
+ });
297
+ return getData();
298
+ }
299
+
300
+ clearAllFilters() {
301
+ const {
302
+ dispatch
303
+ } = this.dependencies;
304
+ const {
305
+ getData,
306
+ setData
307
+ } = this.createCallback();
308
+ const dependencies = this.getRecordDependencies();
309
+ const usecase = this.createUseCase(dependencies, ClearAllFiltersUseCase);
310
+ usecase.execute({
311
+ dispatch,
312
+ callback: setData
313
+ });
314
+ return getData();
315
+ }
316
+
317
+ refreshRecords() {
318
+ const {
319
+ dispatch
320
+ } = this.dependencies;
321
+ const {
322
+ getData,
323
+ setData
324
+ } = this.createCallback();
325
+ const dependencies = this.getRecordDependencies();
326
+ const usecase = this.createUseCase(dependencies, RefreshRecordsUseCase);
327
+ usecase.execute({
328
+ dispatch,
329
+ callback: setData
330
+ });
331
+ return getData();
332
+ }
333
+
240
334
  selectRecords(ids) {
241
335
  this.validateInput('selectRecords', {
242
336
  ids
@@ -304,7 +398,8 @@ export class SmartTableResource extends AbstractResource {
304
398
  oldIndex: fromIndex,
305
399
  dispatch
306
400
  });
307
- }
401
+ } // @deprecated use sortRecords
402
+
308
403
 
309
404
  sortRecords(sortBy) {
310
405
  this.validateInput('sortRecords', {
@@ -313,12 +408,78 @@ export class SmartTableResource extends AbstractResource {
313
408
  const {
314
409
  dispatch
315
410
  } = this.dependencies;
411
+ const {
412
+ getData,
413
+ setData
414
+ } = this.createCallback();
415
+ const dependencies = this.getListDependencies();
416
+ const usecase = this.createUseCase(dependencies, SetSortConfigUseCase);
417
+ const sortConfig = {
418
+ fieldName: sortBy.name,
419
+ order: sortBy.order
420
+ };
421
+ usecase.execute({
422
+ sortConfig,
423
+ dispatch,
424
+ callback: setData
425
+ });
426
+ return getData();
427
+ }
428
+
429
+ getSortConfig() {
430
+ const {
431
+ dispatch
432
+ } = this.dependencies;
433
+ const {
434
+ getData,
435
+ setData
436
+ } = this.createCallback();
437
+ const dependencies = this.getListDependencies();
438
+ const usecase = this.createUseCase(dependencies, GetSortConfigUseCase);
439
+ usecase.execute({
440
+ dispatch,
441
+ callback: setData
442
+ });
443
+ return getData();
444
+ }
445
+
446
+ setSortConfig(sortConfig) {
447
+ this.validateInput('setSortConfig', {
448
+ sortConfig
449
+ }, SdkContracts.setSortConfigInputMeta);
450
+ const {
451
+ dispatch
452
+ } = this.dependencies;
453
+ const {
454
+ getData,
455
+ setData
456
+ } = this.createCallback();
316
457
  const dependencies = this.getListDependencies();
317
- const usecase = this.createUseCase(dependencies, SortUseCase);
458
+ const usecase = this.createUseCase(dependencies, SetSortConfigUseCase);
318
459
  usecase.execute({
319
- sortBy,
460
+ sortConfig,
461
+ dispatch,
462
+ callback: setData
463
+ });
464
+ return getData();
465
+ }
466
+
467
+ clearSorting() {
468
+ const {
320
469
  dispatch
470
+ } = this.dependencies;
471
+ const {
472
+ getData,
473
+ setData
474
+ } = this.createCallback();
475
+ const dependencies = this.getListDependencies();
476
+ const usecase = this.createUseCase(dependencies, SetSortConfigUseCase);
477
+ usecase.execute({
478
+ sortConfig: initialSortConfig,
479
+ dispatch,
480
+ callback: setData
321
481
  });
482
+ return getData();
322
483
  }
323
484
 
324
485
  markAsRead(recordId) {
@@ -23,6 +23,9 @@ import { TableListConstants } from "../../../../cc/table-list";
23
23
  import ResolutionBasedLimitController from "../adapters/controllers/ResolutionBasedLimitController";
24
24
  import { TableTextOverflowConstants } from "../../../../cc/table-text-overflow";
25
25
  import { TEXT_OVERFLOW_BEHAVIOUR_UPDATE_REQUESTED } from "../../../../bc/clip-wrap/Constants";
26
+ import { SMART_TABLE_SORT_BY_REQUESTED } from "../../../../cc/table-connected/constants/Events";
27
+ import { SortedBy } from "../../../../cc/table-list/data-types/Header";
28
+ import { SortOrder } from "../../../../bc/zlist/Types";
26
29
  const {
27
30
  TABLE_LIST_RESIZE_START_REQUESTED,
28
31
  TABLE_LIST_RESIZE_MOVE_REQUESTED,
@@ -330,14 +333,20 @@ export default class EventHandlersFactory {
330
333
  [RESIZE_FINISHED]: new ResizeFinishController().handle,
331
334
  [TABLE_LIST_RESIZE_START_REQUESTED]: new ResizeStartController().handle,
332
335
  [TABLE_LIST_RESIZE_MOVE_REQUESTED]: new ResizeByMouseController().handle,
333
- [SmartTableConstants.Events.SORT]: _ref => {
336
+ [SMART_TABLE_SORT_BY_REQUESTED]: _ref => {
334
337
  let {
335
338
  action,
336
339
  dispatch
337
340
  } = _ref;
338
341
  return dispatch({
339
342
  type: ZLIST_SORT,
340
- payload: action.payload
343
+ payload: {
344
+ fieldName: action.payload.name,
345
+ order: {
346
+ [SortedBy.Ascending]: SortOrder.ASC,
347
+ [SortedBy.Descending]: SortOrder.DES
348
+ }[action.payload.order] || SortOrder.NONE
349
+ }
341
350
  });
342
351
  },
343
352
  [TABLE_LIST_RESIZE_END_REQUESTED]: new ResizeEndController().handle,
@@ -4,12 +4,6 @@ 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
- },
13
7
  properties: {
14
8
  layoutId: {
15
9
  required: true,
@@ -3,6 +3,7 @@ let getRecords = {
3
3
  api: '/{{servicePrefix}}/{{orgName}}/api/v1/{{moduleName}}',
4
4
  parameters: `{
5
5
  "viewId":"{{viewId}}",
6
+ "filter":"{{filter}}",
6
7
  "from":{{from}},
7
8
  "limit":{{limit}},
8
9
  "sortBy":"{{sortBy}}"
@@ -21,7 +21,6 @@ import fetchLookupFields from "./http-template/fetchLookupFields";
21
21
  import getClientScripts from "./http-template/getClientScripts";
22
22
  import markAsRead from "./http-template/markAsRead";
23
23
  import markAsUnRead from "./http-template/markAsUnRead";
24
- import getComponentMapping from "./http-template/getComponentMapping";
25
24
  let dataSource = {
26
25
  httpTemplates: {
27
26
  [RecordApiActionName.GET_RECORDS]: getRecords,
@@ -43,8 +42,7 @@ let dataSource = {
43
42
  [ZFormApiActionName.getLayoutRules]: getLayoutRules,
44
43
  [ZFormApiActionName.getDependencyMappings]: getDependencyMappings,
45
44
  [ZFormApiActionName.getValidationRules]: getValidationRules,
46
- [ZFormApiActionName.fetchLookupFields]: fetchLookupFields,
47
- getComponentMapping
45
+ [ZFormApiActionName.fetchLookupFields]: fetchLookupFields
48
46
  }
49
47
  };
50
48
  export default dataSource; // let ticketsRecordSerice = createRecord(tickets, () => {});
@@ -1,6 +1,4 @@
1
- import { DATA_SOURCE_EXECUTE } from "../../../../bc/zdata-source/Constants";
2
1
  import AbstractUseCase from "./AbstractUseCase";
3
- import { DATA_SOURCE_FAILURE, DATA_SOURCE_NO_CONTENT, DATA_SOURCE_SUCCESS } from "../../../../bc/zdata-source/Symbols";
4
2
 
5
3
  class FetchSuccessUseCase extends AbstractUseCase {
6
4
  execute(input) {
@@ -18,11 +16,6 @@ class FetchSuccessUseCase extends AbstractUseCase {
18
16
  } = metaData;
19
17
  const fieldManager = repository.getFieldManager();
20
18
 
21
- if (String(apiName) === 'getComponentMapping') {
22
- fieldManager.setFields(fields, apiName);
23
- presenter.updateFields(fieldManager.toObject());
24
- }
25
-
26
19
  if (!fieldManager.isFieldFetching(metaData)) {
27
20
  return;
28
21
  }
@@ -30,32 +23,6 @@ class FetchSuccessUseCase extends AbstractUseCase {
30
23
  fieldManager.setFields(fields, apiName);
31
24
  fieldManager.stopFetching(apiName);
32
25
  presenter.updateFields(fieldManager.toObject());
33
- dispatch({
34
- type: DATA_SOURCE_EXECUTE,
35
- payload: {
36
- props: {},
37
- actionName: 'getComponentMapping'
38
- },
39
- metaData: {
40
- actionName: 'getComponentMapping',
41
- [DATA_SOURCE_SUCCESS]: {
42
- metaData: {
43
- apiName: 'getComponentMapping'
44
- }
45
- },
46
- [DATA_SOURCE_NO_CONTENT]: {
47
- metaData: {
48
- apiName: 'getComponentMapping'
49
- }
50
- },
51
- [DATA_SOURCE_FAILURE]: {
52
- metaData: {
53
- apiName: 'getComponentMapping',
54
- actionName: 'getComponentMapping'
55
- }
56
- }
57
- }
58
- });
59
26
  dispatch(fieldManager.createSuccessAction(fields, metaData));
60
27
  }
61
28
 
@@ -5,12 +5,10 @@ import { DATA_SOURCE_FAILURE, DATA_SOURCE_NO_CONTENT, DATA_SOURCE_SUCCESS } from
5
5
 
6
6
  class FieldManager {
7
7
  constructor(fields, selectedFields, isFieldsFetching, isSelectedFieldsFetching) {
8
- let componentMapping = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
9
8
  this.fields = fields;
10
9
  this.selectedFields = selectedFields;
11
10
  this.isFieldsFetching = isFieldsFetching;
12
11
  this.isSelectedFieldsFetching = isSelectedFieldsFetching;
13
- this.componentMapping = componentMapping;
14
12
  }
15
13
 
16
14
  createSuccessAction(fields, metaData) {
@@ -100,14 +98,11 @@ class FieldManager {
100
98
  this.selectedFields = data;
101
99
  } else if (apiName === FieldApiName.UPDATE_SELECTED_FIELDS) {
102
100
  this.selectedFields = data;
103
- } else if (apiName === 'getComponentMapping') {
104
- this.componentMapping = data;
105
101
  }
106
102
  }
107
103
 
108
104
  toObject() {
109
105
  return {
110
- componentMapping: this.componentMapping,
111
106
  fields: this.fields,
112
107
  selectedFields: this.selectedFields,
113
108
  isFieldsFetching: this.isFieldsFetching,