@etsoo/react 1.7.12 → 1.7.14

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.
@@ -10,26 +10,12 @@ export declare namespace ReactUtils {
10
10
  * @returns Formatted value
11
11
  */
12
12
  function formatInputValue(value: unknown): string | number | any[] | undefined;
13
- /**
14
- * Get nested value
15
- * @param data Data
16
- * @param name Field name, support property chain like 'jsonData.logSize'
17
- * @returns Result
18
- */
19
- function getNestedValue(data: object, name: string): any;
20
13
  /**
21
14
  * Is safe click
22
15
  * @param event Mouse event
23
16
  * @returns Result
24
17
  */
25
18
  function isSafeClick(event: React.MouseEvent<HTMLElement>): boolean;
26
- /**
27
- * Set nested value
28
- * @param data Data
29
- * @param name Field name, support property chain like 'jsonData.logSize'
30
- * @param value Value
31
- */
32
- function setNestedValue(data: object, name: string, value: unknown): void;
33
19
  /**
34
20
  * Trigger input change event
35
21
  * @param input Form input
@@ -1,4 +1,4 @@
1
- import { DomUtils } from '@etsoo/shared';
1
+ import { DateUtils, DomUtils, Utils } from '@etsoo/shared';
2
2
  /**
3
3
  * React utils
4
4
  */
@@ -21,36 +21,6 @@ export var ReactUtils;
21
21
  return String(value);
22
22
  }
23
23
  ReactUtils.formatInputValue = formatInputValue;
24
- /**
25
- * Get nested value
26
- * @param data Data
27
- * @param name Field name, support property chain like 'jsonData.logSize'
28
- * @returns Result
29
- */
30
- function getNestedValue(data, name) {
31
- const properties = name.split('.');
32
- const len = properties.length;
33
- if (len === 1) {
34
- return Reflect.get(data, name);
35
- }
36
- else {
37
- let curr = data;
38
- for (let i = 0; i < len; i++) {
39
- const property = properties[i];
40
- if (i + 1 === len) {
41
- return Reflect.get(curr, property);
42
- }
43
- else {
44
- let p = Reflect.get(curr, property);
45
- if (p == null) {
46
- return undefined;
47
- }
48
- curr = p;
49
- }
50
- }
51
- }
52
- }
53
- ReactUtils.getNestedValue = getNestedValue;
54
24
  /**
55
25
  * Is safe click
56
26
  * @param event Mouse event
@@ -77,36 +47,6 @@ export var ReactUtils;
77
47
  return true;
78
48
  }
79
49
  ReactUtils.isSafeClick = isSafeClick;
80
- /**
81
- * Set nested value
82
- * @param data Data
83
- * @param name Field name, support property chain like 'jsonData.logSize'
84
- * @param value Value
85
- */
86
- function setNestedValue(data, name, value) {
87
- const properties = name.split('.');
88
- const len = properties.length;
89
- if (len === 1)
90
- Reflect.set(data, name, value);
91
- else {
92
- let curr = data;
93
- for (let i = 0; i < len; i++) {
94
- const property = properties[i];
95
- if (i + 1 === len) {
96
- Reflect.set(curr, property, value);
97
- }
98
- else {
99
- let p = Reflect.get(curr, property);
100
- if (p == null) {
101
- p = {};
102
- Reflect.set(curr, property, p);
103
- }
104
- curr = p;
105
- }
106
- }
107
- }
108
- }
109
- ReactUtils.setNestedValue = setNestedValue;
110
50
  /**
111
51
  * Trigger input change event
112
52
  * @param input Form input
@@ -172,7 +112,15 @@ export var ReactUtils;
172
112
  else if (item instanceof HTMLInputElement ||
173
113
  item instanceof HTMLTextAreaElement ||
174
114
  item instanceof HTMLSelectElement) {
175
- item.value = `${(_a = getNestedValue(data, item.name || k)) !== null && _a !== void 0 ? _a : ''}`;
115
+ const value = Utils.getNestedValue(data, item.name || k);
116
+ const isDateTime = item.type === 'datetime-local';
117
+ if (isDateTime || item.type === 'date') {
118
+ item.value =
119
+ (_a = DateUtils.formatForInput(value, isDateTime)) !== null && _a !== void 0 ? _a : '';
120
+ }
121
+ else {
122
+ item.value = `${value !== null && value !== void 0 ? value : ''}`;
123
+ }
176
124
  }
177
125
  else {
178
126
  item.value = data[k];
@@ -202,11 +150,11 @@ export var ReactUtils;
202
150
  data[k] = local(item);
203
151
  }
204
152
  else if (item instanceof HTMLInputElement) {
205
- setNestedValue(data, item.name || k, DomUtils.getInputValue(item));
153
+ Utils.setNestedValue(data, item.name || k, DomUtils.getInputValue(item));
206
154
  }
207
155
  else if (item instanceof HTMLTextAreaElement ||
208
156
  item instanceof HTMLSelectElement) {
209
- setNestedValue(data, item.name || k, item.value);
157
+ Utils.setNestedValue(data, item.name || k, item.value);
210
158
  }
211
159
  else {
212
160
  data[k] = item.value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/react",
3
- "version": "1.7.12",
3
+ "version": "1.7.14",
4
4
  "description": "TypeScript ReactJs UI Independent Framework",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -52,7 +52,7 @@
52
52
  "@emotion/styled": "^11.11.0",
53
53
  "@etsoo/appscript": "^1.4.55",
54
54
  "@etsoo/notificationbase": "^1.1.28",
55
- "@etsoo/shared": "^1.2.13",
55
+ "@etsoo/shared": "^1.2.14",
56
56
  "@types/react": "^18.2.22",
57
57
  "@types/react-dom": "^18.2.7",
58
58
  "@types/react-window": "^1.8.5",
@@ -1,4 +1,4 @@
1
- import { DataTypes, DomUtils } from '@etsoo/shared';
1
+ import { DataTypes, DateUtils, DomUtils, Utils } from '@etsoo/shared';
2
2
  import React from 'react';
3
3
 
4
4
  /**
@@ -22,36 +22,6 @@ export namespace ReactUtils {
22
22
  return String(value);
23
23
  }
24
24
 
25
- /**
26
- * Get nested value
27
- * @param data Data
28
- * @param name Field name, support property chain like 'jsonData.logSize'
29
- * @returns Result
30
- */
31
- export function getNestedValue(data: object, name: string) {
32
- const properties = name.split('.');
33
- const len = properties.length;
34
- if (len === 1) {
35
- return Reflect.get(data, name);
36
- } else {
37
- let curr = data;
38
- for (let i = 0; i < len; i++) {
39
- const property = properties[i];
40
-
41
- if (i + 1 === len) {
42
- return Reflect.get(curr, property);
43
- } else {
44
- let p = Reflect.get(curr, property);
45
- if (p == null) {
46
- return undefined;
47
- }
48
-
49
- curr = p;
50
- }
51
- }
52
- }
53
- }
54
-
55
25
  /**
56
26
  * Is safe click
57
27
  * @param event Mouse event
@@ -82,36 +52,6 @@ export namespace ReactUtils {
82
52
  return true;
83
53
  }
84
54
 
85
- /**
86
- * Set nested value
87
- * @param data Data
88
- * @param name Field name, support property chain like 'jsonData.logSize'
89
- * @param value Value
90
- */
91
- export function setNestedValue(data: object, name: string, value: unknown) {
92
- const properties = name.split('.');
93
- const len = properties.length;
94
- if (len === 1) Reflect.set(data, name, value);
95
- else {
96
- let curr = data;
97
- for (let i = 0; i < len; i++) {
98
- const property = properties[i];
99
-
100
- if (i + 1 === len) {
101
- Reflect.set(curr, property, value);
102
- } else {
103
- let p = Reflect.get(curr, property);
104
- if (p == null) {
105
- p = {};
106
- Reflect.set(curr, property, p);
107
- }
108
-
109
- curr = p;
110
- }
111
- }
112
- }
113
- }
114
-
115
55
  /**
116
56
  * Trigger input change event
117
57
  * @param input Form input
@@ -200,7 +140,15 @@ export namespace ReactUtils {
200
140
  item instanceof HTMLTextAreaElement ||
201
141
  item instanceof HTMLSelectElement
202
142
  ) {
203
- item.value = `${getNestedValue(data, item.name || k) ?? ''}`;
143
+ const value = Utils.getNestedValue(data, item.name || k);
144
+
145
+ const isDateTime = item.type === 'datetime-local';
146
+ if (isDateTime || item.type === 'date') {
147
+ item.value =
148
+ DateUtils.formatForInput(value, isDateTime) ?? '';
149
+ } else {
150
+ item.value = `${value ?? ''}`;
151
+ }
204
152
  } else {
205
153
  (item as any).value = data[k];
206
154
  }
@@ -239,7 +187,7 @@ export namespace ReactUtils {
239
187
  if (local) {
240
188
  data[k] = local(item);
241
189
  } else if (item instanceof HTMLInputElement) {
242
- setNestedValue(
190
+ Utils.setNestedValue(
243
191
  data,
244
192
  item.name || k,
245
193
  DomUtils.getInputValue(item)
@@ -248,7 +196,7 @@ export namespace ReactUtils {
248
196
  item instanceof HTMLTextAreaElement ||
249
197
  item instanceof HTMLSelectElement
250
198
  ) {
251
- setNestedValue(data, item.name || k, item.value);
199
+ Utils.setNestedValue(data, item.name || k, item.value);
252
200
  } else {
253
201
  data[k] = (item as any).value;
254
202
  }