Merge branch 'feature/file-picker' into 'release'

file picker fixes

See merge request theappsmith/internal-tools-client!354
This commit is contained in:
Nikhil Nandagopal 2020-03-06 09:41:13 +00:00
commit eef83cb482

View File

@ -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<FilePickerWidgetProps, WidgetState> {
uppy: any;
@ -37,10 +38,15 @@ class FilePickerWidget extends BaseWidget<FilePickerWidgetProps, WidgetState> {
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<FilePickerWidgetProps, WidgetState> {
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<FilePickerWidgetProps, WidgetState> {
export interface FilePickerWidgetProps extends WidgetProps {
label: string;
maxNumFiles?: number;
maxFileSize?: number;
files: any[];
allowedFileTypes: string[];
onFilesSelected?: string;