laravel-livewire-tables icon indicating copy to clipboard operation
laravel-livewire-tables copied to clipboard

[Bug] Auto Inject Assets: Only if component rendered

Open yparitcher opened this issue 1 year ago • 14 comments

Regression from 65ce4947ab58b77fb3e454423202edd17e414e49 #1371

Fixes: #1587

Check if component is instanceof DataTableComponent so as not to inject on every livewire page, only ones with a datatable component

All Submissions:

  • [x] Have you followed the guidelines in our Contributing document?
  • [x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions:

  1. [ ] Does your submission pass tests and did you add any new tests needed for your feature?
  2. [ ] Did you update all templates (if applicable)?
  3. [ ] Did you add the relevant documentation (if applicable)?
  4. [ ] Did you test locally to make sure your feature works as intended?

Changes to Core Features:

  • [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
  • [ ] Have you written new tests for your core changes, as applicable?
  • [ ] Have you successfully ran tests with your changes locally?

yparitcher avatar Mar 05 '24 16:03 yparitcher

@lrljoe

yparitcher avatar Mar 05 '24 16:03 yparitcher

Thanks for the tag!

I'll do my absolute best to give it a look tomorrow, as then I'm not about for a week or two.

The injection code needs another update in general as well, as there's some more core stuff that I've not gotten around to merging in from Livewire core just yet, which albeit were minor tweaks.

Also intending to wrap up the code for "public" usage properly in case people do want to publish it and use it that way, but that's probably a month away.

lrljoe avatar Mar 05 '24 23:03 lrljoe

Codecov Report

Attention: Patch coverage is 75.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 88.14%. Comparing base (6c759e0) to head (44bb82a). Report is 145 commits behind head on v3-development.

Files with missing lines Patch % Lines
src/Features/AutoInjectRappasoftAssets.php 75.00% 1 Missing :warning:
Additional details and impacted files
@@                 Coverage Diff                  @@
##             v3-development    #1683      +/-   ##
====================================================
- Coverage             88.16%   88.14%   -0.03%     
- Complexity             1314     1316       +2     
====================================================
  Files                   123      123              
  Lines                  3110     3113       +3     
====================================================
+ Hits                   2742     2744       +2     
- Misses                  368      369       +1     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Mar 05 '24 23:03 codecov[bot]

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Apr 11 '24 01:04 stale[bot]

@lrljoe ?

yparitcher avatar Apr 17 '24 21:04 yparitcher

Apologies, been a bit busy of late! Will look to get this reviewed and merged in this week.

lrljoe avatar Apr 29 '24 00:04 lrljoe

Not forgotten! Just need to spin up a fresh test environment to validate this, as I don't use the injection approach!

lrljoe avatar May 30 '24 02:05 lrljoe

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jun 29 '24 05:06 stale[bot]

@lrljoe bump

yparitcher avatar Jul 10 '24 16:07 yparitcher

Re-Opening as this is just something I've overlooked and not had time to review properly.

lrljoe avatar Jul 10 '24 23:07 lrljoe

Changed base branch to "development" (where I'm currently working)

Note that I definitely need to bring the auto-injection back up to the current approach with Livewire core approach, as it's been a while since I worked on that.

lrljoe avatar Jul 11 '24 00:07 lrljoe

Definitely keen to implement this, however - I've run a couple of tests on this, as it doesn't seem to be producing consistent behaviour.

For example:

  1. Open a new browser/tab to a page that does not contain a table
  2. Navigate to a page that does contain a table using wire:navigate

What I'm seeing when this happens is - the JS which populates/presents various options (e.g. the Filter dropdown) isn't firing until an additional action is fired. (e.g. column sorting).

If you navigate directly to a page with a table (or don't use wire:navigate), then it works as you'd expect.

So I'll need to pop some bits open to see what's actually happening under the hood!

lrljoe avatar Jul 11 '24 00:07 lrljoe

I don't use wire:navigate much, so did not test that interaction.

yparitcher avatar Jul 11 '24 02:07 yparitcher

Yeah, I think it's an issue with wire:navigate and loading components in, need to pop open the livewire core code and verify tho

lrljoe avatar Jul 12 '24 18:07 lrljoe

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Sep 15 '24 09:09 stale[bot]