gridjs icon indicating copy to clipboard operation
gridjs copied to clipboard

parser for Graphql or Json data

Open Zegoverno opened this issue 4 years ago • 3 comments

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like A clear and concise description of what you want to happen.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

Zegoverno avatar Jun 05 '20 21:06 Zegoverno

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 Jul 05 '20 21:07 stale[bot]

Here's a working graphql config for anyone stuck with this. Caveat: you need to set up a graphql endpoint/query that receives first: Int!, offset: Int!, keyword: Int! for this to work, i.e. an endpoint that returns a paginated list of results that is filterable if a search term is provided. Using separate endpoints for search and pagination makes the problem 10x harder to solve.

    <Grid
      {columns}
      {className}
      sort
      search={{
        enabled: true,
        server: {
          body: (prevBody, keyword) => {
            return {
              keyword: keyword
            }
          }
        }
      }}
      pagination={{
        enabled: true,
        limit: 5,
        summary: true,
        server: {
          body: (prevBody, page, limit) => {
            return {
              ...prevBody,
              first: limit,
              offset: page * limit
            }
          }
        }
      }}
      server={{
        data: (opts) => {
          return new Promise((resolve, reject) => {
            let variables = {
              keyword: "",
              first: 10,
              offset: 0,
              ...opts.body
            }

            graphQLClient.request(paginatedFilterableSearch, variables)
              .then((res) => {
                resolve({
                  data: res.data.map(item => {
                    return [item.name, transcript.description, transcript.slug]
                  }),
                  total: res.data.total_count
                })
              })
              .catch((error) => {
                reject(error)
              })
          })
        }
      }}
    />

For reference, I'm using this with https://github.com/lynxtaa/awesome-graphql-client

benwoodward avatar Jun 11 '21 08:06 benwoodward

I'm also trying to get gridjs to work with graphql

is it possible to get the data option available inside pagination so we can use a custom HTTP client for paging, sorting, searching etc?

ex) https://gridjs.io/docs/examples/custom-http-client

I'm looking for ways to get this to work with apollo client and graphql

twilly86 avatar Jun 24 '22 18:06 twilly86