@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.
- package/es/bc/index.js +0 -1
- package/es/bc/zlist/Constants.js +0 -1
- package/es/bc/zlist/Types.js +10 -0
- package/es/bc/zrecord/Constants.js +1 -0
- package/es/bc/zrecord/Schemas.js +29 -0
- package/es/bc/zrecord/Types.js +45 -0
- package/es/cc/checkbox/Properties.js +1 -2
- package/es/cc/email/Properties.js +0 -8
- package/es/cc/fields/field/Types.js +23 -31
- package/es/cc/fields/lookup/Properties.js +10 -26
- package/es/cc/highlighted-value/Properties.js +0 -18
- package/es/cc/link/Properties.js +3 -13
- package/es/cc/switch/Properties.js +2 -2
- package/es/cc/table-connected/SdkContract.js +21 -0
- package/es/cc/table-connected/constants/Events.js +2 -0
- package/es/cc/table-list/Actions.js +0 -2
- package/es/cc/table-list/Constants.js +0 -1
- package/es/cc/table-list/Events.js +0 -2
- package/es/cc/table-list/Properties.js +35 -4
- package/es/cc/tags/Data.js +6 -0
- package/es/cc/tags/model/TagModel.js +26 -0
- package/es/cc/tags/model/index.js +1 -1
- package/es/library/custom-component/frameworks/ui/CustomComponentFactory.js +56 -0
- package/es/library/dot/components/table-list/adapters/controllers/index.js +0 -2
- package/es/library/dot/components/table-list/frameworks/ui/EventHandlersFactory.js +1 -2
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +1 -3
- package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +2 -4
- package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +1 -6
- package/es/library/dot/legacy-to-new-arch/index.js +0 -1
- package/es/library/dot/legacy-to-new-arch/link/frameworks/ui/LinkView.js +2 -4
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +2 -12
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +5 -8
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/EventHandlersFactory.js +3 -3
- package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailField.js +3 -3
- package/es/library/dot/legacy-to-new-arch/table-field-components/email-field/frameworks/ui/EmailFieldView.js +6 -8
- package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +5 -22
- package/es/library/dot/legacy-to-new-arch/table-field-components/lookup-field/frameworks/ui/LookupFieldView.js +1 -1
- package/es/library/dot/legacy-to-new-arch/table-field-components/phone-field/frameworks/ui/PhoneFieldView.js +1 -1
- package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/EventHandlersFactory.js +3 -3
- package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchField.js +4 -14
- package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +4 -8
- package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +1 -1
- package/es/platform/components/table-connected/adapters/resources/SmartTableResource.js +169 -8
- package/es/platform/components/table-connected/frameworks/EventHandlersFactory.js +11 -2
- package/es/platform/data-source/http-template/fetchLookupFields.js +0 -6
- package/es/platform/data-source/http-template/getRecords.js +1 -0
- package/es/platform/data-source/index.js +1 -3
- package/es/platform/zfield/applications/usecases/FetchSuccessUseCase.js +0 -33
- package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +0 -5
- package/es/platform/zform/adapters/gateway/FormRepository.js +3 -1
- package/es/platform/zform/adapters/presenter/translators/fields/LookUpFieldTranslator.js +12 -11
- package/es/platform/zform/applications/usecases/MyFormSuccessUseCase.js +9 -10
- package/es/platform/zform/domain/ZForm.js +2 -0
- package/es/platform/zlist/adapters/controllers/RefreshRecordsRequestedController.js +21 -0
- package/es/platform/zlist/adapters/controllers/SortController.js +2 -2
- package/es/platform/zlist/adapters/gateways/Repository.js +6 -11
- package/es/platform/zlist/adapters/gateways/Service.js +2 -0
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +11 -21
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +52 -48
- package/es/platform/zlist/adapters/presenters/translators/Header.js +29 -21
- package/es/platform/zlist/adapters/presenters/translators/HeadersTranslator.js +3 -3
- package/es/platform/zlist/adapters/presenters/translators/Row.js +2 -3
- package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +1 -3
- package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +12 -87
- package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +11 -66
- package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +9 -29
- package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +27 -23
- package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +17 -106
- package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +26 -100
- package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +26 -167
- package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +9 -16
- package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +9 -32
- package/es/platform/zlist/adapters/presenters/utils/DefaultClientActions.js +7 -4
- package/es/platform/zlist/applications/entities-factory/ListFactory.js +2 -2
- package/es/platform/zlist/applications/interfaces/input/GetSortConfigUseCaseInputModel.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/RefreshRecordsRequestedUseCaseInputModel.js +1 -0
- package/es/platform/zlist/applications/interfaces/input/SetSortConfigUseCaseInputModel.js +1 -0
- package/es/platform/zlist/applications/usecases/GetSortConfigUseCase.js +17 -0
- package/es/platform/zlist/applications/usecases/RecordSuccessCallbackUsecase.js +1 -1
- package/es/platform/zlist/applications/usecases/RefreshRecordsRequestedUseCase.js +17 -0
- package/es/platform/zlist/applications/usecases/SetSortConfigUseCase.js +26 -0
- package/es/platform/zlist/applications/usecases/SortUseCase.js +6 -6
- package/es/platform/zlist/domain/entities/List.js +27 -15
- package/es/platform/zlist/domain/entities/interfaces/Properties.js +5 -5
- package/es/platform/zlist/frameworks/EventHandlersFactory.js +3 -4
- package/es/platform/zlist/frameworks/ZListBehaviourFactory.js +2 -5
- package/es/platform/zrecord/adapters/gateways/Repository.js +5 -2
- package/es/platform/zrecord/applications/entities-factory/RecordsManagerFactory.js +2 -2
- package/es/platform/zrecord/applications/interfaces/input/ClearAllFiltersUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/GetFilterConditionUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/GetFilterConfigUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/RefreshRecordsUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/interfaces/input/SetFilterUseCaseInputModel.js +1 -0
- package/es/platform/zrecord/applications/usecases/ClearAllFiltersUseCase.js +24 -0
- package/es/platform/zrecord/applications/usecases/GetFilterConditionUseCase.js +15 -0
- package/es/platform/zrecord/applications/usecases/GetFilterConfigUseCase.js +15 -0
- package/es/platform/zrecord/applications/usecases/RefreshRecordsUseCase.js +14 -0
- package/es/platform/zrecord/applications/usecases/SetFilterUseCase.js +24 -0
- package/es/platform/zrecord/domain/entities/Filter.js +247 -0
- package/es/platform/zrecord/domain/entities/RecordsManager.js +19 -1
- package/es/platform/zrecord/domain/entities/interfaces/IFilter.js +1 -0
- package/es/platform/zrecord/frameworks/RecordBehaviourFactory.js +11 -1
- 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
|
-
|
|
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:
|
|
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
|
|
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:
|
|
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
|
-
|
|
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:
|
|
16
|
-
disabled:
|
|
17
|
-
readonly:
|
|
12
|
+
checked: value,
|
|
13
|
+
disabled: false,
|
|
14
|
+
readonly: false,
|
|
18
15
|
label: "",
|
|
19
|
-
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
|
-
|
|
11
|
+
name: fieldName,
|
|
12
|
+
value: currentValue
|
|
13
13
|
} = state.properties;
|
|
14
|
-
const toggledValue = !
|
|
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
|
|
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:
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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:
|
|
16
|
-
isDotted:
|
|
17
|
-
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;
|
|
@@ -8,10 +8,10 @@ export class EventHandlersFactory {
|
|
|
8
8
|
dispatch
|
|
9
9
|
} = input;
|
|
10
10
|
const {
|
|
11
|
-
fieldName,
|
|
12
|
-
|
|
11
|
+
name: fieldName,
|
|
12
|
+
value: currentValue
|
|
13
13
|
} = state.properties;
|
|
14
|
-
const toggledValue = !
|
|
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
|
|
3
|
-
import
|
|
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:
|
|
10
|
-
|
|
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
|
-
|
|
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:
|
|
16
|
-
disabled:
|
|
17
|
-
|
|
18
|
-
tooltip: tooltip
|
|
12
|
+
checked: value,
|
|
13
|
+
disabled: false,
|
|
14
|
+
tooltip: ""
|
|
19
15
|
});
|
|
20
16
|
}
|
|
@@ -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:
|
|
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,
|
|
458
|
+
const usecase = this.createUseCase(dependencies, SetSortConfigUseCase);
|
|
318
459
|
usecase.execute({
|
|
319
|
-
|
|
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
|
-
[
|
|
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:
|
|
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,
|
|
@@ -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,
|