Giter Site home page Giter Site logo

Comments (7)

lindyhopchris avatar lindyhopchris commented on August 19, 2024

@neomerx

Think the withPagingLinks method might work. How would you include other links (i.e. links that aren't paging related) in the same links object in the document that is encoded? E.g. if the document links object was to include self as a link as well as the paging links?

The other thing to bear in mind about paging links is they are not only limited to the top level (document) scope. For the spec:

To paginate the primary data, supply pagination links in the top-level links object. To paginate an included collection returned in a compound document, supply pagination links in the corresponding links object.

I think an example of the latter is providing pagination links in the links object on a has-many relationship. Would your paging links generator approach work for that too?

from json-api.

neomerx avatar neomerx commented on August 19, 2024

How would you include other links

You can combine those methods. If a link key is used more than once the last Link value will be used

$encoder
    ->withPagingLinks([Link::FIRST, Link::FIRST, ...], $pageLinksGenerator)
    ->withLinks([...])
    ->encodeData(...);

The other thing to bear in mind about paging links is they are not only limited to the top level

Very good point. Similar kind of helper method is needed to be accessible from Schema (from method getRelationships in particular). I can't figure out syntax of that method however it should be similar to withPagingLinks. These links will be placed in links section of the relationship.

from json-api.

lindyhopchris avatar lindyhopchris commented on August 19, 2024

You can combine those methods

Ah yep, had missed that. Works nicely.

I can't figure out syntax of that method however it should be similar to withPagingLinks

Definitely makes sense to try to keep the method signatures as close as possible.

from json-api.

neomerx avatar neomerx commented on August 19, 2024

That's another piece of paging puzzle

from json-api.

lindyhopchris avatar lindyhopchris commented on August 19, 2024

@neomerx what's the complication with that? I'd take that doc page with a pinch of salt as the example server response isn't JSON API, plus Ember Data v2.0 will be built to default to the JSON API spec.

from json-api.

neomerx avatar neomerx commented on August 19, 2024

Ember drives me crazy 😄 I'be been spending past two days with Ember documentation, samples and videos. I just want to do a simple form with fields for attributes and combo/drop-down-list/select for one of the relationships with all data taken from backend.

Looking for paging was't my priority but that link was the only I found. And yes you right it's not relevant 😄

from json-api.

neomerx avatar neomerx commented on August 19, 2024

Let's say we have data which were filtered and sorted before it's passed to Encoder. How can we look at those data and say which filtering and sorting parameters were applied? We can't. Thus it's a fundamentally wrong idea to generate URLs based on provided data. The party which sends data to encoder should compose proper URLs. The lib currently provides all the means for that.

I'm closing this open question.

from json-api.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.