Hello Bubblers, it’s your old pal @keith back with a new plugin called Floppy… so of course, there’s a long, talky video that gives a basic overview. (Hooray, I guess?)
Floppy is now available in the plugin store! Floppy plugin page here.
Floppy is a multi-purpose plugin for reading and writing values to the browser’s storage, using the localStorage, sessionStorage, or IndexedDB interfaces (IndexedDB support leverages the localForage library). Unlike other storage plugins, Floppy supports nearly any Bubble data type including all of the built-in Bubble datatypes, Things, Lists, and lists of Things.
Here’s the intro video where I talk about what Floppy can do, give an overview of what browser storage is and how it works, and show some simple examples of how Floppy can read and write to storage (see a properly embedded version in this reply!):
There’s a lot more that floppy can do that I’ll demonstrate in future videos.
It should be available in the plugin store soon and I’ll update this when it’s available! Happy Bubbling…
More Features at a Glance
A quick list of other things that Floppy can do, which are not demonstrated in the video above, but will be demonstrated soon…
Floppy has built-in scalar (single value) and list (array) states that are similar to custom states, but with a more robust set of manipulation features. These can be used to construct, modify, and manipulate lists. Additionally, there is basic support for drag and drop manipulation of certain types of Repeating Groups.
Floppy includes a wide variety of List manipulation features, including Actions to help you easily build, modify, and process Lists. Extra utility Actions include a proper “count” function for lists with list fields and “List Math” for doing simple mathematical operations on numeric lists. All of the List Shifter “SHIFT” functions you know and love (like Move, Reverse, Rotate and Swap) are implemented with enhanced error checking for goof-proof operation by newb- and pro-Bubblers alike.
New features include the ability to easily change individual List items, add items (and even lists of items) at arbitrary locations in a List. Lists can be processed List Shifter style (allowing duplicates) or Bubble style (prohibiting duplicates).
BUT WAIT… THERE’S MORE!
Iteration! Floppy also introduces two additional, all-new approaches to iterating over Lists: Step Mode (which lets you iterate over a List with more flexibility and control than in List Shifter) and the “Code: Array Method”, which lets you write simple (or even very complex) JavaScript to process lists using operations like .map() and .filter(), faster and more easily than with other solutions.
In addition to the main Floppy element, there’s a simplified Floppy Reader element for reading (and writing) multiple values of different scalar and List types from local/session/IndexedDB storage, using a single element.
The occasional utility element or action will also be added to Floppy. Recent additions include Floppy Expression Watcher (to watch some expression for changes) and Floppy Inspector (for exposing “native” Bubble values to the console).
MORE FLOPPY VIDEO DOCS: Join me as I explain Floppy’s built-in custom states, Floppy’s RAM List and Floppy’s RAM Scalar! I do a lot of live Bubbling, fix a bug, and also introduce the new IndexedDB (localForage) option, which debuted after Floppy was first published:
EVEN MORE FLOPPY VIDEO DOCS: Let’s explore more app futzing with Floppy, including the Write Any Key action, sort a RAM List by setting it to a sorted version, SHIFT Actions explained (Move, Reverse, Swap, Rotate), and how to make a Repeating Group drag-sortable using the “SORTABLE RG OPTIONS”:
ANOTHER new FLOPPY video! : Where we talk about Repeating Groups (and the “computation trap” of Repeating Groups), talk about how to randomly-access values in Floppy’s RAM List and change them, via the “Change RAM List Value(s) Action”, and introduce Floppy’s “List Math” action (which lets you do math operations on all the values in a numeric list:
Here’s another video about Floppy where I talk about using Floppy with Bubble API call responses. It’s rather long and a bit on the advanced side, but will be interesting to certain users: