FLOPPY: Plugin for localStorage, sessionStorage, IndexedDB storage, List Creation/Manipulation, Iteration, and More! Now with even more video docs!

@ontwikkeling - I’m not the author of List of Numbers, though several of my plugins do the same thing. Your problem is that adding an item to a Bubble list using the native :plus item operator works set-wise (duplicates are discarded).

The plugins described in the thread you are in right now (Floppy and List Shifter) do have ways of letting you add duplicate values to a list.


I don’t think - Removed RAM List Via User Drag/Drop function works.

Let me tell you my use-case that will explain why I need to know “which item is dragged” is required.

I have list of task that are distributed across 4 RG (based on the status- not assigned, to-do, In-Progress, Completed) so when user move any task from the “to-do” to “completed” I need to update the status into db so that when the next time user come or refresh the page- that task should be visible into “completed” RG rather than “to-do” RG.

But you can create one more state into “floppy” element that will return the dragged item.

Finally found one workaround to get the dragged item -

so I am calculating the difference between the “current RAM list” and “list before Item is added into the RG” - I hope that make sense.

Found one pitfall into this workaround, so when you dragged the item from the “RG 1” to “RG 2” and then revert back it i.e “RG2” to “RG1” - it does not work- you will not get any value as the dragged item. To fix this, “Removed drag/drop” element action should work.
@rico.trevisan also mentioned the same bug in the above threads.

thanks for the quick response, it’s clear to us now :grinning:

Hey @ankur1, I will take a look at that issue soon! Thanks for the report.

1 Like

Hey @ankur1 and @rico.trevisan: I’ve confirmed that there is a bug in using Floppy’s drag/drop mode. This seems to be emergent behavior related to fixes in the most recent versions of the “sortable” library that Floppy uses for drag/drop. (At least, I know this feature was working previously, but seems to now be failing, as far as I can tell.) The issue itself is simple (the code that sends the “Removed Item” event simply isn’t executing because the routine exits based on an incorrect condition), but the fix is a little more complicated than that.

(In short, Floppy works great with drag/drop groups as long as one of them is only a donor, but it bugs if you’re looking for groups to donate/receive items from other groups… which is the default. I think what happened here is sortable fixed a bug that I had successfully been working around. However, now that this issue seems to be fixed, some other conditions I was evaluating seem to be incorret.)

Anyway, I hope to have this fixed over the weekend, but it could take a bit more time. As always, new versions of Floppy will be announced here in the thread.


Hello Keith,
I am trying to use Floppy to user more the potencial of indexDB.
Actually I have a necessity to operate a DB of 500k itens and I use Bubble as frontend and Xano as backend.
This database of 500k normally have 2 keys, but I could make it work if only one key.
My main target is to very quicly put a code in an input and quickly recieve a answer telling if this code is in the DB or not.
When I use bubble search on the data who cames from an api, the answer is really low … some seconds …
When I use the bubble database (saving them in floppy to do not need to download all the time a big database) the answer is much faster, but not quick enought.
My idea is to use IndexDB to solve this, but I am facing a lot of difficulties to use the code array with the find or findIndex.
My best solution should be all 500k in the index DB, with the both keys as index and when I perform a search in on key, the answer will be the other key (similar as a vlookup in excel), or at least inform if the item was found.
It’s possible to perform this in Floppy ?


I just installed the plugin and I seem to be the only person in the world that runs into this error, but the moment I drag list shifter PRO into the editor and run it, it will immediately throw 2 errors, doesn’t matter if I’m on a brand new page or not:

The plugin Floppy: localStorage, List Shifter / element List Shifter PRO threw the following error: TypeError: instance.data.funcUpdate is not a function at eval (PLUGIN_1641501497659x706740039734263800/Floppy–localStorage–List-Shifter-update–List-Shifter-PRO-.js:4:19) at https://gopursue.io/package/run_debug_js/4dfe506b92d9d6c80458c25b83d5abc0c35c892b7721d81fd6bd8f7d55780e5c/xfalse/x25/run_debug.js:17:3129600 (please report this to the plugin author)


Element ListShifterPRO A

The plugin Floppy: localStorage, List Shifter / element List Shifter PRO threw the following error: ReferenceError: nanoid is not defined at Object.t [as noscrubs] (PLUGIN_1641501497659x706740039734263800/Floppy–localStorage–List-Shifter-initialize–List-Shifter-PRO-.js:3:42) at eval (PLUGIN_1641501497659x706740039734263800/Floppy–localStorage–List-Shifter-initialize–List-Shifter-PRO-.js:3:41389) (please report this to the plugin author)

Can you help me?

I’m on chrome, latest version of plugin and bubble

@darrenzouw, as has been discussed zillions of times in the List Shifter thread, these types of errors will be generated if you try to hit List Shifter with actions before it is initialized. So you don’t fire actions at List Shifter on an event like “Page is loaded”. You fire them when List Shifter Initialized/Updated.

@keith Thank you for this, but im literally running the list shifter pro on a brand new page with 0 workflows, All I do is drag it in there and press preview, here is the video:


running latest bubble version
latest plugin version
this happens on other browsers i tried, including firefox and chrome
reverting to a previous plugin version does nothing

is this intended?

didn’t he just give you the answer

@georgecollier and did you not read my reply?

yes it was just one of the worst looking replies i have ever seen

sorry just couldn’t resist :laughing:

1 Like

Hey @darrenzouw. Thanks for the more detailed info. No, the behavior you’re experiencing is not intended, nor can I duplicate it. One thing I see is that the icon (editor preview) for List Shifter in edit mode is not appearing in your app. I haven’t followed the various threads, but I did see a short while ago that people were mentioning this problem with plugins.

It may be that (whatever was causing that issue) is also affecting your app. Unfortunately all I can recommend is that you file a Bubble bug report Support | Bubble noting that plugins seem borked in your app. Specifically mention that plugins are not showing editor preview and throwing unexpected errors.

For a working case (my app, also on Bubble latest) you can refer them to editor List-shifter-demo | Bubble Editor preview page https://list-shifter-demo.bubbleapps.io/version-test/ls-test-081223?debug_mode=true).

As you can see in the editor I have done exactly what you did and it’s working fine.

You’ve probably done this, but you may want to hard reload your editor in case you’ve got a cached version of bugged Bubble code before bothering with Bubble’s annoying support ticket thingy, though.

(Edit: Basically sounds to me like Bubble is not properly reading plugin code in your app right now. This would lead to these sorts of errors. It might also be that their CDN (dd7tel2830j4w.cloudfront.net) is having issues because the nanoid function that is referenced in that one error message depends on a tiny script that I load via that CDN.)

@keith well in that case I will remove my review from the plugin store then, thank you, btw how do you do a hard reload?

there also has been issues in the past with another toast plugin where it doesnt work because library havn’t been imported yet and I had to import it myself.

can you add a piece of code that determines if important libraries has been imported yet, and console log that?

The problem you are having is not an issue for me to fix, please note.

By hard reload I mean hit F12 to open the browser console. Then you’ll find on the reload button you have new options if you hold while clicking it.

If that doesn’t help, you need to tell Bubble.

Solution for this problem

Hi @keith , I’m interested in using your plug-in to support an “undo” feature on a page with many input fields that have auto-binding enabled. Which of your videos should I look to for guidance on how to leverage your plug-in so that a user can revert to a previous auto-binded value in an input field?

I have to say, @londonhere that this application should be obvious, but also the search feature here is shit, so it can be hard to find things. Might be easier to scan thru my YouTube playlist of Floppy videos here:

1 Like

@keith by any chance, did you find time to fixed the bug?

Hi @keith , sorry to bother… i am using Floppy to sort by a custom count. But the result remains a List of numbers, and is not of the right type. I must miss a setting here, but can’t find it (watched your video about it though). Happy if you could help.

Bildschirmfoto 2023-09-19 um 11.35.49