matteodem / meteor-easy-search

Easy-to-use search for Meteor with Blaze Components
MIT License
435 stars 68 forks source link

Make this package frontend independent #495

Closed matteodem closed 6 years ago

matteodem commented 8 years ago

Next major version will focus on making this package easy to use with any frontend library that's wished by either using GraphQL / Apollo or the Meteor Pub / Sub system.

ivansglazunov commented 8 years ago

Blaze in React is not working? I have not tried it, but when I try to report back. Does it make sense to do something if it works?

matteodem commented 8 years ago

Yeah sure, I just think it'd be cool to have a package like easy-search:components-react that provides some simple wrapped components.

ivansglazunov commented 8 years ago

Yes, cool. The package already in the works? Maybe I could do it in the next month.

matteodem commented 8 years ago

No it isn't, feel free to do so. I'll prioritize the open bugs either way

acomito commented 8 years ago

any update on this?

matteodem commented 8 years ago

No not really, for now you can use one of the packages that makes it easy to use blaze in react (https://atmospherejs.com/thereactivestack/blazetoreact)

acomito commented 8 years ago

That one doesn't seem to work anymore unfortunately. Is there a best alternative blaze-in-react package?

tim-phillips commented 8 years ago

While you wait for someone to get back to you about your github issue, you could try what mdg recommends in the guide:

https://guide.meteor.com/react.html#blaze-in-react

acomito commented 8 years ago

@babenzele I just realized I had static-html installed and handling my .html files instead of the blaze templating package.

acomito commented 8 years ago

hmm.. I also just realized that if I need to interact with the search results then things get kind of messy. For instance, if a user can click a search result to go to, say, an individual profile, then I need to use react-in-blaze to use react-router's <Link> OR somehow connect to react-router inside of blaze, or use blaze modals or something.

I wanted to avoid learning a new library but since I'm using redux already, I may go with this: https://treasure-data.github.io/redux-search/

tim-phillips commented 8 years ago

I've been using Griddle for some searches. It renders to a table but you can replace columns and cells with custom components. I'm using griddle-react-bootstrap with it as well for some styling.

https://griddlegriddle.github.io/Griddle/ http://wadahiro.github.io/griddle-react-bootstrap/

isAlmogK commented 7 years ago

It would be nice to support react is there any plans for this?

matteodem commented 7 years ago

I think in the long term the focus on this package will have to align with the apollo integration that's (hopefully) coming soon to meteor. Easy Search might then go through some major refactoring to adjust to the graphql subscriptions / query logic.

This would make react integration a breeze, as the apollo integration packages could be used.

As of now I'm not sure if it's worth the effort though, as it's still a open source package which takes up a lot of private time.

isAlmogK commented 7 years ago

Yea that makes sense, not sure about Apollo integration with Meteor was this already announced

matteodem commented 7 years ago

not yet, but MDG mentioned multiple times that graphql will come to Meteor as the new data stack in a future version.

matteodem commented 6 years ago

I will integrate Easy Search into a personal project of mine, which uses GraphQL on the backend. Maybe this will result into a new package and / or documentation on how to use the package with GraphQL easily to make it frontend agnostic.

matteodem commented 6 years ago

A quick update: I used Easy-Search in the project I mentioned previously (https://github.com/matteodem/meteor-easy-search/issues/495#issuecomment-343862935) and it pretty much works out of the box:

https://github.com/matteodem/sounds-social/blob/b0ad1471849850a6a970fb2fde8011ee40a7aa9a/code/api/imports/api/schema/SoundGraphqlSchema.js#L175

Open for suggestions on how to advance on this, but as of now I'm unclear on what could help this library be "easier" to integrate.