List Shifter: Reverse, Rotate, Swap and ITERATE (Loop) Over Bubble Lists | Now Part of Floppy

Yeah like I said. Don’t do that.

OK and again, thank you for your feedback and your help
however, why should i not use like this please can you explain ?
Is there any alternative ? thanks

how can i send the shifted list to another page?

The same way you would with any other data in Bubble. Either through URL parameters or you’ll have to save it to the database. Alternatively if you can try writing to browser storage using the Floppy plugin.

1 Like

Hi Kieth,

Is it possible to sort by two categories? I’ve managed to get Listshifter to sort on one of them but i’m completely stumped on how to achieve two if it is possible…

My DB setup is:




I’ve manage to set this up to sort by Category, however as you can see I need to be able to sort by subcategory too…

and my workflow listshifter is setup like:

Is this possible?

Hey @dca82, unfortunately not in the current code. I’ve long wanted to do a more comprehensive sort plugin, but (1) this can only be done in an element plugin and it really should just be an action (but action plugins cannot return values to the workflow) and (2) Bubble doesn’t give us a way to build plugins with a dynamic number of fields like we’d really want here for a non-fugly interface. I’m tired of those limitations and this stunts my productivity wrt certain Bubble plugins.

Anyway, if I do release a plugin line that it’ll show up in my Floppy plugin collection.

1 Like

Ok thanks Keith, I hope things change so you can unleash :slight_smile:

@keith How are you mate?

Just wanting to know if I can do this with your plugin?

I have a field within data type that is a list of number and I want to change one of the numbers in the list but keep at the same item number as the one I changed.
For example…
List - 2, 4, 6, 8, 10
I would like to change the “4” to a 7
List - 2, 7, 6, 8, 10
I have tried so many ways but can’t seem to get this to work

The reason I need to do it this way is coz if I was to create new fields my platform would be creating 500+ fields and it takes ages and crashes the platform lol

I have gone through a lot of your videos and cant seem to find anywhere you touch on something like this.

Hey, @pattokane: You can do this with the Process List action in List Shifter, but it’s much easier and more direct in Floppy. (In Floppy, Floppy’s RAM List has an action that lets you change/replace a value in a list directly via its index or via the value.)

@keith cheers for getting back to me man :slight_smile:

With floppy, can I do this…

I have a repeating group, within a repeating that is (you guessed it) inside another repeating group that then has a list of numbers.

My flatform is a coaching platform and it has starting from the top

#1 workout
#2 weeks
#3 splits
#4 exercises

What I am wanting to do is change a numbers within the exercise but keep the list in the same order but then also have a backend workflow that changes that number in the same exercise, the same split in every week.

I can’t understand what it is you’re trying to do, but none of it sounds complicated.

1 Like

Hi @keith ,

Have been trying to implement a solution using List Shifter and am almost there, just need help with saving…

I have a popup that allows users to change the ranking of people for a sports position. I have successfully implemented the ability to move things up and down - in the below example I have completely reversed the order of the players)

I’m now wanting to ‘save’ this list. I want to update the ‘membership’ for each depth chart position.

To explain my data, my Depth Chart data type acts a relationship table between a Membership and a Team. When a Team is first created, a Thing is created in Depth Chart for each position in the sport x depth chart slots. For rugby, thats 60 things per team (15 positions x 4 ranks). This has enabled me to create the below table which is a combination of repeating groups (each player ‘card’ is a Depth Chart thing):

I’ve watched the videos and tried ‘Make changes to a list of Depth Charts’ but am a bit stuck… I essentially want to say: for each Depth Chart thing update the ‘pos ranking’ and ‘position’ according to where it has been reordered. Cell index might be one way to do this, but I can’t select cell index when trying to make changes…

Thanks! :slight_smile:

Screen Shot 2023-05-03 at 4.06.01 pm

I have a system that contains a table. in this table, I put a pagination through the plugin List shifther. within the system, I have tabs that when the user clicks on it, it will show the results through the statuses. Example: I entered the page showing the purchases with all the statuses, pending, active, inactive… but when I click on the active tab, I show the table containing only the active products. I tried to put the pagination to use when the user clicks on the statuses but I can’t make it work. can anybody help me? How to use list shifther more than once on the same page?

Hi @keith,

I’m really struggling to do some simple calculation and store it in a list shifter. Maybe you can help? I have a table PRODUCTS, which has fields, Name, Cost, Budget.

I want to create two lists, one of unique budgets (which i’ve done in a custom state) and then a list of total costs of items in each budget. These two lists should then contain the same number of entries, which I can use in PDF reporting.

Is this possible? I feel like this should be doable just with custom states but I can’t figure that out, and the creator of PDF Conjurer (Thanks @vini_brito, great plugin) mentions to use ListShifter for this problem…

@dca82 what Vini is suggesting is that you need to iterate over the list. List Shifter provides two methods for doing this. Look for the video introducing the PROCESS List action, linked liberally in previous posts.

An even easier (and more lucrative for me) approach is to use List Math in the Floppy plugin.

Links here:

You’re changing the wrong list. You can’t “make changes” to List Shifters Shifted List.

What you want to do is SET a list field on some Thing to List Shifter’s Shifted List, get it?

@keith How do we make updates to the ShiftedList? I was hoping Shifted List would act almost like a custom state that we can manipulate.

I’ve been successful in implementing reorder functionality, but want to access the ShiftedList to allow the users to make changes to items before hitting save.

E.g. Update ListShifter RG Perople Item #2s field value to Bla

Or is this not possible? you’re looking for the RAM List features in Floppy. I’m not going to explain why you can’t modify Shifted List in the way you desire, but you can’t. (You could use PROCESS List to construct a new list that represents the changed version of Shifted List, but apparently nobody understands how one might do that.) So the RAM List-related actions in Floppy do all that stuff more easily.

(In brief: Floppy’s RAM List is completely modifiable because it is a copy of some assigned array. Shifted List in List Shifter is List Shifter’s Original List with various transforms applied to it. These do not include additions, changes, or deletions outside of the standard Bubble operators, which are obviously deficient.)

1 Like

Hi @keith,

I have a question about the Lift shifter.

Does the plugin recognize the Text field when it has the same value as the Option Set?

What I mean is that I have stored data in the Text field from an Option set.
I have held it as Text and not as an Option Set for searching purposes.
But now I need it when the user edits something some data has to be preselected.

But I can’t do that because they are stored as Text fields and the Option Set does not recognize them. ( If they are two or three options I can use When condition but when they are like 30 it is hard to do a condition for every single item.)

So, is it possible for Lift Shifter to recognize Text field when it has the same value as the Option Set?


No it won’t automatically do this edge case where it needs to match Text with an Option Set’s Display.

Where you need to get the option just do All Options:filtered, constraint Display = [your text] then do :first item

1 Like