FilePicker

A file input field wrapped into a Button. Clicking the button opens a browser file picker window. When files are chosen, badge appears showing amount of files. Hovering the button shows a tooltip with file names.

By default, only a single file is allowed.

let fileField = new FilePicker({
  fileFieldConfig : {
     multiple : true,
     accept   : "image/*"
  },
  buttonConfig : {
      text : 'Pick file...'
  },
  onChange({ files }) {
      // Do cool things
  }
});

File picker
//<code-header>
fiddle.title = 'File picker';
//</code-header>
new FilePicker({
    appendTo        : targetElement,
    fileFieldConfig : {
        multiple : true,
        accept   : 'image/*'
    },
    buttonConfig : {
        text      : 'Pick multiple images',
        rendition : 'filled'
    }
});

new FilePicker({
    appendTo     : targetElement,
    buttonConfig : {
        text      : 'Pick single file of any type',
        rendition : 'filled'
    },
    style : 'margin-inline-start: 2em;'
});

Configs

95

Common

listenersEvents

Misc

defaultBindProperty: String= value

The name of the property to set when a single value is to be applied to this FilePicker. Such as when used in a grid WidgetColumn, this is the property to which the column's field is applied.

dataFieldWidget
disabledWidget
localeClassLocalizable
localizableLocalizable
maskedWidget
ownerWidget
readOnlyWidget
refWidget
rippleWidget
tabWidget
tooltipWidget

Other

Wrapper button config object. See Button for list of available configs.

Underlying field config object. See FileField for list of available configs.

Set to false to hide the badge indicating the number of files selected

columnWidget
defaultFocusContainer
labelPositionContainer
renditionContainer
rtlRTL
spanWidget

Accessibility

ariaLabelWidget
keyMapKeyMap

Content

defaultsContainer
itemsContainer
lazyItemsContainer
namedItemsContainer
textContentContainer

CSS

borderContainer
clsWidget
colorWidget
htmlClsWidget
itemClsContainer
styleWidget
uiWidget

DOM

adoptWidget
appendToWidget
contentWidget
datasetWidget
htmlWidget
idWidget
tagWidget
titleWidget

Float & align

alignWidget
anchorWidget
centeredWidget
draggableWidget
floatingWidget
xWidget
yWidget

Layout

alignSelfWidget
dockWidget
flexWidget
heightWidget
hiddenWidget
hideWhenEmptyContainer
layoutContainer
layoutStyleContainer
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
textAlignWidget
weightWidget
widthWidget

misc

tabBarItemsContainer

Record

recordContainer

Scrolling

Properties

84

Class hierarchy

isFilePicker: Boolean= truereadonly
Identifies an object as an instance of FilePicker class, or subclass thereof.
isFilePicker: Boolean= truereadonlystatic
Identifies an object as an instance of FilePicker class, or subclass thereof.
isContainerContainer
isDelayableDelayable
isEventsEvents
isKeyMapKeyMap
isLocalizableLocalizable
isWidgetWidget

Other

files: FileListreadonly

List of selected files

showBadge: Boolean= trueAlso a config

Set to false to hide the badge indicating the number of files selected

$namestaticWidget
columnWidget
firstItemContainer
hasChangesContainer
isValidContainer
itemsContainer
labelPositionContainer
lastItemContainer
renditionContainer
rtlRTL
spanWidget
typestaticWidget
valuesContainer

Accessibility

keyMapKeyMap

CSS

clsWidget

DOM

appendToWidget
contentWidget
datasetWidget
elementWidget
htmlWidget
idWidget
styleWidget

Float & align

xWidget
yWidget

Layout

alignSelfWidget
flexWidget
heightWidget
layoutContainer
layoutStyleContainer
marginWidget
maxHeightWidget
maxWidthWidget
minHeightWidget
minWidthWidget
widthWidget

Lifecycle

configBase

Misc

cellInfoWidget
disabledWidget
localeHelperLocalizable
localeManagerLocalizable
readOnlyWidget
refWidget
tabWidget
tooltipWidget

Record

recordContainer

Visibility

hiddenWidget
isVisibleWidget

Widget hierarchy

ownerWidget
parentWidget
widgetMapContainer

Functions

68

Other

Clears field

addContainer
composeWidget
createOnFrameDelayable
disableWidget
enableWidget
focusWidget
getAtContainer
getWidgetByIdContainer
insertContainer
LstaticLocalizable
maskWidget
onEvents
recomposeWidget
relayAllEvents
removeContainer
removeAllContainer
resetValuesContainer
setValuesContainer
triggerEvents
unEvents
unmaskWidget

Configuration

applyDefaultsstaticBase

Events

Float & align

alignToWidget
setXYWidget
showByWidget
toFrontWidget

Lifecycle

createstaticWidget
destroystaticBase
initClassstaticWidget

Misc

attachTooltipstaticWidget
fromElementstaticWidget
fromSelectorstaticWidget
getByIdstaticWidget
isOfTypeNamestaticBase
mixinstaticBase
optionalLstaticLocalizable

Visibility

hideWidget
showWidget

Widget hierarchy

closestWidget
containsWidget
ownsWidget
queryWidget
queryAllWidget
upWidget

Events

18

Fires after user closes file picker dialog.

// Adding a listener using the "on" method
filePicker.on('change', ({ files }) => {

});
ParameterTypeDescription
filesFileList

List of picked files

Fires when field is cleared with clear method

// Adding a listener using the "on" method
filePicker.on('clear', ({  }) => {

});
catchAllEvents
destroyEvents
focusInWidget
focusOutWidget
hideWidget
paintWidget
readOnlyWidget
recomposeWidget
resizeWidget
showWidget

Event handlers

18

Called after user closes file picker dialog.

new FilePicker({
    onChange({ files }) {

    }
});
ParameterTypeDescription
filesFileList

List of picked files

Called when field is cleared with clear method

new FilePicker({
    onClear({  }) {

    }
});
onDestroyEvents
onFocusInWidget
onHideWidget
onPaintWidget
onResizeWidget
onShowWidget

Typedefs

6

CSS variables

31

Inherited