extiverse / bazaar

The extension marketplace for your Flarum forum.
https://discuss.flarum.org/d/5151
MIT License
59 stars 14 forks source link

Add local search #73

Closed clarkwinkelmann closed 7 years ago

clarkwinkelmann commented 7 years ago

There's currently a mix of server-side and client-side filtering. If we can move all filtering to server-side, we can use pagination instead of loading every single extension in the front-end. flagrow.io results are always fetched in a single request.

I don't know if I should work on the above right away or if we first release this before doing more work on the filtering feature.

codecov-io commented 7 years ago

Codecov Report

Merging #73 into master will decrease coverage by 0.41%. The diff coverage is 0%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #73      +/-   ##
==========================================
- Coverage   29.28%   28.87%   -0.42%     
==========================================
  Files          43       43              
  Lines        1055     1070      +15     
==========================================
  Hits          309      309              
- Misses        746      761      +15
Impacted Files Coverage Δ
src/Repositories/ExtensionRepository.php 0% <0%> (ø) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 27ad2a1...799968f. Read the comment docs.

clarkwinkelmann commented 7 years ago

I think there's an issue with the js view though

image

This is not related to the search feature in particular, see #74

clarkwinkelmann commented 7 years ago

I also copied a simple debounce implementation from underscore. I'm not sure how we are supposed to include js dependencies.

Ideally we should use the lodash method, but it's not available globally and it's not a very good idea to import lodash via an extension...

luceos commented 7 years ago

a) release often and iterate. So implement full server side filtering later on; this has to be done one way or another. b) yes not sure about dependencies either, have been thinking the same now that I have a better grasp of typescript, something for the internals channel?