I can only reiterate the sentiment of previous comments: AMAZING WORK SCOTT 👏 Components such as this turn Power Apps into a framework ‘Pro devs’ can get excited about. Keep it up Scott - ‘drag and drop’ - Durrow.
Scott, thank you for producing this fantastic series of videos about your awesome component! I'm super impressed and have had a great few days getting to grips with it.
My favourite component... not sure how a first party one could be better :) One feature I would love is if you could drop items on other items so you could build trees :)
This is an excellent component, Scott. D&D is sorely missing in first-party controls. The workaround I implemented (which I suspect will be similar to your next video), pales in comparison. One feature I'd love to see included is a multi-select of items to drop.
Another amazing video from one of my favourite community members ☺️. I have some great ideas for using drag and drop in Metro. Your content is awesome 👍
Happy New Year from Winnipeg! Yes, I think drag and drop should accompany Power Apps as built-in component . Until then I’m looking forward to your next video in this series as well as the app sample when it is available. I hope that in 2023 I can develop this functionality to model student scheduling matrix for an adult learning centre (ie, drop John Smith into Math 9 for period 1 and others into English 9 - then move on to period 2 etc). Thanks for sharing a path forward for all this. Much appreciated.
I finished my class course matrix drag and drop app - I wish I could post a screen shot in the comments however, onDrop I update the collection so that I can 'reload' the set or start fresh with a new one - and - if a student's name gets dropped in the same course twice (ie, p1johnsmith and p4johnsmith both get dropped in Math 10) then a gallery for each dropzone with a text label with a conditional statement for the border color will show a red border around each instance of johnsmith), plus, the template fill for the gallery is a different color for all the p1 instances, p2 instances etc. Thank you for making this great drag drop component available - I next plan to use it to build quiz questions for students.
I'm loving this component and your videos - learning so much. This could be a great solution for managing timetabling/bookings with the drop zone on the schedule board representing a lesson type with an instructor, room and timeslot allocated and then I drag and drop students onto a slot, but it only allows me to drop if the lesson matches the student's needs and there is capacity available. Effectively the controls would be nested so I drag and drop lessons onto the board and then drag and drop students onto the lessons. I would also want to be able to filter the schedule to say show me all lessons of type x with availability. Booking slots would change colour to show availability e.g. green for space, yellow for nearly full, red for full.
Hi Scott, thanks for this excellent video series on the Drag and Drop component! I was able to fully follow along in the first video and reproduce everything, but the speed and amount of code in the second and third is really difficult to follow along. Would you be able to share the finished App at the end of the 3rd video for us to go through all the code and figure out the nuts and bolts. This would be greatly appreciated!
I do think it should be part of power apps, but can be much simpler. It should ask the user for how many zones, and visually let the user configure drag-drop-directions between zone. You could almost have a mini-app that assists the control setup. It should be quicker to setup and implement. Think about the drag-drop- pieces on a chess board setup for example. Also make a version where artists/photographers/planners can just drag drop images on a visual planning board on a single screen gallery/album. Great stuff though Scott, thank you!
Amazing Scott!, I very hope you can show how to assign the same task to multiple people, right now when you move a task to the calendar that task disappear from the available tasks grid :)
Hi Scott, thanks for such a great video series! I am curious, before I jump in and try and create my own schedule, do u think it's possible to have these project tasks duration adjustable (e.g run over 3-5 days) and still been able drag and drop / re-shuffle job projects? Also the last thing is do u think u can assiosate the job tasks to multiple people without getting messy and still have drag and drop? And finally do u think the project tasks can have there own project card that when selected and will have check boxes for sub task complete, and when sub box is ticked changes colour? I know it's a tuff question, but its for mutliple projects with varying day duration with varying qty of workers assisoated to differnet project taks. I love some feedback before I jump in haha. Cheers
Just echoing the comments below - this component is just amazing. Truly a game changer in developing interactive business processes. I love it. I do have one question if I may. Is it possible to lock down certain items so that they are still displayed in a dropzone, but can't be moved? I have a need to lock certain records from being moved once a particular event has occurred on the record.
Thank you and thanks for watching. ☺️ You could do this by making your template dynamically wrap the item in an action if it is disabled. This would then prevent selection of the drop item.
Thank you very much for the tutorial! So far it works well, however, time to time it requires to refresh to make it work. I wanted to ask: I have a selection of multiple persons that I would like to add to the card. Do you have any suggestions how that can be done?
Dear Scott, I have watched over and over again your videos the last days, but I don't understand how you save the changes you make, for example I have only the users component and i want to save their new location to the other drag and drop components. Looking forward to hearing your answer i really need your guidance. Thank you.
Thanks for watching! The CurrentItems Property on the master drop zone will contain the changes - so in the OnDrop event of the master zone you’ll need use the CurrentItems to detect changes and patch the source collection - take a look at the following video for more info! ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-wkHvjusgLEE.html Hope this helps!
Thank you for the excellent videos, Scott! I have a requirement to be able to schedule the same task multiple times over different days. Do you have any suggestions for how that could be achieved using your drag and drop interface?
I found a solution for this. After I drag the task onto the calendar, I patch a record into a different table, which for me is a task planning line. I then trigger the reset event to move the dropped task back to the task list so it's still visible. To have the dispatch line stay populated in the right cell, I calculate the Zone value when collecting the planning line records, by taking the dispatch date and resource and working backwards to determine the zone value (day value and resource id). It's a bit of a beast, but it works. Here's a snipped of my code which re-collects the planning lines: ClearCollect(colJobPlanningLines, AddColumns( colJobPlanningLinesPreload, Zone, // Calculate day number from dispatch date // Get Resource System Id from Resource No Lookup (Int(DateDiff(dp_Home_DatePicker.SelectedDate, LookUp(gal_DayHeader.AllItems, DateValue(gal_CalendarDays_CurrentDate.Text) = colJobPlanningLinesPreload[@'Dispatch Date'], gal_CalendarDays_CurrentDate.Text),TimeUnit.Days)) + 1) & "|" & Text(LookUp(kxdresource, 'No.' = colJobPlanningLinesPreload[@'No.'] , 'System Id')),
Hi! Thanks for the question - really good one ☺️ Instead of adding text boxes in the drag items you will need to add an action button that shows an edit form. Watch out for how to this in my next video in the drag and drop series!
Great video. but quick question is there a way set it so when I double on the item in the in the component to return it to the master zone or if i drag it out of the zone it snaps back to the master zone?
Thank you very much for that great tutorial!! i have almost finished recreating your tool, but im stuck at one last step - moving a task back from the AssignedTasks Uone to Unassigned Tasks is not working. i can move i to the Zone but fnTaskOnDrop doesn't patch things. For Debugg Purpose i added " Notify(TaskAssignment.DropZoneId); "right after the Filter Function of the " ForAll( " It gives me a notification with the correct ID when droping items in Assigned Tasks, but does nothing when moving a Item back to unassigned. Any idea what Problem i might have?
Hi Scott Excellent video I was struggling with getting the ID of the selected item being drag and dropped to a zone in order to use it in Patch function in OnDrop Any idea?
Hi, if you are using Sharepoint, I used "{Identifier}" as the ID field did not show for this function. Works like a charm, but not sure for your purposes.
Hi Scott, great video as always. I'm having trouble with loading Tasks from the dataverse table into applicable dropzone. The data exits in coltask collection but never shows on screen. There must be something i'm missing. What property in dropzone allows the data from collection to display.
Loving this series!! I have an application I'd like to use this with but I seem to be stuck. When I drag a task from the unassigned list to the schedule board, all scheduled items disappear. I can reset the board back to the original state but, for the life of me, I can't figure out why the scheduled tasks and the newly moved task disappears. I did find I had a problem with the fields assigned in each zone and corrected that, but tasks still disappear. Any ideas?
I have my issue whittled down to the AssignedTo statement in the TaskOnDrop function. What is the GUID function you are using? It doesn't seem to work for me. I am writing to a sharepoint list if that matters. If anyone can help explain that part of the code, I'd appreciate it.
Hi Scott - Thanks for this excellent demo. Any plans to release the complete application as a solution? And also, is it possible to bind the control directly to Dataverse table without a collection and write back?
Thank you and thanks for watching and subscribing ☺️ I’ll post the app as a sample once the series is finished (one more to come). I’ve not got plans to allow direct binding to Dataverse at this time - but please add a suggestion here github.com/scottdurow/power-drag-drop
Can someone help. 1. My onDrop fn doesn't trigger when dropped, everything looks to be correct. The fnTaskOnDrop button works when pressed but just not automatically when dropped. 2. When the fnTaskOnDrop button is pressed, the text out of the item disappears. I have copied the Item Template from the unassigned but this behaviour still persists. Thanks in advance for your help.
@@ScottDurow Thanks so much for always inspiring rockie developers like myself to always think outside the box. Any chance we can be able to create recurring task i.e start and end date while also being able to reuse the same task on other people. Case scenario a team roster
Scott for president. Don't know what part 4 will bring, but i'll be waiting. Ran into a small issue with the sorting in the targetzone. Seems to rerender after adding the OnDrop event. Tried to explain via a video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-__6MyV_ZqN4.html .. if you could spare 1 minute.
Thank you for watching again and all your support! ☺️ The problem is likely to be that you’ll need to use the updated position in the current items to patch a column that you use to sort the rows using. When you patch the source records the control will re-render with what ever sort you give it, so it will need to reflect the updated position.
@@ScottDurow Sorry to bother you but I cant seem to get the custom sort to work. I've set the CustomSortPositionColumn to an integer column in my collection but when I load the collection the column is ignored. Any chance you know why? Love the PCF.