@23:28 ...here we will additionally need to clear the statuses array upon the clicking of "Filter" button by emitting 1 more event from FilterDropdown component to parent DataTable component so that the filter in the parent DataTable component is cleared when the filter button is clicked in the FilterDropdown component, and next time it will start sending the updated list to its parent....
Amazing video!!! 👏 I love how clear you teach these concepts in your videos. Will you be doing a follow-up adding pagination and order-by toggles by any chance?
Excellent video as always. That being said, I would always store the state for a table like that in the url. Guessing you didn't to keep it simple for the demo?
@@aschmelyun return cuisineFilter.value.splice(cuisineFilter.value.indexOf(filter), 1); this doesn't work until I changed it to return cuisineFilter.value.splice(cuisineFilter.value.indexOf(filter), -1); I am wondering if the same happened to others as well.
I think I disagree with having that many handle methods. Probably should've been `v-model`s. That would also allow having a clearAllFilters method in the table and send state from the server to those fields.
100% agree, kept it more verbose to kind of see how everything's moving in between components. I have a follow-up video planned that refactors this to use models and stores state via query params!
@@mattskelton7471 For each of the inputs (the search bar, radio buttons, and checkboxes), in Vue instead of listening to an event and using a handler function to modify the local ref, we could just directly attach the ref to the input using Vue's v-model attribute.
Makes so much sense to me compared to using React, thanks very clear. When i was trying to do something like this my initial thought was to filter at the end point to only fetch the desired "tasks" for example instead of fetching all the tasks and then filtering on the frontend, would what i was trying to do be considered bad practice? This method seems a lot easier, thank you for your time. I am going to start using Vue now
Awesome. Just what I needed! Very clear explanations. 👌 Any ETA on the "v-model" refactoring video? And do you have this code in a repository somewhere?
Where is the api data coming from please? Is there a github repo to clone to follow along? I think you should have shared the resources used in the video so it is easy to follow along.
Yes, definitely! It's just a plain Vue component which means we can add it easily to a Laravel app with Inertia. You'll just have to ensure that your controller has the functionality to pull in things like filter/sort changes, which can then be fired off with a partial reload: inertiajs.com/partial-reloads
Hey Andrew great video thanks man, could you mind posting a video something like how to "manage" Roles and Permission in a SPA using vue.js? It would be a great video for example in Laravel using the Spatie Roles & Permission package
Great video🔥 Please help me) I have related data from laravel (desks->cards->tasks). In Vue I send all data by dynamically props.deskId. I have props : [“deskId] and when computed return props.task.value.filter not working but return task.value.filter without props gives all tasks not relative to card, but it’s filtered. I want relative to card tasks filter only
@23:28 ...here we will additionally need to clear the statuses array upon the clicking of "Filter" button by emitting 1 more event from FilterDropdown component to parent DataTable component so that the filter in the parent DataTable component is cleared when the filter button is clicked in the FilterDropdown component, and next time it will start sending the updated list to its parent....
Man, you did a great job with this video!!! Would love to see more straight Vue tutorials!
This was very comprehensive, and found to be useful… thanks man
This was very helpful! subscribed!
Amazing video!!! 👏 I love how clear you teach these concepts in your videos. Will you be doing a follow-up adding pagination and order-by toggles by any chance?
Yep, I have that planned, stay tuned!
thank you! it helps me understanding how to make search functionality
Hi, Really great job :) just one question, If we working with API then we should send filters to backend or no ?
which font you are using in your editor ??
Great & Very Helpful! Thank You Sir!❤
great tutorial; do you have any insights into how many items such a table could handle before you would need to implement server-side filtering?
Is it possible for you to provide the source code for this project? Thanks.
Excellent video as always. That being said, I would always store the state for a table like that in the url. Guessing you didn't to keep it simple for the demo?
Correct! I'm planning a follow-up video to this that deals with more intricacies like browser state, v-model usage, and pagination.
Thank you. The tutorial is easy, useful with a fully comprehendible explanation.
I'm glad you liked it!
@@aschmelyun return cuisineFilter.value.splice(cuisineFilter.value.indexOf(filter), 1); this doesn't work until I changed it to
return cuisineFilter.value.splice(cuisineFilter.value.indexOf(filter), -1);
I am wondering if the same happened to others as well.
bro just saved my live on this because I was told to add the same exact features by my supervisor.
I think I disagree with having that many handle methods. Probably should've been `v-model`s. That would also allow having a clearAllFilters method in the table and send state from the server to those fields.
Can you explain what you mean? Do you mean use v-model instead of events?
100% agree, kept it more verbose to kind of see how everything's moving in between components. I have a follow-up video planned that refactors this to use models and stores state via query params!
@@mattskelton7471 For each of the inputs (the search bar, radio buttons, and checkboxes), in Vue instead of listening to an event and using a handler function to modify the local ref, we could just directly attach the ref to the input using Vue's v-model attribute.
@@aschmelyun hello and thanks for your work. Is there a chance that the video (that you planned) will still appear?
Makes so much sense to me compared to using React, thanks very clear. When i was trying to do something like this my initial thought was to filter at the end point to only fetch the desired "tasks" for example instead of fetching all the tasks and then filtering on the frontend, would what i was trying to do be considered bad practice? This method seems a lot easier, thank you for your time. I am going to start using Vue now
Amazing video and very helpful, thanks you very much! Do you happen to have a repo with the code?
Gold!! Great one!!
Nice video,it help me a lot ❤
Awesome. Just what I needed! Very clear explanations. 👌
Any ETA on the "v-model" refactoring video? And do you have this code in a repository somewhere?
love the video, are you going to upload more videos for this project or thats it ?
Nice job!
"And as always: " Thanks for this great video!
4:20 "from the API that I set up earlier" - which video this API from and did you use Elasticsearch in there?
idk either man, thats where im at now
Thank you! very useful information. Can you make a video about adding pagination on this data using vue?
Where is the api data coming from please? Is there a github repo to clone to follow along?
I think you should have shared the resources used in the video so it is easy to follow along.
Man! Love your videos.
Please make more Vue js project base tutorials.
Thanks! I have more coming down the line, just need to build out the projects and record them
@@aschmelyun Thank you Thank you. Just waiting
You should definitely make a course man
THANK YOU REALLY HELPFUL!
Can you this be integrated with laravel/inertia? thanks.
Yes, definitely! It's just a plain Vue component which means we can add it easily to a Laravel app with Inertia. You'll just have to ensure that your controller has the functionality to pull in things like filter/sort changes, which can then be fired off with a partial reload: inertiajs.com/partial-reloads
Thank you for the advice Sir? looking forward for more content like this :D @@aschmelyun
what it the full code of the class of input field inside searchform and of the input inside filterdropdown
crystal clear explanation.
can I request. how about a paginated version and table sorting with same search filters.. would appreciate it.
That's coming in a future version, yes!
tnx in advance! looking forward.
Great video. Could you please add pagination as well 🙏🏾
Of course! It's planned for the follow-up video out soon
Pagination AND column sorting too??
What IDE are you using, Webstorm ?
PHPStorm, another JetBrains product!
Last question, is the UI framework bootstrap or something else ?@@aschmelyun
It's Tailwindcss @@ΠαναγιώτηςΜουργιας
Great video!
thank you
Where's the example showing how to filter for a date that's between two chosen dates such as when you're filtering a log?
Great video
Anyone have a link for the source code?
Is it possible to share the github code for this ? will be very helpful for this
cool! how to setup jetbrains like you?
It didn't take much work! I'm using the Material UI plugin, Palenight theme, and have a lot of the elements turned off from the View panel.
Thanks you sir. Can you create filter with date_booking. Example: Hotel booking. ❤
Thanks 💓
Thank You :) Please can u do pagination and headers sorting for this table component? :))
Great suggestion! It's definitely planned for the follow-up
its a very good video. What's about the pagination and sort?@@aschmelyun
Hey Andrew great video thanks man, could you mind posting a video something like how to "manage" Roles and Permission in a SPA using vue.js? It would be a great video for example in Laravel using the Spatie Roles & Permission package
Great video🔥 Please help me) I have related data from laravel (desks->cards->tasks). In Vue I send all data by dynamically props.deskId. I have props : [“deskId] and when computed return props.task.value.filter not working but return task.value.filter without props gives all tasks not relative to card, but it’s filtered. I want relative to card tasks filter only
I have template inside template like v-for desk in desks after v-for card in desk.cards after v-for task in card.tasks. And gives its relative data
Nice 🙏👌
Very declarative content. Can you share the code at git?
have you tried to use v-model on the filters components directly ?? passing ":value" and emitting "input", its called custom input component
That's definitely best practices, and will be a way to refactor this in a future video. Wanted to show off the "hard way" to do this!
🙏