ASKnetCommunity / Training

This is the training plan to organize your own training.
https://training.asknet.community
GNU General Public License v3.0
5 stars 10 forks source link

Multidrag modules #127

Closed saisilinus closed 1 year ago

saisilinus commented 1 year ago

Add support for the selection of multiple modules before dragging Closes ASKnetCommunity/Training#107

saisilinus commented 1 year ago

Hey @bmen. I may need your help on this one. Are you familiar with Sortable? I've tried implementing the MultiDrag feature but I am getting inconsistent results. Sometimes it works, other times it doesn't. I am still trying to figure out what the issue is but another set of eyes wouldn't hurt.

timmwille commented 1 year ago

I marked as a draft until @bmen hast commented for now

saisilinus commented 1 year ago

It should be working now @timmwille, @bmen. I also fixed a couple of errors to do with time calculation. Previously you could get a weird duration like 44477 hours; should be okay now 👍🏿 .

bmen commented 1 year ago

At first glance at the code, everything looks fine. I would have to check out your fork and try it out. Why @saisilinus did you remove multiDragKey? Isn't that the feature you wanted?

Then I thought it might be due to a bug in Sortable, but version 1.15.0 is also already from March 2022, so it's been available for a while.

I also don't have a prompt answer as to why it sometimes works and sometimes doesn't. I'll take a look at your fork and play around a bit. What was the goal? To be able to move several modules in the list?

saisilinus commented 1 year ago

At first glance at the code, everything looks fine. I would have to check out your fork and try it out. Why @saisilinus did you remove multiDragKey? Isn't that the feature you wanted?

Then I thought it might be due to a bug in Sortable, but version 1.15.0 is also already from March 2022, so it's been available for a while.

I also don't have a prompt answer as to why it sometimes works and sometimes doesn't. I'll take a look at your fork and play around a bit. What was the goal? To be able to move several modules in the list?

I removed the multiDragKey because I wasn't sure that the guys using the app would want that. If the key is set then you have to hold it while selecting multiple items; kind of like you hold CTRL when selecting several things on your computer. What do you guys think? @timmwille @bmen

saisilinus commented 1 year ago

At first glance at the code, everything looks fine. I would have to check out your fork and try it out. Why @saisilinus did you remove multiDragKey? Isn't that the feature you wanted?

Then I thought it might be due to a bug in Sortable, but version 1.15.0 is also already from March 2022, so it's been available for a while.

I also don't have a prompt answer as to why it sometimes works and sometimes doesn't. I'll take a look at your fork and play around a bit. What was the goal? To be able to move several modules in the list?

The goal was for a user to be able to select several items from the modules list and move them at once. For a proper user experience, users should also be able to deselect items when they have selected them and they should get a visual confirmation that they have selected/deselected a module. It's supposed to fix #107.

I've fixed the issue though so now it should work properly. Let me know if it doesn't work as expected.

timmwille commented 1 year ago

looks like it works now, thank you guys it is beautiful

bmen commented 1 year ago

Was this feature of adding several modules to the training plan at the same time so important? But it works.

The operating concept could be reconsidered. I don't know whether so many people understand that you can click on a small circle behind a semi-transparent hover layer to select several modules for drag and drop? Nevertheless, I think the small circle with a tick is a smart implementation.

bmen commented 1 year ago

Wouldn't it be better if we added a small Add button to each module in the module list? The button inserts the module right at the end of the training plan. This would also allow you to quickly add several modules to the training plan and we would also have a solution for mobile interfaces, as drag & drop does not work so well on mobile devices.

I apologise for coming so late with my suggestion.

timmwille commented 1 year ago

Wouldn't it be better if we added a small Add button to each module in the module list? The button inserts the module right at the end of the training plan. This would also allow you to quickly add several modules to the training plan and we would also have a solution for mobile interfaces, as drag & drop does not work so well on mobile devices.

Thanks for thinking ahead. I think this comment is worth (re)considering when we move into #5 ? and we might change it a bit again. For now I would merge it in as a new feature that really speeds up the time for testing scenarios with the Training planner... I will also see what feedback comes in from @walthierer and others when using the platform.

timmwille commented 1 year ago

@saisilinus the conflicts coming from #126 also affect this one, so should be possible to solve in one go?

saisilinus commented 1 year ago

@saisilinus the conflicts coming from #126 also affect this one, so should be possible to solve in one go?

Maybe. Try merging #126 first

saisilinus commented 1 year ago

Was this feature of adding several modules to the training plan at the same time so important? But it works.

The operating concept could be reconsidered. I don't know whether so many people understand that you can click on a small circle behind a semi-transparent hover layer to select several modules for drag and drop? Nevertheless, I think the small circle with a tick is a smart implementation.

Clicking on the entire module selects it. The circle is just visual feedback. I also added a background for selected items as visual feedback. Do you have other suggestions? I could remove the tooltip from the circle and instead show it when someone hovers over the entire module