@reltio/components 1.4.2260 → 1.4.2261

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 (75) hide show
  1. package/AttributesValuesEditor/AttributesValuesEditor.js +8 -2
  2. package/DataTypeValue/DataTypeValue.js +7 -3
  3. package/DataTypeValue/DataTypeValue.test.js +26 -2
  4. package/FilterValueEditor/FilterValueEditor.js +9 -3
  5. package/FilterValueEditor/helpers.d.ts +6 -2
  6. package/FilterValueEditor/helpers.js +40 -24
  7. package/FilterValueEditor/helpers.test.d.ts +1 -0
  8. package/FilterValueEditor/helpers.test.js +30 -0
  9. package/HOCs/withFilter/components/ColumnFilter/ColumnFilter.js +10 -3
  10. package/HOCs/withFilter/components/FilterChip/FilterChip.js +13 -3
  11. package/InlineSimpleAttributeEditor/InlineSimpleAttributeEditor.js +14 -4
  12. package/SimpleAttributeEditor/SimpleAttributeEditor.js +8 -4
  13. package/SimpleAttributeEditor/helpers.d.ts +7 -1
  14. package/SimpleAttributeEditor/helpers.js +10 -8
  15. package/SimpleAttributeEditor/helpers.test.js +52 -9
  16. package/cjs/AttributesValuesEditor/AttributesValuesEditor.js +7 -1
  17. package/cjs/DataTypeValue/DataTypeValue.js +5 -1
  18. package/cjs/DataTypeValue/DataTypeValue.test.js +26 -2
  19. package/cjs/FilterValueEditor/FilterValueEditor.js +8 -2
  20. package/cjs/FilterValueEditor/helpers.d.ts +6 -2
  21. package/cjs/FilterValueEditor/helpers.js +40 -24
  22. package/cjs/FilterValueEditor/helpers.test.d.ts +1 -0
  23. package/cjs/FilterValueEditor/helpers.test.js +32 -0
  24. package/cjs/HOCs/withFilter/components/ColumnFilter/ColumnFilter.js +9 -2
  25. package/cjs/HOCs/withFilter/components/FilterChip/FilterChip.js +11 -1
  26. package/cjs/InlineSimpleAttributeEditor/InlineSimpleAttributeEditor.js +13 -3
  27. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +6 -2
  28. package/cjs/SimpleAttributeEditor/helpers.d.ts +7 -1
  29. package/cjs/SimpleAttributeEditor/helpers.js +11 -8
  30. package/cjs/SimpleAttributeEditor/helpers.test.js +51 -8
  31. package/cjs/contexts/MdmModuleContext/context.d.ts +2 -0
  32. package/cjs/contexts/MdmModuleContext/hooks.d.ts +1 -0
  33. package/cjs/contexts/MdmModuleContext/hooks.js +5 -1
  34. package/cjs/contexts/MdmModuleContext/index.d.ts +1 -1
  35. package/cjs/contexts/MdmModuleContext/index.js +2 -1
  36. package/cjs/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.js +4 -1
  37. package/cjs/features/activity-log/hooks/useSegmentReadableQuery.js +6 -1
  38. package/cjs/features/activity-log/utils/activities.d.ts +3 -1
  39. package/cjs/features/activity-log/utils/activities.js +8 -3
  40. package/cjs/features/activity-log/utils/activities.test.js +21 -0
  41. package/cjs/features/workflow/ChangeRequestEditor/components/DCRValueEditor/DCRValueEditor.d.ts +2 -2
  42. package/cjs/features/workflow/ChangeRequestEditor/components/DCRValueEditor/DCRValueEditor.js +8 -1
  43. package/cjs/features/workflow/ChangeRequestEditor/components/DCRValueEditorFactory/DCRValueEditorFactory.d.ts +4 -4
  44. package/cjs/features/workflow/ChangeRequestEditor/components/DCRValueEditorFactory/DCRValueEditorFactory.js +8 -4
  45. package/cjs/helpers/attributesView.d.ts +6 -5
  46. package/cjs/helpers/attributesView.js +24 -10
  47. package/cjs/helpers/attributesView.test.js +68 -0
  48. package/cjs/helpers/basicTable.d.ts +5 -2
  49. package/cjs/helpers/basicTable.js +9 -9
  50. package/cjs/helpers/basicTable.test.js +56 -0
  51. package/cjs/hooks/useReadableSearchState/useReadableSearchState.js +4 -2
  52. package/cjs/hooks/useReadableSearchState/useReadableSearchState.test.js +2 -2
  53. package/contexts/MdmModuleContext/context.d.ts +2 -0
  54. package/contexts/MdmModuleContext/hooks.d.ts +1 -0
  55. package/contexts/MdmModuleContext/hooks.js +3 -0
  56. package/contexts/MdmModuleContext/index.d.ts +1 -1
  57. package/contexts/MdmModuleContext/index.js +1 -1
  58. package/features/activity-log/RecordUpdates/components/DeltaField/DeltaField.js +5 -2
  59. package/features/activity-log/hooks/useSegmentReadableQuery.js +7 -2
  60. package/features/activity-log/utils/activities.d.ts +3 -1
  61. package/features/activity-log/utils/activities.js +9 -4
  62. package/features/activity-log/utils/activities.test.js +21 -0
  63. package/features/workflow/ChangeRequestEditor/components/DCRValueEditor/DCRValueEditor.d.ts +2 -2
  64. package/features/workflow/ChangeRequestEditor/components/DCRValueEditor/DCRValueEditor.js +8 -1
  65. package/features/workflow/ChangeRequestEditor/components/DCRValueEditorFactory/DCRValueEditorFactory.d.ts +4 -4
  66. package/features/workflow/ChangeRequestEditor/components/DCRValueEditorFactory/DCRValueEditorFactory.js +8 -4
  67. package/helpers/attributesView.d.ts +6 -5
  68. package/helpers/attributesView.js +24 -10
  69. package/helpers/attributesView.test.js +69 -1
  70. package/helpers/basicTable.d.ts +5 -2
  71. package/helpers/basicTable.js +10 -10
  72. package/helpers/basicTable.test.js +57 -1
  73. package/hooks/useReadableSearchState/useReadableSearchState.js +5 -3
  74. package/hooks/useReadableSearchState/useReadableSearchState.test.js +2 -2
  75. package/package.json +2 -2
@@ -39,8 +39,8 @@ var setUp = function (props, mdmValues) {
39
39
  };
40
40
  describe('DataTypeValue tests', function () {
41
41
  var checkFormatDataTypeCall = function (_a) {
42
- var _b = _a.attributesPresentation, attributesPresentation = _b === void 0 ? defaultAttributesPresentation : _b, _c = _a.dateMask, dateMask = _c === void 0 ? defaultDateMask : _c, _d = _a.dateTimeMask, dateTimeMask = _d === void 0 ? defaultDateTimeMask : _d, dataTypeDefinition = _a.dataTypeDefinition, value = _a.value;
43
- expect(mdm_sdk_1.formatDataTypeValue).toHaveBeenCalledWith({ attributesPresentation: attributesPresentation, dateMask: dateMask, dateTimeMask: dateTimeMask, dataTypeDefinition: dataTypeDefinition }, value);
42
+ var _b = _a.attributesPresentation, attributesPresentation = _b === void 0 ? defaultAttributesPresentation : _b, _c = _a.dateMask, dateMask = _c === void 0 ? defaultDateMask : _c, _d = _a.dateTimeMask, dateTimeMask = _d === void 0 ? defaultDateTimeMask : _d, dataTypeDefinition = _a.dataTypeDefinition, _e = _a.disableTimestampLocalization, disableTimestampLocalization = _e === void 0 ? false : _e, value = _a.value;
43
+ expect(mdm_sdk_1.formatDataTypeValue).toHaveBeenCalledWith({ attributesPresentation: attributesPresentation, dateMask: dateMask, dateTimeMask: dateTimeMask, dataTypeDefinition: dataTypeDefinition, disableTimestampLocalization: disableTimestampLocalization }, value);
44
44
  };
45
45
  afterEach(function () {
46
46
  jest.clearAllMocks();
@@ -143,4 +143,28 @@ describe('DataTypeValue tests', function () {
143
143
  react_2.screen.getByText(value);
144
144
  checkFormatDataTypeCall({ dataTypeDefinition: dataTypeDefinition, value: value });
145
145
  });
146
+ it('should not crash and keep localization on when dataTypeDefinition has no uri and flag is enabled', function () {
147
+ var value = '2025-07-09T23:10:09.000+0000';
148
+ var dataTypeDefinition = { type: 'Timestamp' };
149
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { disableTimestampLocalization: true });
150
+ setUp({ value: value, dataTypeDefinition: dataTypeDefinition }, mdmValues);
151
+ checkFormatDataTypeCall({ dataTypeDefinition: dataTypeDefinition, value: value, disableTimestampLocalization: false });
152
+ });
153
+ it('should disable localization for regular Timestamp attribute when flag is enabled', function () {
154
+ var value = '2025-07-09T23:10:09.000+0000';
155
+ var dataTypeDefinition = {
156
+ type: 'Timestamp',
157
+ uri: 'configuration/entityTypes/Individual/attributes/HireDate'
158
+ };
159
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { disableTimestampLocalization: true });
160
+ setUp({ value: value, dataTypeDefinition: dataTypeDefinition }, mdmValues);
161
+ checkFormatDataTypeCall({ dataTypeDefinition: dataTypeDefinition, value: value, disableTimestampLocalization: true });
162
+ });
163
+ it('should keep localization on for system Timestamp attribute even when flag is enabled', function () {
164
+ var value = '2025-07-09T23:10:09.000+0000';
165
+ var dataTypeDefinition = { type: 'Timestamp', uri: 'createdTime' };
166
+ var mdmValues = __assign(__assign({}, defaultMdmValues), { disableTimestampLocalization: true });
167
+ setUp({ value: value, dataTypeDefinition: dataTypeDefinition }, mdmValues);
168
+ checkFormatDataTypeCall({ dataTypeDefinition: dataTypeDefinition, value: value, disableTimestampLocalization: false });
169
+ });
146
170
  });
@@ -32,13 +32,19 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
32
32
  var ramda_1 = require("ramda");
33
33
  var DateRangeEditor_1 = require("../DateRangeEditor");
34
34
  var DataTypeValueEditor_1 = require("../DataTypeValueEditor");
35
+ var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
35
36
  var RangeDataTypeValueEditor_1 = require("./components/RangeDataTypeValueEditor");
36
37
  var helpers_1 = require("./helpers");
37
38
  var FilterValueEditor = function (_a) {
38
39
  var _b = _a.filter, _c = _b.values, values = _c === void 0 ? [] : _c, fieldName = _b.fieldName, filter = _b.filter, onChange = _a.onChange, dataTypeDefinition = _a.dataTypeDefinition, orientation = _a.orientation, TextFieldProps = _a.TextFieldProps, otherProps = __rest(_a, ["filter", "onChange", "dataTypeDefinition", "orientation", "TextFieldProps"]);
39
40
  var dataType = dataTypeDefinition.type;
40
- var value = (0, mdm_sdk_1.mapFilterValue)((0, helpers_1.toEditorValue)(dataType))(values[0]);
41
- var handleChange = (0, ramda_1.pipe)((0, mdm_sdk_1.mapFilterValue)((0, helpers_1.fromEditorValue)(dataType)), mdm_sdk_1.wrapInArray, onChange);
41
+ var disableTimestampLocalizationFlag = (0, MdmModuleContext_1.useMdmDisableTimestampLocalization)();
42
+ var disableTimestampLocalization = (0, mdm_sdk_1.shouldDisableTimestampLocalizationForAttribute)(dataTypeDefinition, {
43
+ disableTimestampLocalization: disableTimestampLocalizationFlag
44
+ });
45
+ var conversionOptions = { disableTimestampLocalization: disableTimestampLocalization };
46
+ var value = (0, mdm_sdk_1.mapFilterValue)((0, helpers_1.toEditorValue)(dataType, conversionOptions))(values[0]);
47
+ var handleChange = (0, ramda_1.pipe)((0, mdm_sdk_1.mapFilterValue)((0, helpers_1.fromEditorValue)(dataType, conversionOptions)), mdm_sdk_1.wrapInArray, onChange);
42
48
  if ((0, mdm_sdk_1.isDateRangeFilterOption)(filter)) {
43
49
  return (react_1.default.createElement(DateRangeEditor_1.DateRangeEditor, __assign({}, otherProps, { values: value, onChange: handleChange, dataTypeDefinition: dataTypeDefinition, label: ui_i18n_1.default.text('Date Range') })));
44
50
  }
@@ -1,2 +1,6 @@
1
- export function toEditorValue(dataType: any): (value: any) => any;
2
- export function fromEditorValue(dataType: any): (value: any) => any;
1
+ export function toEditorValue(dataType: any, { disableTimestampLocalization }?: {
2
+ disableTimestampLocalization?: boolean;
3
+ }): (value: any) => any;
4
+ export function fromEditorValue(dataType: any, { disableTimestampLocalization }?: {
5
+ disableTimestampLocalization?: boolean;
6
+ }): (value: any) => any;
@@ -2,29 +2,45 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fromEditorValue = exports.toEditorValue = void 0;
4
4
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
5
- var toEditorValue = function (dataType) { return function (value) {
6
- switch (dataType) {
7
- case mdm_sdk_1.DataTypes.TYPE_DATE:
8
- return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : mdm_sdk_1.utils.dates.toLocalDate(value);
9
- case mdm_sdk_1.DataTypes.TYPE_LOCAL_DATE:
10
- case mdm_sdk_1.DataTypes.TYPE_TIMESTAMP:
11
- case mdm_sdk_1.DataTypes.TYPE_ACTIVENESS_DATE:
12
- return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : new Date(value);
13
- default:
14
- return value;
15
- }
16
- }; };
5
+ var toEditorValue = function (dataType, _a) {
6
+ var _b = _a === void 0 ? {} : _a, _c = _b.disableTimestampLocalization, disableTimestampLocalization = _c === void 0 ? false : _c;
7
+ return function (value) {
8
+ switch (dataType) {
9
+ case mdm_sdk_1.DataTypes.TYPE_DATE:
10
+ return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : mdm_sdk_1.utils.dates.toLocalDate(value);
11
+ case mdm_sdk_1.DataTypes.TYPE_TIMESTAMP:
12
+ if ((0, mdm_sdk_1.isDateRangeValue)(value)) {
13
+ return value;
14
+ }
15
+ return disableTimestampLocalization ? mdm_sdk_1.utils.dates.toLocalDate(value) : new Date(value);
16
+ case mdm_sdk_1.DataTypes.TYPE_LOCAL_DATE:
17
+ case mdm_sdk_1.DataTypes.TYPE_ACTIVENESS_DATE:
18
+ return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : new Date(value);
19
+ default:
20
+ return value;
21
+ }
22
+ };
23
+ };
17
24
  exports.toEditorValue = toEditorValue;
18
- var fromEditorValue = function (dataType) { return function (value) {
19
- switch (dataType) {
20
- case mdm_sdk_1.DataTypes.TYPE_DATE:
21
- return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : Date.UTC(value.getFullYear(), value.getMonth(), value.getDate());
22
- case mdm_sdk_1.DataTypes.TYPE_LOCAL_DATE:
23
- case mdm_sdk_1.DataTypes.TYPE_ACTIVENESS_DATE:
24
- case mdm_sdk_1.DataTypes.TYPE_TIMESTAMP:
25
- return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : value.valueOf();
26
- default:
27
- return value;
28
- }
29
- }; };
25
+ var fromEditorValue = function (dataType, _a) {
26
+ var _b = _a === void 0 ? {} : _a, _c = _b.disableTimestampLocalization, disableTimestampLocalization = _c === void 0 ? false : _c;
27
+ return function (value) {
28
+ switch (dataType) {
29
+ case mdm_sdk_1.DataTypes.TYPE_DATE:
30
+ return (0, mdm_sdk_1.isDateRangeValue)(value)
31
+ ? value
32
+ : Date.UTC(value.getFullYear(), value.getMonth(), value.getDate());
33
+ case mdm_sdk_1.DataTypes.TYPE_TIMESTAMP:
34
+ if ((0, mdm_sdk_1.isDateRangeValue)(value)) {
35
+ return value;
36
+ }
37
+ return disableTimestampLocalization ? mdm_sdk_1.utils.dates.toUtcDate(value).getTime() : value.valueOf();
38
+ case mdm_sdk_1.DataTypes.TYPE_LOCAL_DATE:
39
+ case mdm_sdk_1.DataTypes.TYPE_ACTIVENESS_DATE:
40
+ return (0, mdm_sdk_1.isDateRangeValue)(value) ? value : value.valueOf();
41
+ default:
42
+ return value;
43
+ }
44
+ };
45
+ };
30
46
  exports.fromEditorValue = fromEditorValue;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
4
+ var helpers_1 = require("./helpers");
5
+ describe('FilterValueEditor helpers', function () {
6
+ describe('TYPE_TIMESTAMP', function () {
7
+ it('toEditorValue returns Date constructed from value when flag is off', function () {
8
+ var ms = Date.UTC(2020, 1, 20, 7, 0, 0);
9
+ expect((0, helpers_1.toEditorValue)(mdm_sdk_1.DataTypes.TYPE_TIMESTAMP)(ms)).toEqual(new Date(ms));
10
+ });
11
+ it('toEditorValue uses toLocalDate when flag is on (numeric input)', function () {
12
+ var ms = Date.UTC(2020, 1, 20, 7, 0, 0);
13
+ var result = (0, helpers_1.toEditorValue)(mdm_sdk_1.DataTypes.TYPE_TIMESTAMP, { disableTimestampLocalization: true })(ms);
14
+ var utcDate = new Date(ms);
15
+ var expected = new Date(utcDate.getUTCFullYear(), utcDate.getUTCMonth(), utcDate.getUTCDate(), utcDate.getUTCHours(), utcDate.getUTCMinutes(), utcDate.getUTCSeconds(), utcDate.getUTCMilliseconds());
16
+ expect(result.getTime()).toBe(expected.getTime());
17
+ });
18
+ it('fromEditorValue returns local epoch ms when flag is off', function () {
19
+ var localDate = new Date(2020, 1, 20, 7, 0, 0);
20
+ expect((0, helpers_1.fromEditorValue)(mdm_sdk_1.DataTypes.TYPE_TIMESTAMP)(localDate)).toBe(localDate.valueOf());
21
+ });
22
+ it('fromEditorValue preserves local parts as UTC when flag is on', function () {
23
+ var localDate = new Date(2020, 1, 20, 7, 0, 0);
24
+ var result = (0, helpers_1.fromEditorValue)(mdm_sdk_1.DataTypes.TYPE_TIMESTAMP, { disableTimestampLocalization: true })(localDate);
25
+ expect(result).toBe(Date.UTC(localDate.getFullYear(), localDate.getMonth(), localDate.getDate(), localDate.getHours(), localDate.getMinutes(), localDate.getSeconds(), localDate.getMilliseconds()));
26
+ });
27
+ it('passes through DateRange values regardless of flag', function () {
28
+ expect((0, helpers_1.toEditorValue)(mdm_sdk_1.DataTypes.TYPE_TIMESTAMP, { disableTimestampLocalization: true })('lastDay')).toBe('lastDay');
29
+ expect((0, helpers_1.fromEditorValue)(mdm_sdk_1.DataTypes.TYPE_TIMESTAMP, { disableTimestampLocalization: true })('lastDay')).toBe('lastDay');
30
+ });
31
+ });
32
+ });
@@ -35,6 +35,7 @@ var IconButton_1 = __importDefault(require("@mui/material/IconButton"));
35
35
  var ArrowDropDown_1 = __importDefault(require("@mui/icons-material/ArrowDropDown"));
36
36
  var FilterChip_1 = require("../FilterChip");
37
37
  var FilterEditor_1 = require("../../../../FilterEditor");
38
+ var MdmModuleContext_1 = require("../../../../contexts/MdmModuleContext");
38
39
  var basicTable_1 = require("../../../../helpers/basicTable");
39
40
  var helpers_1 = require("./helpers");
40
41
  var styles_1 = require("../../styles");
@@ -42,6 +43,8 @@ var ColumnFilter = function (_a) {
42
43
  var _b;
43
44
  var columnId = _a.columnId, dataTypeDefinition = _a.dataTypeDefinition, filter = _a.filter, filterOptionsData = _a.filterOptionsData, onFilter = _a.onFilter;
44
45
  var styles = (0, styles_1.useStyles)();
46
+ var disableTimestampLocalizationFlag = (0, MdmModuleContext_1.useMdmDisableTimestampLocalization)();
47
+ var disableTimestampLocalizationForFilterValue = (0, mdm_sdk_1.shouldDisableTimestampLocalizationForAttribute)(dataTypeDefinition, { disableTimestampLocalization: disableTimestampLocalizationFlag });
45
48
  var _c = (0, react_1.useState)(null), anchorEl = _c[0], setAnchorEl = _c[1];
46
49
  var openFilterPopup = function (event) { return setAnchorEl(event.currentTarget); };
47
50
  var closeFilterPopup = function () { return setAnchorEl(null); };
@@ -50,7 +53,9 @@ var ColumnFilter = function (_a) {
50
53
  setColumnFilter(filter);
51
54
  }, [filter]);
52
55
  var containerRef = (0, react_1.useRef)(null);
53
- var mdmFilter = (0, basicTable_1.columnFilterToMdmFilter)({ id: columnId, dataTypeDefinition: dataTypeDefinition }, columnFilter);
56
+ var mdmFilter = (0, basicTable_1.columnFilterToMdmFilter)({ id: columnId, dataTypeDefinition: dataTypeDefinition }, columnFilter, {
57
+ disableTimestampLocalization: disableTimestampLocalizationFlag
58
+ });
54
59
  var applyFilterChange = function (newFilter) {
55
60
  if (newFilter !== filter) {
56
61
  onFilter({ columnId: columnId, filter: newFilter });
@@ -81,7 +86,9 @@ var ColumnFilter = function (_a) {
81
86
  return (0, ramda_1.pipe)(getFilterOptionData, (0, ramda_1.prop)('label'), (0, ramda_1.defaultTo)((0, mdm_sdk_1.getFilterOptionLabel)(filterOption)))(filterOption);
82
87
  };
83
88
  var getFilterDataTypeDefinition = function (filterOption) {
84
- return (0, ramda_1.pipe)(getFilterOptionData, (0, ramda_1.prop)('dataTypeDefinition'), (0, ramda_1.defaultTo)((0, mdm_sdk_1.getDataTypeDefinitionForFilterValue)(dataTypeDefinition, filterOption)))(filterOption);
89
+ return (0, ramda_1.pipe)(getFilterOptionData, (0, ramda_1.prop)('dataTypeDefinition'), (0, ramda_1.defaultTo)((0, mdm_sdk_1.getDataTypeDefinitionForFilterValue)(dataTypeDefinition, filterOption, {
90
+ disableTimestampLocalization: disableTimestampLocalizationForFilterValue
91
+ })))(filterOption);
85
92
  };
86
93
  var filterOptionValues = (_b = filterOptionsData === null || filterOptionsData === void 0 ? void 0 : filterOptionsData.map(function (filterOption) { return filterOption.value; })) !== null && _b !== void 0 ? _b : (0, mdm_sdk_1.getFilterOptionsForDataTypeDefinition)(dataTypeDefinition);
87
94
  var filterOptions = filterOptionValues.map(function (value) { return ({ value: value, label: getFilterLabel(value) }); });
@@ -16,9 +16,19 @@ var FilterChip = function (_a) {
16
16
  var attributesPresentation = (0, MdmModuleContext_1.useMdmAttributesPresentation)();
17
17
  var dateMask = (0, MdmModuleContext_1.useMdmDateMask)();
18
18
  var dateTimeMask = (0, MdmModuleContext_1.useMdmDateTimeMask)();
19
+ var disableTimestampLocalizationFlag = (0, MdmModuleContext_1.useMdmDisableTimestampLocalization)();
20
+ var disableTimestampLocalization = (0, mdm_sdk_1.shouldDisableTimestampLocalizationForAttribute)(dataTypeDefinition, {
21
+ disableTimestampLocalization: disableTimestampLocalizationFlag
22
+ });
19
23
  var canFilterAcceptValues = (0, mdm_sdk_1.checkIfOptionHasValues)(filterOption.value);
20
24
  var optionLabel = filterOption.label + (canFilterAcceptValues ? ': ' : '');
21
- var formatValue = (0, mdm_sdk_1.formatDataTypeValue)({ attributesPresentation: attributesPresentation, dataTypeDefinition: dataTypeDefinition, dateMask: dateMask, dateTimeMask: dateTimeMask });
25
+ var formatValue = (0, mdm_sdk_1.formatDataTypeValue)({
26
+ attributesPresentation: attributesPresentation,
27
+ dataTypeDefinition: dataTypeDefinition,
28
+ dateMask: dateMask,
29
+ dateTimeMask: dateTimeMask,
30
+ disableTimestampLocalization: disableTimestampLocalization
31
+ });
22
32
  var convertedValue = (0, mdm_sdk_1.mapFilterValue)(formatValue, filterValue);
23
33
  var filterLabel = canFilterAcceptValues ? (0, mdm_sdk_1.getFilterValueLabel)(filterOption.value, convertedValue) : '';
24
34
  return (react_1.default.createElement(Chip_1.default, { label: react_1.default.createElement(ExpandedValueTooltip_1.ExpandedValueTooltip, { value: optionLabel + filterLabel },
@@ -45,6 +45,7 @@ var classnames_1 = __importDefault(require("classnames"));
45
45
  var ramda_1 = require("ramda");
46
46
  var DataTypeValueEditor_1 = require("../DataTypeValueEditor");
47
47
  var attributesView_1 = require("../helpers/attributesView");
48
+ var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
48
49
  var styles_1 = require("./styles");
49
50
  var DATA_TYPES_WITH_MULTILINE_EDITOR = [mdm_sdk_1.DataTypes.TYPE_TEXT, mdm_sdk_1.DataTypes.TYPE_BLOB];
50
51
  var InlineSimpleAttributeEditor = function (_a) {
@@ -55,7 +56,13 @@ var InlineSimpleAttributeEditor = function (_a) {
55
56
  containerWidth: containerRef.current ? containerRef.current.getBoundingClientRect().width : 0
56
57
  });
57
58
  var dataTypeDefinition = (0, mdm_sdk_1.getAttrDataTypeDefinition)(attributeType);
58
- var initEditorValue = (0, attributesView_1.attributeValueToEditorValue)(attributeValue, dataTypeDefinition);
59
+ var disableTimestampLocalizationFlag = (0, MdmModuleContext_1.useMdmDisableTimestampLocalization)();
60
+ var disableTimestampLocalization = (0, mdm_sdk_1.shouldDisableTimestampLocalizationForAttribute)(attributeType, {
61
+ disableTimestampLocalization: disableTimestampLocalizationFlag
62
+ });
63
+ var initEditorValue = (0, attributesView_1.attributeValueToEditorValue)(attributeValue, dataTypeDefinition, {
64
+ disableTimestampLocalization: disableTimestampLocalization
65
+ });
59
66
  var _c = (0, react_1.useState)(initEditorValue), editorValue = _c[0], changeEditorValue = _c[1];
60
67
  var isTemporaryWithDefaultValue = !(0, ramda_1.isNil)(attributeType.defaultValue) && isTemporary;
61
68
  var TextFieldProps = {
@@ -71,7 +78,8 @@ var InlineSimpleAttributeEditor = function (_a) {
71
78
  autoFocus: true
72
79
  };
73
80
  var applyChangesAndClose = function () {
74
- var editedValue = !(0, ramda_1.isNil)(editorValue) && (0, attributesView_1.editorValueToAttributeValue)(attributeType, editorValue);
81
+ var editedValue = !(0, ramda_1.isNil)(editorValue) &&
82
+ (0, attributesView_1.editorValueToAttributeValue)(attributeType, editorValue, { disableTimestampLocalization: disableTimestampLocalization });
75
83
  if ((!(0, ramda_1.isNil)(editorValue) && !(0, ramda_1.equals)(editorValue, initEditorValue)) || isTemporaryWithDefaultValue) {
76
84
  var editedAttributeValue = (0, mdm_sdk_1.isLookupAttrType)(attributeType)
77
85
  ? {
@@ -79,7 +87,9 @@ var InlineSimpleAttributeEditor = function (_a) {
79
87
  lookupCode: editedValue.lookupCode
80
88
  }
81
89
  : {
82
- value: editorValue === '' && (0, mdm_sdk_1.isNumericType)(dataTypeDefinition.type) ? null : editedValue
90
+ value: (editorValue === '' && (0, mdm_sdk_1.isNumericType)(dataTypeDefinition.type)
91
+ ? null
92
+ : editedValue)
83
93
  };
84
94
  onEdit(__assign(__assign({}, attributeValue), editedAttributeValue));
85
95
  }
@@ -97,6 +97,10 @@ var SimpleAttributeEditor = function (_a) {
97
97
  var showToEdit = canEdit && isEditableMode && !attributeValue.masked;
98
98
  var errorMessage = (0, mdm_sdk_1.getErrorMessage)(ownError);
99
99
  var dependentLookupEditorContext = (0, MdmModuleContext_1.useMdmDependentLookupEditorContext)(attributeValue, attributeType);
100
+ var disableTimestampLocalizationFlag = (0, MdmModuleContext_1.useMdmDisableTimestampLocalization)();
101
+ var disableTimestampLocalization = (0, mdm_sdk_1.shouldDisableTimestampLocalizationForAttribute)(attributeType, {
102
+ disableTimestampLocalization: disableTimestampLocalizationFlag
103
+ });
100
104
  var isAutocompleteTriggerAttribute = (0, react_context_selector_1.useContextSelector)(AutoCompleteContext_1.AddressAutoCompleteContext, function (c) { return c === null || c === void 0 ? void 0 : c.isAutocompleteTriggerAttribute; });
101
105
  var _g = (0, useScrollToAttributeError_1.useScrollToAttributeError)({ highlightedError: highlightedError, isSimple: true }), ref = _g.ref, errorClassName = _g.errorClassName;
102
106
  (0, react_1.useEffect)(function () {
@@ -117,13 +121,13 @@ var SimpleAttributeEditor = function (_a) {
117
121
  }
118
122
  return dataTypeDefinition;
119
123
  }, [attributeType, isAutocompleteTriggerAttribute, isFirstEditor]);
120
- var value = (0, react_1.useMemo)(function () { return (0, attributesView_1.attributeValueToEditorValue)(attributeValue, dataTypeDefinition); }, [attributeValue, dataTypeDefinition]);
124
+ var value = (0, react_1.useMemo)(function () { return (0, attributesView_1.attributeValueToEditorValue)(attributeValue, dataTypeDefinition, { disableTimestampLocalization: disableTimestampLocalization }); }, [attributeValue, dataTypeDefinition, disableTimestampLocalization]);
121
125
  var deactivateError = (0, react_1.useCallback)(function () {
122
126
  if (ownError) {
123
127
  onDeactivateError((0, mdm_sdk_1.getErrorId)(ownError));
124
128
  }
125
129
  }, [ownError, onDeactivateError]);
126
- var onValueEditorChange = (0, react_1.useCallback)((0, ramda_1.pipe)((0, helpers_1.prepareChangeData)(attributeValue, attributeType), onChangeAttribute, deactivateError), [attributeValue, attributeType, onChangeAttribute, deactivateError]);
130
+ var onValueEditorChange = (0, react_1.useCallback)((0, ramda_1.pipe)((0, helpers_1.prepareChangeData)(attributeValue, attributeType, { disableTimestampLocalization: disableTimestampLocalization }), onChangeAttribute, deactivateError), [attributeValue, attributeType, onChangeAttribute, deactivateError, disableTimestampLocalization]);
127
131
  var onDelete = function () {
128
132
  onDeleteAttribute({ uri: attributeValue.uri, attributeType: attributeType });
129
133
  if ((0, mdm_sdk_1.getErrorType)(ownError) !== mdm_sdk_1.ErrorType.missed) {
@@ -1 +1,7 @@
1
- export declare const prepareChangeData: any;
1
+ import { AttributeType, SimpleAttributeValue } from '@reltio/mdm-sdk';
2
+ import { AttributeValueConversionOptions, EditorValue } from '../helpers/attributesView';
3
+ export declare const prepareChangeData: (attributeValue: SimpleAttributeValue, attributeType: AttributeType, options?: AttributeValueConversionOptions) => (editorValue: EditorValue) => {
4
+ value: import("@reltio/mdm-sdk").PrimitiveValue | import("@reltio/mdm-sdk").LookupValue;
5
+ uri: string;
6
+ attributeType: AttributeType;
7
+ };
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prepareChangeData = void 0;
4
- var ramda_1 = require("ramda");
5
4
  var attributesView_1 = require("../helpers/attributesView");
6
- exports.prepareChangeData = (0, ramda_1.curry)(function (attributeValue, attributeType, editorValue) {
7
- var value = (0, attributesView_1.editorValueToAttributeValue)(attributeType, editorValue);
8
- return {
9
- value: value,
10
- uri: attributeValue.uri,
11
- attributeType: attributeType
5
+ var prepareChangeData = function (attributeValue, attributeType, options) {
6
+ if (options === void 0) { options = {}; }
7
+ return function (editorValue) {
8
+ var value = (0, attributesView_1.editorValueToAttributeValue)(attributeType, editorValue, options);
9
+ return {
10
+ value: value,
11
+ uri: attributeValue.uri,
12
+ attributeType: attributeType
13
+ };
12
14
  };
13
- });
15
+ };
16
+ exports.prepareChangeData = prepareChangeData;
@@ -4,15 +4,20 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
4
4
  var helpers_1 = require("./helpers");
5
5
  describe('helpers', function () {
6
6
  describe('prepareChangeData', function () {
7
+ afterEach(function () {
8
+ jest.restoreAllMocks();
9
+ });
7
10
  it('should return "true" as a string, if attribute is boolean', function () {
8
11
  var attributeValue = {
9
12
  value: 'false',
10
13
  uri: 'uri1'
11
14
  };
12
15
  var attributeType = {
16
+ name: 'Flag',
17
+ uri: 'configuration/entityTypes/HasContacts/attributes/Flag',
13
18
  type: mdm_sdk_1.DataTypes.TYPE_BOOLEAN
14
19
  };
15
- expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType, true)).toEqual({
20
+ expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType)(true)).toEqual({
16
21
  value: 'true',
17
22
  uri: attributeValue.uri,
18
23
  attributeType: attributeType
@@ -24,9 +29,11 @@ describe('helpers', function () {
24
29
  uri: 'uri1'
25
30
  };
26
31
  var attributeType = {
32
+ name: 'Flag',
33
+ uri: 'configuration/entityTypes/HasContacts/attributes/Flag',
27
34
  type: mdm_sdk_1.DataTypes.TYPE_BOOLEAN
28
35
  };
29
- expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType, false)).toEqual({
36
+ expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType)(false)).toEqual({
30
37
  value: 'false',
31
38
  uri: attributeValue.uri,
32
39
  attributeType: attributeType
@@ -38,9 +45,11 @@ describe('helpers', function () {
38
45
  uri: 'uri1'
39
46
  };
40
47
  var attributeType = {
48
+ name: 'Date',
49
+ uri: 'configuration/entityTypes/HasContacts/attributes/Date',
41
50
  type: mdm_sdk_1.DataTypes.TYPE_DATE
42
51
  };
43
- expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType, new Date('02-14-2019'))).toEqual({
52
+ expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType)(new Date('02-14-2019'))).toEqual({
44
53
  value: '2019-02-14',
45
54
  uri: attributeValue.uri,
46
55
  attributeType: attributeType
@@ -52,9 +61,11 @@ describe('helpers', function () {
52
61
  uri: 'uri1'
53
62
  };
54
63
  var attributeType = {
64
+ name: 'Date',
65
+ uri: 'configuration/entityTypes/HasContacts/attributes/Date',
55
66
  type: mdm_sdk_1.DataTypes.TYPE_DATE
56
67
  };
57
- expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType, null)).toEqual({
68
+ expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType)(null)).toEqual({
58
69
  value: '',
59
70
  uri: attributeValue.uri,
60
71
  attributeType: attributeType
@@ -66,9 +77,11 @@ describe('helpers', function () {
66
77
  uri: 'uri1'
67
78
  };
68
79
  var attributeType = {
80
+ name: 'Timestamp',
81
+ uri: 'configuration/entityTypes/HasContacts/attributes/Timestamp',
69
82
  type: mdm_sdk_1.DataTypes.TYPE_TIMESTAMP
70
83
  };
71
- var value = (0, helpers_1.prepareChangeData)(attributeValue, attributeType, new Date('2019-02-14T03:20:40+04:00'));
84
+ var value = (0, helpers_1.prepareChangeData)(attributeValue, attributeType)(new Date('2019-02-14T03:20:40+04:00'));
72
85
  expect(value).toMatchObject({
73
86
  uri: attributeValue.uri,
74
87
  attributeType: attributeType,
@@ -81,20 +94,48 @@ describe('helpers', function () {
81
94
  uri: 'uri1'
82
95
  };
83
96
  var attributeType = {
97
+ name: 'Timestamp',
98
+ uri: 'configuration/entityTypes/HasContacts/attributes/Timestamp',
84
99
  type: mdm_sdk_1.DataTypes.TYPE_TIMESTAMP
85
100
  };
86
- expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType, null)).toEqual({
101
+ expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType)(null)).toEqual({
87
102
  value: '',
88
103
  uri: attributeValue.uri,
89
104
  attributeType: attributeType
90
105
  });
91
106
  });
107
+ it('routes through utils.dates.toUtcDate when disableTimestampLocalization is on', function () {
108
+ var toUtcDateSpy = jest.spyOn(mdm_sdk_1.utils.dates, 'toUtcDate');
109
+ var attributeValue = { value: '2018-01-11T07:00:00.000+0000', uri: 'uri1' };
110
+ var attributeType = {
111
+ name: 'Timestamp',
112
+ uri: 'configuration/entityTypes/HasContacts/attributes/Timestamp',
113
+ type: mdm_sdk_1.DataTypes.TYPE_TIMESTAMP
114
+ };
115
+ var editorDate = new Date(2019, 1, 14, 3, 20, 40);
116
+ (0, helpers_1.prepareChangeData)(attributeValue, attributeType, { disableTimestampLocalization: true })(editorDate);
117
+ expect(toUtcDateSpy).toHaveBeenCalledWith(editorDate);
118
+ });
119
+ it('does not invoke utils.dates.toUtcDate when flag is off (baseline)', function () {
120
+ var toUtcDateSpy = jest.spyOn(mdm_sdk_1.utils.dates, 'toUtcDate');
121
+ var attributeValue = { value: '2018-01-11T07:00:00.000+0000', uri: 'uri1' };
122
+ var attributeType = {
123
+ name: 'Timestamp',
124
+ uri: 'configuration/entityTypes/HasContacts/attributes/Timestamp',
125
+ type: mdm_sdk_1.DataTypes.TYPE_TIMESTAMP
126
+ };
127
+ var editorDate = new Date(2019, 1, 14, 3, 20, 40);
128
+ (0, helpers_1.prepareChangeData)(attributeValue, attributeType)(editorDate);
129
+ expect(toUtcDateSpy).not.toHaveBeenCalledWith(editorDate);
130
+ });
92
131
  it('should return new value as is, if attribute is lookup', function () {
93
132
  var attributeValue = {
94
133
  value: 'KT',
95
134
  uri: 'uri1'
96
135
  };
97
136
  var attributeType = {
137
+ name: 'Unit',
138
+ uri: 'configuration/entityTypes/HasContacts/attributes/Unit',
98
139
  type: mdm_sdk_1.DataTypes.TYPE_STRING,
99
140
  lookupCode: 'Units Of Measures'
100
141
  };
@@ -102,7 +143,7 @@ describe('helpers', function () {
102
143
  value: 'G',
103
144
  lookupCode: 'Units Of Measures'
104
145
  };
105
- expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType, newValue)).toEqual({
146
+ expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType)(newValue)).toEqual({
106
147
  value: newValue,
107
148
  uri: attributeValue.uri,
108
149
  attributeType: attributeType
@@ -114,11 +155,13 @@ describe('helpers', function () {
114
155
  uri: 'uri1'
115
156
  };
116
157
  var attributeType = {
158
+ name: 'Unit',
159
+ uri: 'configuration/entityTypes/HasContacts/attributes/Unit',
117
160
  type: mdm_sdk_1.DataTypes.TYPE_STRING,
118
161
  lookupCode: 'Units Of Measures'
119
162
  };
120
163
  var newValue = null;
121
- expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType, newValue)).toEqual({
164
+ expect((0, helpers_1.prepareChangeData)(attributeValue, attributeType)(newValue)).toEqual({
122
165
  value: '',
123
166
  uri: attributeValue.uri,
124
167
  attributeType: attributeType
@@ -62,6 +62,7 @@ export type MdmModuleValuesContextProps = Partial<{
62
62
  dcrReviewAllowAddAttributes: boolean;
63
63
  dcrReviewValidation: boolean;
64
64
  canUserMakeExport: boolean;
65
+ disableTimestampLocalization: boolean;
65
66
  }>;
66
67
  export type MdmModuleActionsContextProps = Partial<{
67
68
  openSearch: (payload: SearchState) => void;
@@ -280,6 +281,7 @@ export declare const MdmModuleValuesContext: import("@fluentui/react-context-sel
280
281
  dcrReviewAllowAddAttributes: boolean;
281
282
  dcrReviewValidation: boolean;
282
283
  canUserMakeExport: boolean;
284
+ disableTimestampLocalization: boolean;
283
285
  }>>;
284
286
  export declare const MdmModuleListenersContext: import("@fluentui/react-context-selector").Context<Partial<{
285
287
  expandInvalidRelatonsListener: (callback: () => void) => (action: any) => void;
@@ -161,3 +161,4 @@ export declare const useMdmReviewDCREnabled: () => boolean;
161
161
  export declare const useMdmDcrReviewAllowAddAttributes: () => boolean;
162
162
  export declare const useMdmDcrReviewValidation: () => boolean;
163
163
  export declare const useMdmCanUserMakeExport: () => boolean;
164
+ export declare const useMdmDisableTimestampLocalization: () => boolean;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenantsWithIdBuilder = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmImagePath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = void 0;
4
- exports.useMdmCanUserMakeExport = exports.useMdmDcrReviewValidation = exports.useMdmDcrReviewAllowAddAttributes = exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = exports.useMdmIsCollaborationEnabled = void 0;
4
+ exports.useMdmDisableTimestampLocalization = exports.useMdmCanUserMakeExport = exports.useMdmDcrReviewValidation = exports.useMdmDcrReviewAllowAddAttributes = exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = exports.useMdmIsCollaborationEnabled = void 0;
5
5
  var react_context_selector_1 = require("@fluentui/react-context-selector");
6
6
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
7
7
  var context_1 = require("./context");
@@ -249,3 +249,7 @@ var useMdmDcrReviewValidation = function () { return useMdmModuleValuesContext(f
249
249
  exports.useMdmDcrReviewValidation = useMdmDcrReviewValidation;
250
250
  var useMdmCanUserMakeExport = function () { return useMdmModuleValuesContext(function (context) { return context.canUserMakeExport; }); };
251
251
  exports.useMdmCanUserMakeExport = useMdmCanUserMakeExport;
252
+ var useMdmDisableTimestampLocalization = function () {
253
+ return useMdmModuleValuesContext(function (context) { var _a; return (_a = context.disableTimestampLocalization) !== null && _a !== void 0 ? _a : false; });
254
+ };
255
+ exports.useMdmDisableTimestampLocalization = useMdmDisableTimestampLocalization;
@@ -1,3 +1,3 @@
1
1
  export { MdmModuleProvider } from './provider';
2
- export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmDataTenantsWithIdBuilder, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled, useMdmDcrReviewAllowAddAttributes, useMdmDcrReviewValidation, useMdmImagePath } from './hooks';
2
+ export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmDataTenantsWithIdBuilder, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes, useMdmControlAttributes, useMdmShowMasking, useMdmReviewDCREnabled, useMdmDcrReviewAllowAddAttributes, useMdmDcrReviewValidation, useMdmImagePath, useMdmDisableTimestampLocalization } from './hooks';
3
3
  export type { MdmModuleActionsContextProps, MdmModuleValuesContextProps, MdmModuleListenersContextProps } from './context';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenantsWithIdBuilder = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = exports.MdmModuleProvider = void 0;
4
- exports.useMdmImagePath = exports.useMdmDcrReviewValidation = exports.useMdmDcrReviewAllowAddAttributes = exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = exports.useMdmIsCollaborationEnabled = void 0;
4
+ exports.useMdmDisableTimestampLocalization = exports.useMdmImagePath = exports.useMdmDcrReviewValidation = exports.useMdmDcrReviewAllowAddAttributes = exports.useMdmReviewDCREnabled = exports.useMdmShowMasking = exports.useMdmControlAttributes = exports.useMdmHiddenAttributes = exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = exports.useMdmIsCollaborationEnabled = void 0;
5
5
  var provider_1 = require("./provider");
6
6
  Object.defineProperty(exports, "MdmModuleProvider", { enumerable: true, get: function () { return provider_1.MdmModuleProvider; } });
7
7
  var hooks_1 = require("./hooks");
@@ -79,3 +79,4 @@ Object.defineProperty(exports, "useMdmReviewDCREnabled", { enumerable: true, get
79
79
  Object.defineProperty(exports, "useMdmDcrReviewAllowAddAttributes", { enumerable: true, get: function () { return hooks_1.useMdmDcrReviewAllowAddAttributes; } });
80
80
  Object.defineProperty(exports, "useMdmDcrReviewValidation", { enumerable: true, get: function () { return hooks_1.useMdmDcrReviewValidation; } });
81
81
  Object.defineProperty(exports, "useMdmImagePath", { enumerable: true, get: function () { return hooks_1.useMdmImagePath; } });
82
+ Object.defineProperty(exports, "useMdmDisableTimestampLocalization", { enumerable: true, get: function () { return hooks_1.useMdmDisableTimestampLocalization; } });
@@ -20,6 +20,7 @@ var DeltaField = function (_a) {
20
20
  var delta = _a.delta;
21
21
  var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
22
22
  var attributesPresentation = (0, MdmModuleContext_1.useMdmAttributesPresentation)();
23
+ var disableTimestampLocalization = (0, MdmModuleContext_1.useMdmDisableTimestampLocalization)();
23
24
  var isMemberDelta = delta.type in types_1.MemberDeltaTypes;
24
25
  var attributeType = !isMemberDelta ? (0, mdm_sdk_1.findAttributeTypeByUri)(metadata, delta.attributeType) : undefined;
25
26
  var memberType = isMemberDelta ? (0, mdm_sdk_1.findMemberTypeByUri)(metadata, delta.attributeType) : undefined;
@@ -30,7 +31,9 @@ var DeltaField = function (_a) {
30
31
  var value = oldValue || newValue;
31
32
  var deltaLabel = (isMemberDelta ? types_1.MemberDeltaTypes : types_1.DeltaTypes)[delta.type];
32
33
  var converter = function (deltaValue) {
33
- return isMemberDelta ? (react_1.default.createElement(EntityUriLink_1.EntityUriLink, { value: 'entities/' + deltaValue, className: DeltaField_module_css_1.default.entityLink }, deltaValue)) : ((0, activities_1.stringifyDeltaValue)(deltaValue, delta.attributeType, metadata, attributesPresentation));
34
+ return isMemberDelta ? (react_1.default.createElement(EntityUriLink_1.EntityUriLink, { value: 'entities/' + deltaValue, className: DeltaField_module_css_1.default.entityLink }, deltaValue)) : ((0, activities_1.stringifyDeltaValue)(deltaValue, delta.attributeType, metadata, attributesPresentation, {
35
+ disableTimestampLocalization: disableTimestampLocalization
36
+ }));
34
37
  };
35
38
  return (react_1.default.createElement(Field_1.Field, { fieldName: fieldName, "data-reltio-id": "delta-field" },
36
39
  react_1.default.createElement("span", null,
@@ -8,6 +8,11 @@ var useSegmentReadableQuery = function (groups) {
8
8
  var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
9
9
  var attributesPresentation = (0, MdmModuleContext_1.useMdmAttributesPresentation)();
10
10
  var lookups = (0, MdmModuleContext_1.useMdmLookups)();
11
- return (0, react_1.useMemo)(function () { return (0, mdm_sdk_1.buildSegmentationGroupsReadableQuery)(metadata, attributesPresentation, lookups, groups); }, [metadata, lookups, attributesPresentation, groups]);
11
+ var disableTimestampLocalization = (0, MdmModuleContext_1.useMdmDisableTimestampLocalization)();
12
+ return (0, react_1.useMemo)(function () {
13
+ return (0, mdm_sdk_1.buildSegmentationGroupsReadableQuery)(metadata, attributesPresentation, lookups, groups, {
14
+ disableTimestampLocalization: disableTimestampLocalization
15
+ });
16
+ }, [metadata, lookups, attributesPresentation, groups, disableTimestampLocalization]);
12
17
  };
13
18
  exports.useSegmentReadableQuery = useSegmentReadableQuery;