From 0e98e4738a149c154d08dd40a8d7f6d9a6e0b93d Mon Sep 17 00:00:00 2001 From: Nikhil Nandagopal Date: Fri, 6 Mar 2020 14:50:18 +0530 Subject: [PATCH] file picker fixes --- app/client/src/widgets/FilepickerWidget.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/client/src/widgets/FilepickerWidget.tsx b/app/client/src/widgets/FilepickerWidget.tsx index 8d0292c1a4..61e6aa95e7 100644 --- a/app/client/src/widgets/FilepickerWidget.tsx +++ b/app/client/src/widgets/FilepickerWidget.tsx @@ -13,6 +13,7 @@ import { EventType } from "constants/ActionConstants"; import { TriggerPropertiesMap } from "utils/WidgetFactory"; import Dashboard from "@uppy/dashboard"; import shallowequal from "shallowequal"; +import _ from "lodash"; class FilePickerWidget extends BaseWidget { uppy: any; @@ -37,10 +38,15 @@ class FilePickerWidget extends BaseWidget { allowMultipleUploads: true, debug: false, restrictions: { - maxFileSize: null, + maxFileSize: props.maxFileSize ? props.maxFileSize * 1000 * 1000 : null, maxNumberOfFiles: props.maxNumFiles, minNumberOfFiles: null, - allowedFileTypes: props.allowedFileTypes, + allowedFileTypes: + props.allowedFileTypes && + (props.allowedFileTypes.includes("*") || + _.isEmpty(props.allowedFileTypes)) + ? null + : props.allowedFileTypes, }, }) .use(Dashboard, { @@ -126,7 +132,8 @@ class FilePickerWidget extends BaseWidget { super.componentDidUpdate(prevProps); if ( !shallowequal(prevProps.allowedFileTypes, this.props.allowedFileTypes) || - prevProps.maxNumFiles !== this.props.maxNumFiles + prevProps.maxNumFiles !== this.props.maxNumFiles || + prevProps.maxNumFiles !== this.props.maxFileSize ) { this.refreshUppy(this.props); } @@ -162,6 +169,7 @@ class FilePickerWidget extends BaseWidget { export interface FilePickerWidgetProps extends WidgetProps { label: string; maxNumFiles?: number; + maxFileSize?: number; files: any[]; allowedFileTypes: string[]; onFilesSelected?: string;