Canvas Documentation
Bubble Best Practices
v6.0
v6.0
  • Introduction
  • Key Features
  • What's New
  • Canvas Design System Figma File
  • CANVAS FUNCTIONALITY
    • Getting Started
    • Branding & Design
    • Marketing Pages
    • Page
    • Bubble Pages & Blocks
    • Roles & Permissions
    • Menus & Navigation
    • Data & Workflows
    • Emails & Alerts
      • Mail merge terms
    • Miscellaneous
      • Setting up two factor authentication
      • Cookie and consent banner
      • Setting your password policy
      • Set up Payment info on Account page
      • Loading screen
      • Configuring multiple languages
      • Customizing your app's portal page colors
    • Reference
      • Pages
        • Index
        • Product homepage
        • Marketplace homepage
        • SaaS homepage
        • About us
        • Pricing
        • Admin Portal
        • Account
          • Account deletion
        • Login
        • Legal
        • Reset Password
        • 404
      • Reusable elements
        • Header
        • Footer
        • Signup & Log in
        • Cookies Permission
        • Widgets
          • App security
          • Header Widgets
          • Workflow Widgets
        • Admin Portal
          • Admin analytics
          • Admin email & templates
          • Admin header & footer
          • Admin legal popups
          • Admin branding, setup checklist, and settings
          • Admin options app variables
        • Menu Focus Elements
        • Sidebar tab
      • Data types
      • Option Sets
      • Backend Workflows
      • Design standards
        • Manually Building UI
  • Canvas library
    • Updating asset RG data source
    • UI Patterns
      • Simple Dashboard Page
      • Product Marketplace Dashboard Page
      • Labor Marketplace Profile Page
      • Social Network Profile Page
      • Simple Events Search Page
      • Events Search Page
      • Ecommerce Search Page
      • Labor Marketplace Search Page
    • Page templates
      • Basic Bubble Marketing Page
      • Chat Messenger Page
      • Form Builder Page
      • Centered Profile Page
      • Left-Justified Profile Page
      • Standard page
      • Toggle Tabs Page
      • Menu Page
      • Mobile Menu Page
      • Video List Page
      • Horizontal Tabs Portal / Dashboard Page
      • Standard Portal / Dashboard Page
      • Simple Portal / Dashboard Page with Icons
      • Double Sidebar Portal Page Template
      • Search Page
      • Map Search Page with Toggle and Filters
      • Floating Map Search Page
      • Search Bar Page
      • Multi-Step Page With Progress Bar
      • Standard Multi-Step Process Page
      • Multi-Step Process Page with Sidebar
      • Gallery Profile or Product Page
      • Sidebar Profile Page with Tabs
      • 2-Column Menu Tabs Page
      • 2-Column Checkout Page
      • 2-Column Video Chat Page
      • Vertical Multi-Step Page Template
    • Blocks
      • Pagination
      • Monthly Calendar Scheduling Widget
      • No Reply Comments Thread
      • Nested Comments Thread (with Like and Reply)
      • Placeholder Group
      • List with Circular Progress Bar Repeating Group
      • Top Input Chat Widget
      • Bottom Input Chat Widget
      • Toggle Tabs Group
      • Single-Select or Multi-Select Pill Tabs Group
      • Settings Group
      • Order Confirmation Group
      • To-Do List Repeating Group
      • Title Group with Button and Filters
      • Product Details Group With Progress Bar
      • Listing details with Icons and Menu Focus Group
      • Week Daily Availability Group
      • Frequently Asked Questions (FAQ) Repeating Group
      • Dismissible Module
      • Video Group
      • About Group
      • Add to Cart Group
      • Full Width Map with Directions Link
      • Location Module (Map and Directions)
      • Drag and Drop Repeating Group
      • Infinite Columns Horizontal Scroll Data Table with Fixed First Column (Repeating Group)
      • Nested Data Table (Repeating Group)
      • Standard Data Table (Repeating Group)
      • Standard Data Table (Table Element)
      • Mobile-Friendly Data Table (Repeating Group)
      • Mobile-Friendly Data Table (Table Element)
      • Infinite Columns Horizontal Scroll Data Table (Repeating Group)
      • Infinite Columns Horizontal Scroll Data Table (Table Element)
      • Activity Feed
      • Social Feed
      • Nested Repeating Group
      • Advanced Form Inputs Group
      • Reviews with Ratings Summary and Images
      • Reviews Repeating Group with User Images
      • Reviews (Text Only) Repeating Group
      • Standard Repeating Group with Image
      • Search Bar Group
      • Listing Details Group
      • Post Group with Upvoting UI
      • Large Chart Dashboard Widget
      • Chart With Key Metrics Dashboard Widget
      • 2-Column Table and Key Metrics Dashboard Widgets
      • 2-Column Large Metrics Dashboard Widgets
      • 4-Column Large Metrics Dashboard Widgets
      • Main Image with Thumbnails
      • Centered Profile Block
      • Left-justified Profile Block
      • Tile Image Gallery and Popup
      • Image Feed with Nested Comments Thread
      • 1-Column Standard Form Inputs Group
      • 2-Column Slideshow Tiles Repeating Group
      • 2-Column Repeating Group (Text, Link, Image, and Description)
      • 2-Column Repeating Group (Link, Text, and Button)
      • 2-Column Repeating Group with Actions
      • 2-Column Grid Tiles Repeating Group
      • 2-Column Form Group
      • 4-Column Tiles Repeating Group
      • Expiration timer
    • Popups
      • Edit Drawer
      • Map Location Details Drawer
      • Details and Comments Drawer
      • Confirmation Popup
      • Message Popup
      • Image Popup
      • Video Popup
      • Vertical Scroll Popup
      • Permissions popup
      • Multimedia Slideshow Popup
      • Edit Popup
      • Standard Form Popup
      • Subscribe Popup
      • Feedback / Contact Popup
      • Details Popup
      • Add List Popup
      • Advanced Form Popup
      • Rating Popup
      • Toggle Tabs Popup
      • Share Popup
      • Multi-Step Popup
      • Invoice Popup
      • Stripe Credit Card Purchase Popup
      • View Profile Popup
      • Send Message Popup
      • Multi-Select Pill Tabs Popup
      • Net Promoter Score (NPS) Popup
      • Pricing Plans Popup
    • Reusables
      • Multimage uploader
      • Sidebar_icontab
      • Doublesidebar_tab
Powered by GitBook
On this page
  • Functionality
  • Overview
  • Contents
  • Working with the files
  • Internal logic
  • Allowed file extensions
  • Modifying the list of allowed file extensions
  • Use cases

Was this helpful?

  1. Canvas library
  2. Reusables

Multimage uploader

Description and instructions for the multimage uploader reusable

PreviousReusablesNextSidebar_icontab

Was this helpful?

Functionality

Overview

Use this reusable when you need to upload multiple images. It consists of an uploader and a thumbnail gallery.

The user can upload files by:

  • clicking in the uploader and selecting one or more files

  • drag and drop files into the uploader

Contents

States

The multimageuploader_template reusable contains the following custom states:

  • allowed file extensions

    • type: text

    • format: file extensions separated by commas, i.e.: png,jpg,gif

  • file images

    • type: file (list of)

    • list of the uploaded files

  • selected file image

    • type: file

    • file selected by the user

    • used to set an image to the cover photo, main image, or default

Styles

You can customize certain styles of the reusable just by customizing the code in the 'HTML multiuploader style' element:

Working with the files

In the frontend

The user can:

  1. Upload images

  2. After uploading the images, the user can reorder them or delete one or all of them if desired. This is done by clicking on the icons in the thumbnails. Deleting an image will also delete the image from the app's file manager.

  3. He can also select an image by clicking on it. This can be useful for example to indicate which is the main image in a gallery.

In the backend (Bubble editor)

To save or modify the files, in your application workflows and actions you will be able to reference:

  1. the complete list of files in the reusable 'file images' state

  2. the image selected by the user in the 'selected file image' state

Internal logic

All the logic to make the reusable work is already contained within itself.

Allowed file extensions

We have limited the upload of files to image files. Allowed file extensions are listed in the reusable's 'allowed file extensions' state.

Default list of allowed file extensions

aces,avci,avcs,avif,bmp,cgm,dicom,emf,example,fits,g3fax,gif,heic,heif,hej2k,hsj2,ief,jls,jp2,jpeg,jpg,jph,jphc,jpm,jpx,jxr,jxrA,jxrS,jxs,jxsc,jxsi,jxss,ktx,ktx2,naplps,png,t38,tiff,wmf

Due to the characteristics of the Bubble file uploader, we cannot stop the file upload, but we can detect if it is not among the allowed file types and, if that is the case, delete it so that it does not occupy storage space in your application. In addition, we warn the user that one or more files have not been uploaded because they are not of the allowed file type.

Modifying the list of allowed file extensions

If you want to add, modify or completely change the allowed file extensions, just modify the 'allowed file extensions' state by entering the extensions you want to allow separated by commas (without a period).

Svg is not allowed by default due to the special characteristics of this vector format. But, of course, you can easily add it by following the instructions above.

Use cases

This element is very useful for creating and/or editing all kinds of image galleries: products, photos, drawings, etc.

Multimage uploader reusable
Styles
Click on an image to set it as the cover image, main image, or default
Error message when uploading a file extension that is not allowed
Reusable states
Adding a new allowed file extension