Class: SelectFileWidget

.ui.SelectFileWidget(configopt)

new SelectFileWidget(configopt)

SelectFileWidgets allow for selecting files, using the HTML5 File API. These widgets can be configured with icons and indicators. Please see the [OOUI documentation on MediaWiki] [1] for more information and examples.
Parameters:
Name Type Attributes Description
config Object <optional>
Configuration options
Properties
Name Type Attributes Default Description
accept Array.<string> | null <optional>
null MIME types to accept. null accepts all types.
placeholder string <optional>
Text to display when no file is selected.
notsupported string <optional>
Text to display when file support is missing in the browser.
droppable boolean <optional>
true Whether to accept files by drag and drop.
showDropTarget boolean <optional>
false Whether to show a drop target. Requires droppable to be true.
thumbnailSizeLimit number <optional>
20 File size limit in MiB above which to not try and show a preview (for performance)
Mixes In:
Source:
Example
// Example of a file select widget
    var selectFile = new OO.ui.SelectFileWidget();
    $( 'body' ).append( selectFile.$element );

[1]: https://www.mediawiki.org/wiki/OOUI/Widgets

Extends

Methods

blur()

Blur the widget.
Source:

focus()

Focus the widget. Focusses the select file button.
Source:

getClosestScrollableElementContainer() → {HTMLElement}

Get closest scrollable container.
Inherited From:
Source:
Returns:
Closest scrollable container
Type
HTMLElement

getData() → {Mixed}

Get element data.
Inherited From:
Source:
Returns:
Element data
Type
Mixed

getElementDocument() → {HTMLDocument}

Get the DOM document.
Inherited From:
Source:
Returns:
Document object
Type
HTMLDocument

getElementGroup() → {OO.ui.mixin.GroupElement|null}

Get group element is in.
Inherited From:
Source:
Returns:
Group element, null if none
Type
OO.ui.mixin.GroupElement | null

getElementId() → {string}

Ensure that the element has an 'id' attribute, setting it to an unique value if it's missing, and return its value.
Inherited From:
Source:
Returns:
Type
string

getElementWindow() → {Window}

Get the DOM window.
Inherited From:
Source:
Returns:
Window object
Type
Window

getInputId() → {string|null}

Get an ID of a labelable node which is part of this widget, if any, to be used for `
Inherited From:
Source:
Returns:
The ID of the labelable element
Type
string | null

getTagName() → {string}

Get the HTML tag name. Override this method to base the result on instance information.
Inherited From:
Source:
Returns:
HTML tag name
Type
string

getValue() → {File|null}

Get the current value of the field
Source:
Returns:
Type
File | null

isDisabled() → {boolean}

Check if the widget is disabled.
Inherited From:
Source:
Returns:
Widget is disabled
Type
boolean

isElementAttached() → {boolean}

Check if the element is attached to the DOM
Inherited From:
Source:
Returns:
The element is attached to the DOM
Type
boolean

isVisible() → {boolean}

Check if element is visible.
Inherited From:
Source:
Returns:
element is visible
Type
boolean

loadAndGetImageUrl() → {jQuery.Promise}

If the selected file is an image, get its URL and load it.
Source:
Returns:
Promise resolves with the image URL after it has loaded
Type
jQuery.Promise

(protected) restorePreInfuseState(state)

Restore the pre-infusion dynamic state for this widget. This method is called after #$element has been inserted into DOM. The parameter is the return value of #gatherPreInfuseState.
Parameters:
Name Type Description
state Object
Inherited From:
Source:

scrollElementIntoView(configopt) → {jQuery.Promise}

Scroll element into view.
Parameters:
Name Type Attributes Description
config Object <optional>
Configuration options
Inherited From:
Source:
Returns:
Promise which resolves when the scroll is complete
Type
jQuery.Promise

setData(data)

Set element data.
Parameters:
Name Type Description
data Mixed Element data
Inherited From:
Source:

setDisabled(disabled)

Set the 'disabled' state of the widget. When a widget is disabled, it cannot be used and its appearance is updated to reflect this state.
Parameters:
Name Type Description
disabled boolean Disable widget
Overrides:
Source:

setElementGroup(group)

Set group element is in.
Parameters:
Name Type Description
group OO.ui.mixin.GroupElement | null Group element, null if none
Inherited From:
Source:

setElementId(id)

Set the element has an 'id' attribute.
Parameters:
Name Type Description
id string
Inherited From:
Source:

setValue(file)

Set the current value of the field
Parameters:
Name Type Description
file File | null File to select
Source:

simulateLabelClick()

Simulate the behavior of clicking on a label (a HTML `
Overrides:
Source:

supports(methods) → {boolean}

Check if element supports one or more methods.
Parameters:
Name Type Description
methods string | Array.<string> Method or list of methods to check
Inherited From:
Source:
Returns:
All methods are supported
Type
boolean

toggle(showopt)

Toggle visibility of an element.
Parameters:
Name Type Attributes Description
show boolean <optional>
Make element visible, omit to toggle visibility
Inherited From:
Source:
Fires:
  • event:visible

updateDisabled()

Update the disabled state, in case of changes in parent widget.
Inherited From:
Source:

updateThemeClasses()

Update the theme-provided classes.
Inherited From:
Source:

(protected) updateUI()

Update the user interface when a file is selected or unselected
Source: