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.
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.
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.
great job Scott. Is it possible to get the collection of re-ordered item so i can patch the rows with a line number into a custom field for linenumber ? or to get an event on drop to which row location it got dropped to so i can patch that number out to the record ?
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 :)
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!
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.
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 :)
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.
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
Hello Scott, great job! It is posible to create simular OnDrop table but for time slots? For instance, I'm looking for a solution how to create a week planer with 7days (Monday- Sunday) and timeline from 12 am to 11 pm for each day and to have the option to drag and drop into this table breaks like 15 miuntes, 30 minutes...etc. What is your experience in this field? :)
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.
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?
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!
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?
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! th-cam.com/video/wkHvjusgLEE/w-d-xo.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')),
@@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
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?
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.
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.
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.
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
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! 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!
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: th-cam.com/video/__6MyV_ZqN4/w-d-xo.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.
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.
Thank you Lukas! And thanks for watching and subscribing ☺️ I really think that Power Apps is a framework that everyone can get excited about!
Great video Scott. Would you be able to do a video demonstration how you achieved to detailed Kaban board that you teased in the other video. Thanks
Thank you Scott for your work & willingness to post it here…Great job!
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 👍
Thank you thank you! I would love to hear how those ideas turn out! ☺️
@@ScottDurow I will be sure to let you know 🙂
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.
Happy New Year! That sounds like an awesome app!
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.
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.
great job Scott. Is it possible to get the collection of re-ordered item so i can patch the rows with a line number into a custom field for linenumber ?
or to get an event on drop to which row location it got dropped to so i can patch that number out to the record ?
Is the drag and drop functionality also possible for Power Pages?
Great work Scott! Wondering whether a task can be extended to multiple days and highlight the duration a task is estimated to take.
Hi, did you ended up finding a solution for this one?
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 :)
Thank you 😊 great idea about the dropping on items to build trees. 🎄
great .. this could be useful for construction bill of materials
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!
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.
Thank you so much 😊 multi select is something that I will be adding soon.
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 :)
That would be an interesting challenge for sure! Thank you for watching and subscribing ☺️
Did you manage to fix, My one is disapepear when I drag inside the date.
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.
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
Hello Scott, great job!
It is posible to create simular OnDrop table but for time slots? For instance, I'm looking for a solution how to create a week planer with 7days (Monday- Sunday) and timeline from 12 am to 11 pm for each day and to have the option to drag and drop into this table breaks like 15 miuntes, 30 minutes...etc. What is your experience in this field? :)
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.
Thank you so much Peter for watching and this awesome feedback - lots to think about there! ☺️ it gives me some good ideas for future videos!
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?
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!
Is this both for Canvas and Model-Driven PowerApps?
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?
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!
th-cam.com/video/wkHvjusgLEE/w-d-xo.html
Hope this helps!
That’s great, I finished everything 😊😊😊 but Scott, how and where did you set the varSelectedDate 5:19
Thank you so much
Did you ever find this?
@@dpukkz_bbq Place the following into your screen's OnVisible property:
Set(varSelectedDate, dtpStartDate.SelectedDate)
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?
In the same boat here.
Same here. Looking at a roster situation. Not sure if power automate can be used to create recurring tasks?
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')),
Is there any way to use the duration field along with MaximumItems to limit the sum of the task's duration for that day to 8 hours?
I have not been able to download the files in solutions.
Another great video!
Thank you 😊 and thanks for watching and subscribing
What if the task spans more then one day? Would this be possible? I would love to drag over multiple zones and then get the start and end date
I’ll give that one some thought! Thank you so much for watching and subscribing ☺️
@@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
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?
What kind of PowerApp are you using his component on?
I just mean Canvas or Model-Driven...??
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.
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.
Answer to number 2 is... always add the field. Still any help on the OnDrop trigger running would be great
Answer to number 1 is putting the Select(fn) in On Drop of the Master along with the dropzone
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.
I am also having this issue, did you perhaps find a solution?
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
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.
Amazing Scott, I very hope you can show how to edit text or add in Item drag and drop. Wow, its cool and help me so much. Tks you
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!
@@ScottDurow tks for reply Scott, I'm really looking forward to it, you're amazing
Hi Scott.
Can we do multi select drag n drop.
Please help.
Thanks
I have this on the backlog! Thank you for watching, subscribing and commenting 🤩
Hi Scott, I can't import solutions due to restrictions/ privilege can we import this component as separate app?
Thank you for watching - you could create a developer environment perhaps? powerapps.microsoft.com/en-ca/developerplan/
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: th-cam.com/video/__6MyV_ZqN4/w-d-xo.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.
@@ScottDurow I am so dumb, I think I need to sort the collection as well? As in the control doesn't do the sorting, the collection does?