@kwiz/fluentui 1.0.56 → 1.0.57
Sign up to get free protection for your applications and to get access to all the features.
@@ -21,10 +21,21 @@ const useStyles = makeStyles({
|
|
21
21
|
export const FileUpload = React.forwardRef((props, ref) => {
|
22
22
|
const classes = useStyles();
|
23
23
|
const hiddenFileInput = React.useRef(null);
|
24
|
+
const onChangeRef = React.useRef(props.onChange);
|
25
|
+
const asBase64Ref = React.useRef(props.asBase64);
|
24
26
|
const isMulti = props.allowMultiple === true;
|
25
27
|
const icon = props.icon || _jsx(ArrowUploadRegular, {});
|
26
28
|
const title = isNotEmptyString(props.title) ? props.title : `Drop or select ${isMulti ? 'files' : 'file'}`;
|
29
|
+
//keep onChange up to date
|
30
|
+
React.useEffect(() => {
|
31
|
+
onChangeRef.current = props.onChange;
|
32
|
+
}, [props.onChange]);
|
33
|
+
//keep onChange up to date
|
34
|
+
React.useEffect(() => {
|
35
|
+
asBase64Ref.current = props.asBase64;
|
36
|
+
}, [props.asBase64]);
|
27
37
|
const onGotFiles = React.useCallback((rawFiles) => __awaiter(void 0, void 0, void 0, function* () {
|
38
|
+
var _a, _b, _c;
|
28
39
|
let errors = [];
|
29
40
|
let acceptedFiles = [];
|
30
41
|
if (rawFiles && rawFiles.length > 0) {
|
@@ -53,17 +64,13 @@ export const FileUpload = React.forwardRef((props, ref) => {
|
|
53
64
|
}
|
54
65
|
}
|
55
66
|
if (isMulti) {
|
56
|
-
|
57
|
-
props.onChange(acceptedFiles, errors);
|
58
|
-
}
|
67
|
+
(_a = onChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onChangeRef, acceptedFiles, errors);
|
59
68
|
}
|
60
69
|
else {
|
61
70
|
const fileUploaded = acceptedFiles[0];
|
62
|
-
|
63
|
-
props.onChange(fileUploaded, errors);
|
64
|
-
}
|
71
|
+
(_b = onChangeRef.current) === null || _b === void 0 ? void 0 : _b.call(onChangeRef, fileUploaded, errors);
|
65
72
|
}
|
66
|
-
if (isFunction(
|
73
|
+
if (isFunction(asBase64Ref.current)) {
|
67
74
|
const filesAs64 = [];
|
68
75
|
for (let i = 0; i < (isMulti ? acceptedFiles.length : 1); i++) {
|
69
76
|
const currentFile = acceptedFiles[i];
|
@@ -83,7 +90,7 @@ export const FileUpload = React.forwardRef((props, ref) => {
|
|
83
90
|
errors.push(`Could not read file ${acceptedFiles[i].name}`);
|
84
91
|
}
|
85
92
|
}
|
86
|
-
|
93
|
+
(_c = asBase64Ref.current) === null || _c === void 0 ? void 0 : _c.call(asBase64Ref, filesAs64, errors);
|
87
94
|
}
|
88
95
|
}), useEffectOnlyOnMount);
|
89
96
|
const dropContext = useDragDropContext({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../src/controls/file-upload.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAiB,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE9E,MAAM,SAAS,GAAG,UAAU,CAAC;IACzB,YAAY,oBACL,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACzD;CACJ,CAAC,CAAC;AAmBH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACnF,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAC,kBAAkB,KAAG,CAAC;IAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAE3G,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,CAAO,QAAkB,EAAE,EAAE
|
1
|
+
{"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../src/controls/file-upload.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@kwiz/fluentui",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.57",
|
4
4
|
"description": "KWIZ common controls for FluentUI",
|
5
5
|
"module": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -58,6 +58,7 @@
|
|
58
58
|
},
|
59
59
|
"dependencies": {
|
60
60
|
"@fluentui/react-timepicker-compat": "^0.2.42",
|
61
|
+
"@fluentui/react-datepicker-compat": "^0.4.53",
|
61
62
|
"@kwiz/common": "^1.0.103",
|
62
63
|
"esbuild": "^0.19.12",
|
63
64
|
"get-tsconfig": "^4.7.2",
|
@@ -71,7 +72,6 @@
|
|
71
72
|
},
|
72
73
|
"peerDependencies": {
|
73
74
|
"@fluentui/react-components": ">=9.54.17 <10.0.0",
|
74
|
-
"@fluentui/react-datepicker-compat": "^0.4.53",
|
75
75
|
"@types/react": ">=16.14.0 <19.0.0",
|
76
76
|
"@types/react-dom": ">=16.9.0 <19.0.0",
|
77
77
|
"react": ">=16.14.0 <19.0.0",
|
@@ -33,10 +33,23 @@ interface iProps {
|
|
33
33
|
export const FileUpload = React.forwardRef<HTMLButtonElement, (iProps)>((props, ref) => {
|
34
34
|
const classes = useStyles();
|
35
35
|
const hiddenFileInput = React.useRef(null);
|
36
|
+
const onChangeRef = React.useRef(props.onChange);
|
37
|
+
const asBase64Ref = React.useRef(props.asBase64);
|
38
|
+
|
36
39
|
const isMulti = props.allowMultiple === true;
|
37
40
|
const icon = props.icon || <ArrowUploadRegular />;
|
38
41
|
const title = isNotEmptyString(props.title) ? props.title : `Drop or select ${isMulti ? 'files' : 'file'}`;
|
39
42
|
|
43
|
+
//keep onChange up to date
|
44
|
+
React.useEffect(() => {
|
45
|
+
onChangeRef.current = props.onChange;
|
46
|
+
}, [props.onChange]);
|
47
|
+
//keep onChange up to date
|
48
|
+
React.useEffect(() => {
|
49
|
+
asBase64Ref.current = props.asBase64;
|
50
|
+
}, [props.asBase64]);
|
51
|
+
|
52
|
+
|
40
53
|
const onGotFiles = React.useCallback(async (rawFiles: FileList) => {
|
41
54
|
let errors: string[] = [];
|
42
55
|
let acceptedFiles: File[] = [];
|
@@ -66,18 +79,14 @@ export const FileUpload = React.forwardRef<HTMLButtonElement, (iProps)>((props,
|
|
66
79
|
}
|
67
80
|
|
68
81
|
if (isMulti) {
|
69
|
-
|
70
|
-
props.onChange(acceptedFiles, errors);
|
71
|
-
}
|
82
|
+
onChangeRef.current?.(acceptedFiles, errors);
|
72
83
|
}
|
73
84
|
else {
|
74
85
|
const fileUploaded = acceptedFiles[0];
|
75
|
-
|
76
|
-
props.onChange(fileUploaded, errors);
|
77
|
-
}
|
86
|
+
onChangeRef.current?.(fileUploaded, errors);
|
78
87
|
}
|
79
88
|
|
80
|
-
if (isFunction(
|
89
|
+
if (isFunction(asBase64Ref.current)) {
|
81
90
|
const filesAs64: base64Result[] = [];
|
82
91
|
for (let i = 0; i < (isMulti ? acceptedFiles.length : 1); i++) {
|
83
92
|
const currentFile = acceptedFiles[i];
|
@@ -95,7 +104,7 @@ export const FileUpload = React.forwardRef<HTMLButtonElement, (iProps)>((props,
|
|
95
104
|
else errors.push(`Could not read file ${acceptedFiles[i].name}`);
|
96
105
|
}
|
97
106
|
}
|
98
|
-
|
107
|
+
asBase64Ref.current?.(filesAs64, errors);
|
99
108
|
}
|
100
109
|
}, useEffectOnlyOnMount);
|
101
110
|
|