@zohodesk/components 1.0.0-alpha-275 → 1.0.0-alpha-276

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/README.md CHANGED
@@ -32,6 +32,11 @@ In this Package, we Provide Some Basic Components to Build Web App
32
32
  - TextBoxIcon
33
33
  - Tooltip
34
34
 
35
+ # 1.0.0-alpha-276
36
+
37
+ - **DateTime** - TimeZone null Case Handled
38
+
39
+
35
40
  # 1.0.0-alpha-275
36
41
 
37
42
  - **DateTime** - millisecond and second should work only when customDateFormat is given issue fixed. this fix related to *1.0.0-alpha-272*
@@ -46,6 +46,7 @@ export default class DateTime extends React.PureComponent {
46
46
  this.handleSelectMonthViaYearView = this.handleSelectMonthViaYearView.bind(this);
47
47
  this.handleGetStateValues = this.handleGetStateValues.bind(this);
48
48
  this.handleYearViewToggle = this.handleYearViewToggle.bind(this);
49
+ this.getInitialDate = this.getInitialDate.bind(this);
49
50
  const {
50
51
  ampmText = ampmTextDefault
51
52
  } = props.i18nKeys;
@@ -102,6 +103,33 @@ export default class DateTime extends React.PureComponent {
102
103
  this.handleExposeMethods(false);
103
104
  }
104
105
 
106
+ getInitialDate(value) {
107
+ let timeZone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
108
+ let isDateTime = arguments.length > 2 ? arguments[2] : undefined;
109
+ let result = null;
110
+
111
+ if (isDateTime) {
112
+ if (timeZone && value) {
113
+ result = datetime.toDate(datetime.tz.utcToTz(value, timeZone));
114
+ } else {
115
+ value = value.replace('Z', '');
116
+ result = new Date(value);
117
+ }
118
+ } else {
119
+ if (value) {
120
+ if (timeZone) {
121
+ result = datetime.toDate(value);
122
+ } else {
123
+ result = new Date(value);
124
+ }
125
+ } else {
126
+ result = new Date();
127
+ }
128
+ }
129
+
130
+ return result;
131
+ }
132
+
105
133
  getStateFromProps(props) {
106
134
  let date, month, year, hours, mins, amPm;
107
135
  let {
@@ -126,7 +154,7 @@ export default class DateTime extends React.PureComponent {
126
154
  defaultMin = parseInt(defaultMin);
127
155
  }
128
156
 
129
- const dateObj = isDateTimeField ? datetime.toDate(datetime.tz.utcToTz(value, timeZone)) : value ? datetime.toDate(value) : todayObj;
157
+ const dateObj = this.getInitialDate(value, timeZone, isDateTimeField);
130
158
  date = dateObj.getDate();
131
159
  month = dateObj.getMonth();
132
160
  year = dateObj.getFullYear();
@@ -211,7 +239,7 @@ export default class DateTime extends React.PureComponent {
211
239
  dateArgs.push(sec, milliSec);
212
240
  }
213
241
 
214
- selectedInMillis = datetime.tz.tzToUtc(Date.UTC(...dateArgs), timeZone);
242
+ selectedInMillis = timeZone ? datetime.tz.tzToUtc(Date.UTC(...dateArgs), timeZone) : Date.UTC(...dateArgs);
215
243
  selectedValue = datetime.ISO(selectedInMillis);
216
244
  formattedValue = formatDate(new Date(...dateArgs), customDateFormat == null ? is24Hour ? `${dateFormat} HH:mm:ss` : `${dateFormat} hh:mm:ss A` : `${customDateFormat}`);
217
245
  } else {
@@ -111,6 +111,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
111
111
  _this.handleSelectMonthViaYearView = _this.handleSelectMonthViaYearView.bind(_assertThisInitialized(_this));
112
112
  _this.handleGetStateValues = _this.handleGetStateValues.bind(_assertThisInitialized(_this));
113
113
  _this.handleYearViewToggle = _this.handleYearViewToggle.bind(_assertThisInitialized(_this));
114
+ _this.getInitialDate = _this.getInitialDate.bind(_assertThisInitialized(_this));
114
115
  var _props$i18nKeys$ampmT = props.i18nKeys.ampmText,
115
116
  ampmText = _props$i18nKeys$ampmT === void 0 ? _constants.ampmTextDefault : _props$i18nKeys$ampmT;
116
117
 
@@ -170,6 +171,34 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
170
171
  value: function componentWillUnmount() {
171
172
  this.handleExposeMethods(false);
172
173
  }
174
+ }, {
175
+ key: "getInitialDate",
176
+ value: function getInitialDate(value) {
177
+ var timeZone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
178
+ var isDateTime = arguments.length > 2 ? arguments[2] : undefined;
179
+ var result = null;
180
+
181
+ if (isDateTime) {
182
+ if (timeZone && value) {
183
+ result = _datetimejs["default"].toDate(_datetimejs["default"].tz.utcToTz(value, timeZone));
184
+ } else {
185
+ value = value.replace('Z', '');
186
+ result = new Date(value);
187
+ }
188
+ } else {
189
+ if (value) {
190
+ if (timeZone) {
191
+ result = _datetimejs["default"].toDate(value);
192
+ } else {
193
+ result = new Date(value);
194
+ }
195
+ } else {
196
+ result = new Date();
197
+ }
198
+ }
199
+
200
+ return result;
201
+ }
173
202
  }, {
174
203
  key: "getStateFromProps",
175
204
  value: function getStateFromProps(props) {
@@ -200,7 +229,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
200
229
  defaultMin = parseInt(defaultMin);
201
230
  }
202
231
 
203
- var dateObj = isDateTimeField ? _datetimejs["default"].toDate(_datetimejs["default"].tz.utcToTz(value, timeZone)) : value ? _datetimejs["default"].toDate(value) : todayObj;
232
+ var dateObj = this.getInitialDate(value, timeZone, isDateTimeField);
204
233
  date = dateObj.getDate();
205
234
  month = dateObj.getMonth();
206
235
  year = dateObj.getFullYear();
@@ -284,7 +313,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
284
313
  dateArgs.push(sec, milliSec);
285
314
  }
286
315
 
287
- selectedInMillis = _datetimejs["default"].tz.tzToUtc(Date.UTC.apply(Date, dateArgs), timeZone);
316
+ selectedInMillis = timeZone ? _datetimejs["default"].tz.tzToUtc(Date.UTC.apply(Date, dateArgs), timeZone) : Date.UTC.apply(Date, dateArgs);
288
317
  selectedValue = _datetimejs["default"].ISO(selectedInMillis);
289
318
  formattedValue = (0, _common.formatDate)(_construct(Date, dateArgs), customDateFormat == null ? is24Hour ? "".concat(dateFormat, " HH:mm:ss") : "".concat(dateFormat, " hh:mm:ss A") : "".concat(customDateFormat));
290
319
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.0.0-alpha-275",
3
+ "version": "1.0.0-alpha-276",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "private": false,