ferns-ui 1.0.2 → 1.0.3
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/dist/DateTimeField.js +11 -3
- package/dist/DateTimeField.js.map +1 -1
- package/package.json +1 -1
- package/src/DateTimeField.tsx +12 -3
package/dist/DateTimeField.js
CHANGED
|
@@ -11,10 +11,11 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import { getCalendars } from "expo-localization";
|
|
13
13
|
import { DateTime } from "luxon";
|
|
14
|
-
import React, { useCallback, useState } from "react";
|
|
14
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
15
15
|
import { DateTimeActionSheet } from "./DateTimeActionSheet";
|
|
16
16
|
import { printDate, printDateAndTime, printTime } from "./DateUtilities";
|
|
17
17
|
import { TextField } from "./TextField";
|
|
18
|
+
// TODO: allow use of keyboard to type in date/time
|
|
18
19
|
export const DateTimeField = (_a) => {
|
|
19
20
|
var _b;
|
|
20
21
|
var { type, value, onChange, timezone: tz } = _a, rest = __rest(_a, ["type", "value", "onChange", "timezone"]);
|
|
@@ -131,11 +132,18 @@ export const DateTimeField = (_a) => {
|
|
|
131
132
|
placeholder = "hh:mm a";
|
|
132
133
|
}
|
|
133
134
|
else if (type === "datetime") {
|
|
134
|
-
placeholder = "
|
|
135
|
+
placeholder = "mm/dd/yyyy hh:mm a";
|
|
135
136
|
}
|
|
136
137
|
else if (type === "date") {
|
|
137
|
-
placeholder = "
|
|
138
|
+
placeholder = "mm/dd/yyyy";
|
|
138
139
|
}
|
|
140
|
+
// if the value of the overall field changes via prop from the parent,
|
|
141
|
+
// update the formattedDate to keep the value of the TextField and DateTimeActionSheet in sync
|
|
142
|
+
useEffect(() => {
|
|
143
|
+
if (value && formatValue(value) !== formattedDate) {
|
|
144
|
+
setFormattedDate(formatValue(value));
|
|
145
|
+
}
|
|
146
|
+
}, [formatValue, formattedDate, value]);
|
|
139
147
|
return (React.createElement(React.Fragment, null,
|
|
140
148
|
React.createElement(TextField, Object.assign({ errorText: error, iconName: type === "time" ? "clock" : "calendar", placeholder: placeholder, type: "text", value: formattedDate, onChange: onTextFieldChange, onIconClick: () => {
|
|
141
149
|
setShowDate(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../src/DateTimeField.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../src/DateTimeField.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/DateTimeField.tsx
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {getCalendars} from "expo-localization";
|
|
2
2
|
import {DateTime} from "luxon";
|
|
3
|
-
import React, {useCallback, useState} from "react";
|
|
3
|
+
import React, {useCallback, useEffect, useState} from "react";
|
|
4
4
|
|
|
5
5
|
import {DateTimeFieldProps} from "./Common";
|
|
6
6
|
import {DateTimeActionSheet} from "./DateTimeActionSheet";
|
|
7
7
|
import {printDate, printDateAndTime, printTime} from "./DateUtilities";
|
|
8
8
|
import {TextField} from "./TextField";
|
|
9
9
|
|
|
10
|
+
// TODO: allow use of keyboard to type in date/time
|
|
10
11
|
export const DateTimeField = ({
|
|
11
12
|
type,
|
|
12
13
|
value,
|
|
@@ -143,11 +144,19 @@ export const DateTimeField = ({
|
|
|
143
144
|
if (type === "time") {
|
|
144
145
|
placeholder = "hh:mm a";
|
|
145
146
|
} else if (type === "datetime") {
|
|
146
|
-
placeholder = "
|
|
147
|
+
placeholder = "mm/dd/yyyy hh:mm a";
|
|
147
148
|
} else if (type === "date") {
|
|
148
|
-
placeholder = "
|
|
149
|
+
placeholder = "mm/dd/yyyy";
|
|
149
150
|
}
|
|
150
151
|
|
|
152
|
+
// if the value of the overall field changes via prop from the parent,
|
|
153
|
+
// update the formattedDate to keep the value of the TextField and DateTimeActionSheet in sync
|
|
154
|
+
useEffect(() => {
|
|
155
|
+
if (value && formatValue(value) !== formattedDate) {
|
|
156
|
+
setFormattedDate(formatValue(value));
|
|
157
|
+
}
|
|
158
|
+
}, [formatValue, formattedDate, value]);
|
|
159
|
+
|
|
151
160
|
return (
|
|
152
161
|
<>
|
|
153
162
|
<TextField
|