@zohodesk/library-platform 1.1.11 → 1.1.12-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.
- package/es/cc/checkbox/Properties.js +2 -1
- package/es/cc/email/Properties.js +8 -0
- package/es/cc/fields/field/Types.js +31 -23
- package/es/cc/highlighted-value/Properties.js +18 -0
- package/es/cc/link/Properties.js +13 -3
- package/es/cc/radio-dropdown/Constants.js +6 -0
- package/es/cc/radio-dropdown/Data.js +1 -0
- package/es/cc/radio-dropdown/Events.js +42 -0
- package/es/cc/radio-dropdown/Properties.js +142 -0
- package/es/cc/radio-dropdown/index.js +4 -0
- package/es/cc/switch/Properties.js +2 -2
- package/es/cc/table-column-filter/Properties.js +9 -0
- package/es/cc/table-list/Properties.js +1 -35
- package/es/cc/tag/Constants.js +6 -0
- package/es/cc/tag/Data.js +14 -0
- package/es/cc/tag/EventHandlers.js +1 -0
- package/es/cc/tag/Events.js +26 -0
- package/es/cc/{tags/model/TagModel.js → tag/Model.js} +6 -2
- package/es/cc/tag/Properties.js +104 -0
- package/es/cc/tag/index.js +6 -0
- package/es/cc/tags/Data.js +0 -6
- package/es/cc/tags/model/index.js +1 -1
- package/es/cc/tags-list-dropdown/Constants.js +5 -0
- package/es/cc/tags-list-dropdown/Data.js +1 -0
- package/es/cc/tags-list-dropdown/Events.js +14 -0
- package/es/cc/tags-list-dropdown/Properties.js +96 -0
- package/es/cc/tags-list-dropdown/index.js +4 -0
- package/es/library/dot/components/form/frameworks/ui/css/Form.module.css +13 -13
- package/es/library/dot/components/form-fields/field/css/FieldItem.module.css +2 -2
- package/es/library/dot/components/section/frameworks/ui/css/Section.module.css +3 -3
- package/es/library/dot/components/table-list/frameworks/ui/css/TableList.module.css +21 -21
- package/es/library/dot/components/table-list/frameworks/ui/sub-components/row/Row.js +3 -1
- package/es/library/dot/legacy-to-new-arch/breadcrumb/frameworks/ui/css/Breadcrumb.module.css +4 -4
- package/es/library/dot/legacy-to-new-arch/date/frameworks/ui/css/DateView.module.css +1 -1
- package/es/library/dot/legacy-to-new-arch/email/frameworks/ui/EmailView.js +4 -2
- package/es/library/dot/legacy-to-new-arch/highlighted-value/frameworks/ui/HighlightedValueView.js +6 -1
- package/es/library/dot/legacy-to-new-arch/index.js +1 -0
- package/es/library/dot/legacy-to-new-arch/label/frameworks/ui/css/Label.module.css +4 -4
- package/es/library/dot/legacy-to-new-arch/link/frameworks/ui/LinkView.js +4 -2
- package/es/library/dot/legacy-to-new-arch/multi-select/frameworks/ui/css/MultiSelectView.module.css +7 -7
- package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdown.js +12 -0
- package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/RadioDropdownView.js +124 -0
- package/es/library/dot/legacy-to-new-arch/radio-dropdown/frameworks/ui/css/RadioDropdown.module.css +23 -0
- package/es/library/dot/legacy-to-new-arch/select/frameworks/ui/css/Select.module.css +2 -2
- package/es/library/dot/legacy-to-new-arch/table-column-chooser/frameworks/ui/css/TableColumnChooserView.module.css +1 -1
- package/es/library/dot/legacy-to-new-arch/table-column-filter/frameworks/ui/TableColumnFilterView.js +2 -1
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxField.js +12 -2
- package/es/library/dot/legacy-to-new-arch/table-field-components/checkbox-field/frameworks/ui/CheckboxFieldView.js +8 -5
- 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 +8 -6
- package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/EventHandlersFactory.js +26 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueField.js +23 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/highlighted-value-field/frameworks/ui/HighlightedValueFieldView.js +24 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/index.js +22 -5
- package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/EventHandlersFactory.js +26 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarField.js +23 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/labeled-avatar-field/frameworks/ui/LabeledAvatarFieldView.js +22 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/EventHandlersFactory.js +26 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkField.js +23 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/link-field/frameworks/ui/LinkFieldView.js +26 -0
- 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/radio-dropdown-field/frameworks/ui/EventHandlersFactory.js +32 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownField.js +32 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/RadioDropdownFieldView.js +43 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/radio-dropdown-field/frameworks/ui/css/RadioDropdownField.module.css +3 -0
- 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 +14 -4
- package/es/library/dot/legacy-to-new-arch/table-field-components/switch-field/frameworks/ui/SwitchFieldView.js +8 -4
- package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/EventHandlersFactory.js +26 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagField.js +23 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/tag-field/frameworks/ui/TagFieldView.js +34 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/EventHandlersFactory.js +26 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsField.js +23 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/tags-field/frameworks/ui/TagsFieldView.js +18 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownField.js +12 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/tags-list-dropdown-field/frameworks/ui/TagsListDropdownFieldView.js +24 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/EventHandlersFactory.js +26 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextField.js +23 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/text-field/frameworks/ui/TextFieldView.js +20 -0
- package/es/library/dot/legacy-to-new-arch/table-field-components/url-field/frameworks/ui/UrlFieldView.js +1 -1
- package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.js +11 -0
- package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/Tag.module.css +8 -0
- package/es/library/dot/legacy-to-new-arch/tag/frameworks/ui/TagView.js +96 -0
- package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagContractAdapter.js +24 -0
- package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdown.js +12 -0
- package/es/library/dot/legacy-to-new-arch/tags-list-dropdown/frameworks/ui/TagsListDropdownView.js +42 -0
- package/es/library/dot/legacy-to-new-arch/text-area/frameworks/ui/css/TextAreaView.module.css +3 -3
- package/es/platform/client-actions/components/row-actions-renderer/frameworks/ui/RowActions/RowActionsRenderer.module.css +5 -5
- package/es/platform/data-source/http-template/getComponentMapping.js +17 -0
- package/es/platform/data-source/index.js +3 -1
- package/es/platform/zfield/applications/usecases/FetchSuccessUseCase.js +33 -0
- package/es/platform/zfield/domain/entities/fields-manager/FieldsManager.js +5 -0
- package/es/platform/zlist/adapters/presenters/TableTranslator.js +15 -2
- package/es/platform/zlist/adapters/presenters/translators/ColumnTranslator.js +48 -52
- package/es/platform/zlist/adapters/presenters/translators/FieldVariations.js +25 -0
- package/es/platform/zlist/adapters/presenters/translators/Row.js +3 -2
- package/es/platform/zlist/adapters/presenters/translators/RowsTranslator.js +3 -1
- package/es/platform/zlist/adapters/presenters/translators/fields/BooleanFieldTranslator.js +87 -12
- package/es/platform/zlist/adapters/presenters/translators/fields/CurrencyFieldTranslator.js +66 -11
- package/es/platform/zlist/adapters/presenters/translators/fields/DateFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/DateTimeFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/DecimalFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/EmailFieldTranslator.js +29 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/FormulaFieldTranslator.js +23 -27
- package/es/platform/zlist/adapters/presenters/translators/fields/LookUpFieldTranslator.js +106 -17
- package/es/platform/zlist/adapters/presenters/translators/fields/MultiLineFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/MultiSelectFieldTranslator.js +100 -26
- package/es/platform/zlist/adapters/presenters/translators/fields/NumberFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/PercentageFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/PhoneFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/PickListFieldTranslator.js +167 -26
- package/es/platform/zlist/adapters/presenters/translators/fields/SingleLineFieldTranslator.js +16 -9
- package/es/platform/zlist/adapters/presenters/translators/fields/URLFieldTranslator.js +32 -9
- package/package.json +8 -8
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
import EmptyViewModel from "./EmptyViewModel";
|
|
2
2
|
import * as FieldTranslators from "./fields";
|
|
3
3
|
import ClientActionsTranslator from "../../../../client-actions/translators/client-actions-translator";
|
|
4
|
+
import { isValidFieldVariation } from "./FieldVariations";
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
function getLookupUrlConstructions(_ref) {
|
|
7
|
-
let {
|
|
8
|
-
field,
|
|
9
|
-
value,
|
|
10
|
-
context
|
|
11
|
-
} = _ref;
|
|
12
|
-
let {
|
|
13
|
-
orgName,
|
|
14
|
-
departmentName
|
|
15
|
-
} = context;
|
|
16
|
-
let lookupModuleName = field?.lookup?.module?.apiName;
|
|
17
|
-
return `/agent/${orgName}/${departmentName}/${lookupModuleName}/details/${value.id}`;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, context, preferences, instanceName, textOverflowConfig, moduleName, nameFieldsConfig, recordReadStatusConfig) {
|
|
6
|
+
function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, context, preferences, instanceName, moduleName, textOverflowConfig, nameFieldsConfig, recordReadStatusConfig, componentMapping) {
|
|
21
7
|
const {
|
|
22
8
|
isCustomField,
|
|
23
9
|
name,
|
|
@@ -32,7 +18,6 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
32
18
|
__DEVELOPMENT__ && console.warn(`The string format for componentMapping will soon be deprecated. Please update to the new JSON format. REF : ${JSON.stringify(fieldEntry)}`);
|
|
33
19
|
}
|
|
34
20
|
|
|
35
|
-
let tempValue = undefined;
|
|
36
21
|
let value = isCustomField ? record.cf?.[name] : record[name];
|
|
37
22
|
const actions = ClientActionsTranslator.transform(fieldActions, instanceName, moduleName, {
|
|
38
23
|
field,
|
|
@@ -43,8 +28,12 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
43
28
|
return EmptyViewModel(name);
|
|
44
29
|
}
|
|
45
30
|
|
|
46
|
-
if (
|
|
47
|
-
field.uiType
|
|
31
|
+
if (field.uiType && !isValidFieldVariation(type, field.uiType)) {
|
|
32
|
+
__DEVELOPMENT__ && console.warn(`The uiType ${field.uiType} is not a valid variation for field type ${type}. Ignoring the uiType.`);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (typeof fieldEntry === 'string') {
|
|
36
|
+
field.uiType = fieldEntry;
|
|
48
37
|
}
|
|
49
38
|
|
|
50
39
|
let nameFieldTypes = ['Text'];
|
|
@@ -58,22 +47,9 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
58
47
|
return EmptyViewModel(name);
|
|
59
48
|
}
|
|
60
49
|
|
|
61
|
-
if (field.type == "LookUp") {
|
|
62
|
-
// temp fix for when lookup field don't have value !object
|
|
63
|
-
tempValue = typeof value !== 'object' ? {
|
|
64
|
-
name: value,
|
|
65
|
-
id: value
|
|
66
|
-
} : value;
|
|
67
|
-
tempValue.url = getLookupUrlConstructions({
|
|
68
|
-
field,
|
|
69
|
-
value,
|
|
70
|
-
context
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
50
|
const translatorArgs = {
|
|
75
51
|
field,
|
|
76
|
-
value
|
|
52
|
+
value,
|
|
77
53
|
appendToActionPayload: {
|
|
78
54
|
recordId: record.id
|
|
79
55
|
},
|
|
@@ -96,31 +72,51 @@ function ColumnTranslator(field, record, fieldComponentMapping, fieldActions, co
|
|
|
96
72
|
...fieldTranslator(translatorArgs)
|
|
97
73
|
};
|
|
98
74
|
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (fieldEntry.fieldToUIComponentTranslator) {
|
|
103
|
-
viewModel.value = fieldEntry.fieldToUIComponentTranslator({
|
|
104
|
-
field,
|
|
105
|
-
record,
|
|
106
|
-
context
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (fieldEntry.translator) {
|
|
111
|
-
const newViewModel = fieldEntry.translator({
|
|
75
|
+
if (componentMapping && componentMapping.translator) {
|
|
76
|
+
return { ...viewModel,
|
|
77
|
+
...componentMapping.translator({
|
|
112
78
|
viewModel,
|
|
113
79
|
field,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
80
|
+
record,
|
|
81
|
+
context,
|
|
82
|
+
preferences
|
|
83
|
+
})
|
|
84
|
+
};
|
|
85
|
+
} else {
|
|
86
|
+
//will be deprecated soon
|
|
87
|
+
if (fieldEntry && typeof fieldEntry === 'object') {
|
|
88
|
+
viewModel.type = fieldEntry.UIComponentName;
|
|
89
|
+
|
|
90
|
+
if (fieldEntry.fieldToUIComponentTranslator) {
|
|
91
|
+
viewModel.value = fieldEntry.fieldToUIComponentTranslator({
|
|
92
|
+
field,
|
|
93
|
+
record,
|
|
94
|
+
context
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (fieldEntry.translator) {
|
|
99
|
+
const newViewModel = fieldEntry.translator({
|
|
100
|
+
viewModel: viewModel,
|
|
101
|
+
field,
|
|
102
|
+
record,
|
|
103
|
+
context,
|
|
104
|
+
preferences
|
|
105
|
+
});
|
|
106
|
+
return { ...newViewModel,
|
|
107
|
+
type: fieldEntry.UIComponentName ? fieldEntry.UIComponentName : field.uiType,
|
|
108
|
+
appendToActionPayload: {
|
|
109
|
+
recordId: record.id,
|
|
110
|
+
...newViewModel.appendToActionPayload
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
;
|
|
118
116
|
}
|
|
119
117
|
|
|
120
118
|
return viewModel;
|
|
121
119
|
}
|
|
122
|
-
|
|
123
|
-
return viewModel;
|
|
124
120
|
}
|
|
125
121
|
|
|
126
122
|
export default ColumnTranslator;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import FieldTypes from "../../../../../cc/fields/field/Types";
|
|
2
|
+
const variationsMap = {
|
|
3
|
+
'Boolean': [FieldTypes.CheckboxField, FieldTypes.SwitchField] // 'Date': ['DatePicker', 'DateTimePicker'],
|
|
4
|
+
// 'Text': ['SingleLineText', 'MultiLineText', 'RichText'],
|
|
5
|
+
// Add more field types and their variations as needed
|
|
6
|
+
|
|
7
|
+
};
|
|
8
|
+
export const isValidFieldVariation = (fieldType, uiType) => {
|
|
9
|
+
const validVariations = variationsMap[fieldType];
|
|
10
|
+
return validVariations ? validVariations.includes(uiType) : false;
|
|
11
|
+
};
|
|
12
|
+
/*
|
|
13
|
+
|
|
14
|
+
Smart Table Field UI Variants:
|
|
15
|
+
• Boolean - CheckBox, Switch, Text
|
|
16
|
+
• Lookup - Link, Tag (Chip), LabeledAvatar
|
|
17
|
+
• SingleLine - Text, Link (Name field)
|
|
18
|
+
• MultiPicklist - TagsList, TagsDropdown
|
|
19
|
+
• ColoredMultiPicklist - TagsList
|
|
20
|
+
• ColoredPicklist - ColoredTag
|
|
21
|
+
• URL - Link, Text
|
|
22
|
+
• Email - Email
|
|
23
|
+
• Date, DateTime, Picklist, Currency, Integer, Decimal, Phone, Percentage - Text
|
|
24
|
+
|
|
25
|
+
*/
|
|
@@ -14,14 +14,15 @@ export default function RowTranslator(_ref) {
|
|
|
14
14
|
textOverflowConfig,
|
|
15
15
|
moduleName,
|
|
16
16
|
nameFieldsConfig,
|
|
17
|
-
recordReadStatusConfig
|
|
17
|
+
recordReadStatusConfig,
|
|
18
|
+
componentMapping
|
|
18
19
|
} = _ref;
|
|
19
20
|
const actions = ClientActionsTranslator.transform(rowActions, instanceName, moduleName, { ...context,
|
|
20
21
|
record
|
|
21
22
|
});
|
|
22
23
|
return {
|
|
23
24
|
id: record.id,
|
|
24
|
-
columns: fields.map(field => ColumnTranslator(field, record, fieldComponentMapping, fieldActions, context, preferences, instanceName, textOverflowConfig, moduleName, nameFieldsConfig, recordReadStatusConfig)),
|
|
25
|
+
columns: fields.map(field => ColumnTranslator(field, record, fieldComponentMapping, fieldActions, context, preferences, instanceName, textOverflowConfig, moduleName, nameFieldsConfig, recordReadStatusConfig, componentMapping.find(item => item.fieldName === field.name))),
|
|
25
26
|
rowActionLocation: {
|
|
26
27
|
type: rowActionsUiType,
|
|
27
28
|
actions
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import RowTranslator from "./Row";
|
|
2
2
|
export default class RowsTranslator {
|
|
3
|
-
constructor(records, fields, rowActions, context, preferences, fieldComponentMapping, rowActionsUiType, fieldActions, instanceName, textOverflowConfig, moduleName, nameFieldsConfig, recordReadStatusConfig) {
|
|
3
|
+
constructor(records, fields, rowActions, context, preferences, fieldComponentMapping, rowActionsUiType, fieldActions, instanceName, textOverflowConfig, moduleName, nameFieldsConfig, recordReadStatusConfig, componentMapping) {
|
|
4
4
|
this.records = records;
|
|
5
5
|
this.fields = fields;
|
|
6
6
|
this.rowActions = rowActions;
|
|
@@ -14,6 +14,7 @@ export default class RowsTranslator {
|
|
|
14
14
|
this.moduleName = moduleName;
|
|
15
15
|
this.nameFieldsConfig = nameFieldsConfig;
|
|
16
16
|
this.recordReadStatusConfig = recordReadStatusConfig;
|
|
17
|
+
this.componentMapping = componentMapping;
|
|
17
18
|
this.pipe = this.pipe.bind(this);
|
|
18
19
|
}
|
|
19
20
|
|
|
@@ -23,6 +24,7 @@ export default class RowsTranslator {
|
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
return this.records.map(record => RowTranslator({
|
|
27
|
+
componentMapping: this.componentMapping,
|
|
26
28
|
record,
|
|
27
29
|
fields: this.fields,
|
|
28
30
|
fieldComponentMapping: this.fieldComponentMapping,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
|
|
2
2
|
import FieldTypes from "../../../../../../cc/fields/field/Types";
|
|
3
|
-
import BooleanFieldModel from "../../../../../../cc/fields/boolean/Model";
|
|
4
3
|
|
|
5
4
|
const BooleanFieldTranslator = _ref => {
|
|
6
5
|
let {
|
|
@@ -12,23 +11,99 @@ const BooleanFieldTranslator = _ref => {
|
|
|
12
11
|
} = _ref;
|
|
13
12
|
const {
|
|
14
13
|
uiType,
|
|
15
|
-
name
|
|
14
|
+
name,
|
|
15
|
+
displayLabel
|
|
16
16
|
} = field;
|
|
17
|
+
let newValue = value;
|
|
17
18
|
|
|
18
19
|
if (value === 'true') {
|
|
19
|
-
|
|
20
|
+
newValue = true;
|
|
20
21
|
} else if (value === 'false') {
|
|
21
|
-
|
|
22
|
+
newValue = false;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
switch (uiType) {
|
|
26
|
+
case FieldTypes.TextField:
|
|
27
|
+
return {
|
|
28
|
+
type: FieldTypes.TextField,
|
|
29
|
+
fieldName: name,
|
|
30
|
+
text: value,
|
|
31
|
+
isDotted: textOverflowMode === 'clip',
|
|
32
|
+
weight: isRead ? undefined : 'bold',
|
|
33
|
+
tooltip: value,
|
|
34
|
+
appendToActionPayload,
|
|
35
|
+
isRead,
|
|
36
|
+
textOverflowMode
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
case FieldTypes.HighlightedValueField:
|
|
40
|
+
return {
|
|
41
|
+
type: FieldTypes.HighlightedValueField,
|
|
42
|
+
fieldName: name,
|
|
43
|
+
text: value,
|
|
44
|
+
color: newValue ? 'green' : 'red',
|
|
45
|
+
tooltip: value,
|
|
46
|
+
cursor: 'default',
|
|
47
|
+
appendToActionPayload,
|
|
48
|
+
isRead,
|
|
49
|
+
textOverflowMode
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
case FieldTypes.RadioDropdownField:
|
|
53
|
+
{
|
|
54
|
+
const options = [{
|
|
55
|
+
id: 'true',
|
|
56
|
+
value: 'true',
|
|
57
|
+
secondaryValue: ''
|
|
58
|
+
}, {
|
|
59
|
+
id: 'false',
|
|
60
|
+
value: 'false',
|
|
61
|
+
secondaryValue: ''
|
|
62
|
+
}];
|
|
63
|
+
const highlightedValueColor = newValue ? 'green' : 'red';
|
|
64
|
+
return {
|
|
65
|
+
type: FieldTypes.RadioDropdownField,
|
|
66
|
+
fieldName: name,
|
|
67
|
+
fieldType: 'boolean',
|
|
68
|
+
options,
|
|
69
|
+
color: highlightedValueColor,
|
|
70
|
+
selectedId: value,
|
|
71
|
+
selectedValue: value,
|
|
72
|
+
dropdownHeading: displayLabel,
|
|
73
|
+
isDotted: textOverflowMode === 'clip',
|
|
74
|
+
weight: isRead ? undefined : 'bold',
|
|
75
|
+
hasSearch: false,
|
|
76
|
+
isDisabled: false,
|
|
77
|
+
isReadOnly: false,
|
|
78
|
+
appendToActionPayload,
|
|
79
|
+
isRead,
|
|
80
|
+
textOverflowMode
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
case FieldTypes.SwitchField:
|
|
85
|
+
return {
|
|
86
|
+
type: FieldTypes.SwitchField,
|
|
87
|
+
fieldName: name,
|
|
88
|
+
checked: newValue,
|
|
89
|
+
disabled: false,
|
|
90
|
+
tooltip: '',
|
|
91
|
+
appendToActionPayload,
|
|
92
|
+
isRead,
|
|
93
|
+
textOverflowMode
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
case FieldTypes.CheckboxField:
|
|
97
|
+
default:
|
|
98
|
+
return {
|
|
99
|
+
type: FieldTypes.CheckboxField,
|
|
100
|
+
fieldName: name,
|
|
101
|
+
checked: newValue,
|
|
102
|
+
appendToActionPayload,
|
|
103
|
+
isRead,
|
|
104
|
+
textOverflowMode
|
|
105
|
+
};
|
|
106
|
+
}
|
|
32
107
|
};
|
|
33
108
|
|
|
34
109
|
export default BooleanFieldTranslator;
|
|
@@ -1,7 +1,49 @@
|
|
|
1
1
|
import FieldTypes from "../../../../../../cc/fields/field/Types";
|
|
2
|
-
import CurrencyFieldModel from "../../../../../../cc/fields/currency/Model";
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
function isValidNumber() {
|
|
4
|
+
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
5
|
+
const rejexPattern = new RegExp('^(\\d+\\.?\\d*|\\.\\d+)$');
|
|
6
|
+
const isValidInt = rejexPattern.test(value);
|
|
7
|
+
return isValidInt;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function formatCurrency(_ref) {
|
|
11
|
+
let {
|
|
12
|
+
value,
|
|
13
|
+
locale = 'IN',
|
|
14
|
+
symbol = 'Rs.'
|
|
15
|
+
} = _ref;
|
|
16
|
+
const isValidInt = isValidNumber(value);
|
|
17
|
+
|
|
18
|
+
if (isValidInt && symbol) {
|
|
19
|
+
const currencyArr = new Intl.NumberFormat(`en-${locale}`).formatToParts(value);
|
|
20
|
+
let currencyVal = '';
|
|
21
|
+
currencyArr.map(val => {
|
|
22
|
+
if (val.type == 'group') {
|
|
23
|
+
currencyVal += ',';
|
|
24
|
+
} else if (val.type == 'integer') {
|
|
25
|
+
currencyVal += val.value;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
if (value.indexOf('.') != -1) {
|
|
30
|
+
const fractionVal = value.split(".")[1];
|
|
31
|
+
|
|
32
|
+
for (let i = fractionVal.length - 1; i >= 0; i--) {
|
|
33
|
+
if (fractionVal[i] != 0) {
|
|
34
|
+
currencyVal += `.${fractionVal.slice(0, i + 1)}`;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return `${symbol}${currencyVal}`;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const CurrencyFieldTranslator = _ref2 => {
|
|
5
47
|
let {
|
|
6
48
|
field,
|
|
7
49
|
value,
|
|
@@ -10,7 +52,7 @@ const CurrencyFieldTranslator = _ref => {
|
|
|
10
52
|
preferences,
|
|
11
53
|
textOverflowMode,
|
|
12
54
|
isRead
|
|
13
|
-
} =
|
|
55
|
+
} = _ref2;
|
|
14
56
|
const {
|
|
15
57
|
uiType,
|
|
16
58
|
name
|
|
@@ -19,16 +61,29 @@ const CurrencyFieldTranslator = _ref => {
|
|
|
19
61
|
let contextCurrencyLocale = context?.currencyLocale;
|
|
20
62
|
let prefCurrencySymbol = preferences?.fields?.[field.apiName]?.currencySymbol;
|
|
21
63
|
let contextCurrencySymbol = context?.currencySymbol;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
name,
|
|
26
|
-
currencyLocale: prefCurrencyLocale || contextCurrencyLocale,
|
|
27
|
-
currencySymbol: prefCurrencySymbol || contextCurrencySymbol,
|
|
28
|
-
isRead,
|
|
64
|
+
let locale = prefCurrencyLocale || contextCurrencyLocale;
|
|
65
|
+
let symbol = prefCurrencySymbol || contextCurrencySymbol;
|
|
66
|
+
let formatedValue = formatCurrency({
|
|
29
67
|
value,
|
|
30
|
-
|
|
68
|
+
locale,
|
|
69
|
+
symbol
|
|
31
70
|
});
|
|
71
|
+
|
|
72
|
+
switch (uiType) {
|
|
73
|
+
case FieldTypes.TextField:
|
|
74
|
+
default:
|
|
75
|
+
return {
|
|
76
|
+
type: FieldTypes.TextField,
|
|
77
|
+
fieldName: name,
|
|
78
|
+
text: formatedValue,
|
|
79
|
+
isDotted: textOverflowMode === 'clip',
|
|
80
|
+
weight: isRead ? undefined : 'bold',
|
|
81
|
+
tooltip: formatedValue,
|
|
82
|
+
appendToActionPayload,
|
|
83
|
+
isRead,
|
|
84
|
+
textOverflowMode
|
|
85
|
+
};
|
|
86
|
+
}
|
|
32
87
|
};
|
|
33
88
|
|
|
34
89
|
export default CurrencyFieldTranslator;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
|
|
2
2
|
import FieldTypes from "../../../../../../cc/fields/field/Types";
|
|
3
|
-
import DateFieldModel from "../../../../../../cc/fields/date/Model";
|
|
4
3
|
|
|
5
4
|
const DateFieldTranslator = _ref => {
|
|
6
5
|
let {
|
|
@@ -14,14 +13,22 @@ const DateFieldTranslator = _ref => {
|
|
|
14
13
|
uiType,
|
|
15
14
|
name
|
|
16
15
|
} = field;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
|
|
17
|
+
switch (uiType) {
|
|
18
|
+
case FieldTypes.TextField:
|
|
19
|
+
default:
|
|
20
|
+
return {
|
|
21
|
+
type: FieldTypes.TextField,
|
|
22
|
+
fieldName: name,
|
|
23
|
+
text: value,
|
|
24
|
+
isDotted: textOverflowMode === 'clip',
|
|
25
|
+
weight: isRead ? undefined : 'bold',
|
|
26
|
+
tooltip: value,
|
|
27
|
+
appendToActionPayload,
|
|
28
|
+
isRead,
|
|
29
|
+
textOverflowMode
|
|
30
|
+
};
|
|
31
|
+
}
|
|
25
32
|
};
|
|
26
33
|
|
|
27
34
|
export default DateFieldTranslator;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
|
|
2
2
|
import FieldTypes from "../../../../../../cc/fields/field/Types";
|
|
3
|
-
import DateTimeFieldModel from "../../../../../../cc/fields/datetime/Model";
|
|
4
3
|
|
|
5
4
|
const DateTimeFieldTranslator = _ref => {
|
|
6
5
|
let {
|
|
@@ -14,14 +13,22 @@ const DateTimeFieldTranslator = _ref => {
|
|
|
14
13
|
uiType,
|
|
15
14
|
name
|
|
16
15
|
} = field;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
|
|
17
|
+
switch (uiType) {
|
|
18
|
+
case FieldTypes.TextField:
|
|
19
|
+
default:
|
|
20
|
+
return {
|
|
21
|
+
type: FieldTypes.TextField,
|
|
22
|
+
fieldName: name,
|
|
23
|
+
text: value,
|
|
24
|
+
isDotted: textOverflowMode === 'clip',
|
|
25
|
+
weight: isRead ? undefined : 'bold',
|
|
26
|
+
tooltip: value,
|
|
27
|
+
appendToActionPayload,
|
|
28
|
+
isRead,
|
|
29
|
+
textOverflowMode
|
|
30
|
+
};
|
|
31
|
+
}
|
|
25
32
|
};
|
|
26
33
|
|
|
27
34
|
export default DateTimeFieldTranslator;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// import FieldModel from '@platform/zfield/entities/interfaces/FieldModel';
|
|
2
2
|
import FieldTypes from "../../../../../../cc/fields/field/Types";
|
|
3
|
-
import DecimalFieldModel from "../../../../../../cc/fields/decimal/Model";
|
|
4
3
|
|
|
5
4
|
const DecimalFieldTranslator = _ref => {
|
|
6
5
|
let {
|
|
@@ -14,14 +13,22 @@ const DecimalFieldTranslator = _ref => {
|
|
|
14
13
|
uiType,
|
|
15
14
|
name
|
|
16
15
|
} = field;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
|
|
17
|
+
switch (uiType) {
|
|
18
|
+
case FieldTypes.TextField:
|
|
19
|
+
default:
|
|
20
|
+
return {
|
|
21
|
+
type: FieldTypes.TextField,
|
|
22
|
+
fieldName: name,
|
|
23
|
+
text: value,
|
|
24
|
+
isDotted: textOverflowMode === 'clip',
|
|
25
|
+
weight: isRead ? undefined : 'bold',
|
|
26
|
+
tooltip: value,
|
|
27
|
+
appendToActionPayload,
|
|
28
|
+
isRead,
|
|
29
|
+
textOverflowMode
|
|
30
|
+
};
|
|
31
|
+
}
|
|
25
32
|
};
|
|
26
33
|
|
|
27
34
|
export default DecimalFieldTranslator;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import FieldTypes from "../../../../../../cc/fields/field/Types";
|
|
2
|
-
import EmailFieldModel from "../../../../../../cc/fields/email/Model";
|
|
3
2
|
|
|
4
3
|
const EmailFieldTranslator = _ref => {
|
|
5
4
|
let {
|
|
@@ -13,14 +12,35 @@ const EmailFieldTranslator = _ref => {
|
|
|
13
12
|
uiType,
|
|
14
13
|
name
|
|
15
14
|
} = field;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
|
|
16
|
+
switch (uiType) {
|
|
17
|
+
case FieldTypes.TextField:
|
|
18
|
+
return {
|
|
19
|
+
type: FieldTypes.TextField,
|
|
20
|
+
fieldName: name,
|
|
21
|
+
text: value,
|
|
22
|
+
isDotted: textOverflowMode === 'clip',
|
|
23
|
+
weight: isRead ? undefined : 'bold',
|
|
24
|
+
tooltip: value,
|
|
25
|
+
appendToActionPayload,
|
|
26
|
+
isRead,
|
|
27
|
+
textOverflowMode
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
case FieldTypes.EmailField:
|
|
31
|
+
default:
|
|
32
|
+
return {
|
|
33
|
+
type: FieldTypes.EmailField,
|
|
34
|
+
fieldName: name,
|
|
35
|
+
email: value,
|
|
36
|
+
isDotted: textOverflowMode === 'clip',
|
|
37
|
+
weight: isRead ? undefined : 'bold',
|
|
38
|
+
tooltip: value,
|
|
39
|
+
appendToActionPayload,
|
|
40
|
+
isRead,
|
|
41
|
+
textOverflowMode
|
|
42
|
+
};
|
|
43
|
+
}
|
|
24
44
|
};
|
|
25
45
|
|
|
26
46
|
export default EmailFieldTranslator;
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import SingleLineFieldTranslator from "./SingleLineFieldTranslator";
|
|
2
|
+
import BooleanFieldTranslator from "./BooleanFieldTranslator";
|
|
3
|
+
import DecimalFieldTranslator from "./DecimalFieldTranslator";
|
|
4
|
+
import CurrencyFieldTranslator from "./CurrencyFieldTranslator";
|
|
5
|
+
import DateFieldTranslator from "./DateFieldTranslator";
|
|
6
|
+
import DateTimeFieldTranslator from "./DateTimeFieldTranslator";
|
|
7
|
+
const fieldTypeFactory = {
|
|
8
|
+
STRING: SingleLineFieldTranslator,
|
|
9
|
+
BOOLEAN: BooleanFieldTranslator,
|
|
10
|
+
DECIMAL: DecimalFieldTranslator,
|
|
11
|
+
CURRENCY: CurrencyFieldTranslator,
|
|
12
|
+
DATE: DateFieldTranslator,
|
|
13
|
+
DATETIME: DateTimeFieldTranslator
|
|
14
|
+
};
|
|
3
15
|
|
|
4
16
|
const FormulaFieldTranslator = _ref => {
|
|
5
17
|
let {
|
|
@@ -12,33 +24,17 @@ const FormulaFieldTranslator = _ref => {
|
|
|
12
24
|
isRead
|
|
13
25
|
} = _ref;
|
|
14
26
|
const {
|
|
15
|
-
|
|
16
|
-
name
|
|
27
|
+
returnType
|
|
17
28
|
} = field;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
let contextCurrencySymbol = context?.currencySymbol;
|
|
22
|
-
const fieldTypeFactory = {
|
|
23
|
-
STRING: FieldTypes.SingleLineField,
|
|
24
|
-
BOOLEAN: FieldTypes.CheckboxField,
|
|
25
|
-
DECIMAL: FieldTypes.DecimalField,
|
|
26
|
-
CURRENCY: FieldTypes.CurrencyField,
|
|
27
|
-
DATE: FieldTypes.DateField,
|
|
28
|
-
DATETIME: FieldTypes.DateTimeField
|
|
29
|
-
};
|
|
30
|
-
const setFieldType = fieldTypeFactory[field.returnType] || FieldTypes.SingleLineField;
|
|
31
|
-
return FormulaFieldModel({
|
|
32
|
-
uiType: uiType || setFieldType,
|
|
33
|
-
appendToActionPayload,
|
|
34
|
-
name,
|
|
35
|
-
...(setFieldType === FieldTypes.CurrencyField && {
|
|
36
|
-
currencyLocale: prefCurrencyLocale || contextCurrencyLocale,
|
|
37
|
-
currencySymbol: prefCurrencySymbol || contextCurrencySymbol
|
|
38
|
-
}),
|
|
39
|
-
isRead,
|
|
29
|
+
const fieldTranslator = fieldTypeFactory[returnType];
|
|
30
|
+
return fieldTranslator({
|
|
31
|
+
field,
|
|
40
32
|
value,
|
|
41
|
-
|
|
33
|
+
appendToActionPayload,
|
|
34
|
+
context,
|
|
35
|
+
preferences,
|
|
36
|
+
textOverflowMode,
|
|
37
|
+
isRead
|
|
42
38
|
});
|
|
43
39
|
};
|
|
44
40
|
|