Uploader

File upload UI and transport for images and other files, with drag-and-drop, progress, and base64 conversion support.

Access:

app.getService('uploader')

App code:

const uploader = app.getService('uploader');

Plugin:

const uploader = this.app.getService('uploader');

create#

Creates an UploaderInstance bound to a file input or upload box element with merged default and custom params.

Parameters:

  • element (HTMLElement | string) — element
  • params (object) — command or form parameters
  • trigger (HTMLElement | string) — element or button that opened the dropdown

Returns: UploaderInstance|null

const upload = uploader.create({ element: inputEl });

show#

Shows the upload progress indicator, optionally anchored to a target element.

Parameters:

  • target (string) — scroll target selector or element

Returns: void

const upload = uploader.create({ element }); upload.show();

hide#

Hides the upload progress indicator.

Returns: void

const upload = uploader.create({ element }); upload.hide();

send#

Builds FormData from files and uploads via transport or converts to base64 when image.upload is base64.

Parameters:

  • e (Event) — native DOM event
  • files (any) — files

Returns: void

const upload = uploader.create({ element }); upload.send(event);

complete#

Handles upload success or error, runs callbacks, emits upload events, and hides progress after a delay.

Parameters:

  • response (any) — upload or API response object
  • e (Event) — native DOM event

Returns: void

const upload = uploader.create({ element }); upload.complete(response, event);

setImage#

Updates the preview image in the upload box, showing a placeholder when url is empty.

Parameters:

  • url (string) — target URL

Returns: void

const upload = uploader.create({ element }); upload.setImage(url);