@sis-cc/dotstatsuite-components 17.7.0 → 17.7.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.
@@ -67,11 +67,6 @@ var getFormat = function getFormat(freqDisplay) {
67
67
  var getEndDate = function getEndDate(start, mult, duration) {
68
68
  var adder = getAdder(duration);
69
69
  var endDate = adder(start, Number(mult));
70
- var startTZ = start.getTimezoneOffset();
71
- var endTZ = endDate.getTimezoneOffset();
72
- if (startTZ !== endTZ) {
73
- endDate = dateFns.addMinutes(endDate, Math.abs(endTZ) - Math.abs(startTZ));
74
- }
75
70
  return dateFns.subSeconds(endDate, 1);
76
71
  };
77
72
 
@@ -106,9 +101,12 @@ var computeName = function computeName(start, end, freqDisplay, locale, format)
106
101
 
107
102
  var getStartDate = exports.getStartDate = function getStartDate(start) {
108
103
  if (!R.includes('T', start) && !R.endsWith('Z', start)) {
109
- return new Date(start);
104
+ return (0, _date.dateWithoutTZ)(new Date(start));
110
105
  }
111
- var date = new Date(start);
106
+ return new Date(start);
107
+ };
108
+
109
+ var dateWithTZ = function dateWithTZ(date) {
112
110
  return dateFns.addMinutes(date, -date.getTimezoneOffset());
113
111
  };
114
112
 
@@ -122,7 +120,7 @@ var refineTimePeriod = exports.refineTimePeriod = function refineTimePeriod(time
122
120
  if (R.length(split) !== 2) {
123
121
  var _start = getStartDate(R.prop('start', timePeriod));
124
122
  var end = getStartDate(R.prop('end', timePeriod));
125
- return (0, _extends3.default)({}, timePeriod, { start: _start.toISOString(), end: end.toISOString() });
123
+ return (0, _extends3.default)({}, timePeriod, { start: dateWithTZ(_start).toISOString(), end: dateWithTZ(end).toISOString() });
126
124
  }
127
125
 
128
126
  var _split = (0, _slicedToArray3.default)(split, 2),
@@ -145,11 +143,12 @@ var refineTimePeriod = exports.refineTimePeriod = function refineTimePeriod(time
145
143
  var endDate = getEndDate(startDate, mult, duration);
146
144
  var freqDisplay = computeDisplayFreq(start, duration);
147
145
  var format = freqDisplay === 'M' ? monthlyFormat : getFormat(freqDisplay);
148
- var name = computeName((0, _date.dateWithoutTZ)(startDate), (0, _date.dateWithoutTZ)(endDate), freqDisplay, locale, format);
146
+ var name = computeName(startDate, endDate, freqDisplay, locale, format);
147
+
149
148
  return (0, _extends3.default)({}, timePeriod, {
150
149
  id: id,
151
150
  name: name,
152
- start: startDate.toISOString(),
153
- end: endDate.toISOString()
151
+ start: dateWithTZ(startDate).toISOString(),
152
+ end: dateWithTZ(endDate).toISOString()
154
153
  });
155
154
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-components",
3
3
  "description": "Set components based on React.",
4
- "version": "17.7.0",
4
+ "version": "17.7.1",
5
5
  "main": "lib/index.js",
6
6
  "author": "OECD",
7
7
  "license": "MIT",
@@ -52,12 +52,7 @@ const getFormat = (freqDisplay) => {
52
52
 
53
53
  const getEndDate = (start, mult, duration) => {
54
54
  const adder = getAdder(duration);
55
- let endDate = adder(start, Number(mult));
56
- const startTZ = start.getTimezoneOffset();
57
- const endTZ = endDate.getTimezoneOffset();
58
- if (startTZ !== endTZ) {
59
- endDate = dateFns.addMinutes(endDate, (Math.abs(endTZ) - Math.abs(startTZ)));
60
- }
55
+ const endDate = adder(start, Number(mult));
61
56
  return dateFns.subSeconds(endDate, 1);
62
57
  };
63
58
 
@@ -94,19 +89,20 @@ const computeName = (start, end, freqDisplay, locale, format) => {
94
89
 
95
90
  export const getStartDate = (start) => {
96
91
  if (!R.includes('T', start) && !R.endsWith('Z', start)) {
97
- return new Date(start);
92
+ return dateWithoutTZ(new Date(start));
98
93
  }
99
- const date = new Date(start);
100
- return dateFns.addMinutes(date, -date.getTimezoneOffset());
94
+ return new Date(start);
101
95
  };
102
96
 
97
+ const dateWithTZ = date => dateFns.addMinutes(date, -date.getTimezoneOffset());
98
+
103
99
  export const refineTimePeriod = (timePeriod, { locale, monthlyFormat='YYYY-MMM' }) => {
104
100
  const { id } = timePeriod;
105
101
  const split = R.split('/', id);
106
102
  if (R.length(split) !== 2) {
107
103
  const start = getStartDate(R.prop('start', timePeriod));
108
104
  const end = getStartDate(R.prop('end', timePeriod))
109
- return ({ ...timePeriod, start: start.toISOString(), end: end.toISOString() });
105
+ return ({ ...timePeriod, start: dateWithTZ(start).toISOString(), end: dateWithTZ(end).toISOString() });
110
106
  }
111
107
  const [start, range] = split;
112
108
  const startDate = getStartDate(start);
@@ -119,12 +115,13 @@ export const refineTimePeriod = (timePeriod, { locale, monthlyFormat='YYYY-MMM'
119
115
  const endDate = getEndDate(startDate, mult, duration);
120
116
  const freqDisplay = computeDisplayFreq(start, duration);
121
117
  const format = freqDisplay === 'M' ? monthlyFormat : getFormat(freqDisplay);
122
- const name = computeName(dateWithoutTZ(startDate), dateWithoutTZ(endDate), freqDisplay, locale, format);
118
+ const name = computeName(startDate, endDate, freqDisplay, locale, format);
119
+
123
120
  return ({
124
121
  ...timePeriod,
125
122
  id,
126
123
  name,
127
- start: startDate.toISOString(),
128
- end: endDate.toISOString()
124
+ start: dateWithTZ(startDate).toISOString(),
125
+ end: dateWithTZ(endDate).toISOString()
129
126
  })
130
127
  };