Skip to content
Ghislain B edited this page Nov 11, 2017 · 22 revisions

The implementation of a GraphQL Service requires a certain structure to follow for Angular-Slickgrid to work correctly (it will fail if your GraphQL Schema is any different than what is shown below).

Implementation

For the implementation in your code, refer to the GraphQL Service section.

filterBy

The filtering uses filterBy with a structure which we think is flexible enough. The query will have a filterBy argument with an array of filter properties:

  • filterBy: array of filter object(s) (see below)
    • field: field name to filter
    • value: search filter value
    • operator: a GraphQL enum (server side) that can have 1 of these choices:
      • LT, LE, GT, GE, NE, EQ, Contains, StartsWith, EndsWith, IN, NIN
        • Contains is the default and will be used (by the grid) when operator is not provided
        • IN and NIN (Not IN) are mainly used for multi-select filtering

Note: the filterBy order is following the order of how the filter objects were entered in the array.

For example, a filter that would search for a firstName that starts with "John"

  • matches: "John", "Johnny", ...
  users (first: 20, offset: 10, filterBy: [{field: firstName, operator: StartsWith, value: 'John'}]) {
    totalCount
    pageInfo {
      hasNextPage
    }
    nodes {
      name
      firstName
      lastName
      gender
    }
  }

Contents

Clone this wiki locally