* DOCS: Add new graphql 4 docs
* Reorganise docs
* Docs done
* Basic graphql index page
* TOC for getting started
* show folders on graphql index page
* Add middleware note
* Docs update
* Update docs to reflect flushless schema
* Docs updates
* Docs for getByLink
* Query caching docs
* Docs on nested operations
* update docs for new graphql dev admin
* Docs for configurable operations
* Replace readSiteTrees with readPages
* Schema defaults docs
* Docs for inherited plugins
* Docs for customising *
* Docs for field whitelisting
* Change whitelist word
* New docs on modelConfig
* Document dev/build extension
* Document default/global plugins
* Document new input type fields config
* Apply suggestions from code review
Co-authored-by: Andre Kiste <bergice@users.noreply.github.com>
* Note about when procedural schema gets built
* Fix link
* Apply suggestions from code review
Co-authored-by: Andre Kiste <bergice@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Andre Kiste <bergice@users.noreply.github.com>
* DOCS Note about plugins in custom queries
* DOCS Note about filter and custom resolvers
* DOCS Note about canview paging
* DOCS Updated guidance on _extend
See https://github.com/silverstripe/silverstripe-graphql/issues/296
* Apply suggestions from code review
Co-authored-by: Andre Kiste <bergice@users.noreply.github.com>
* DOCS Pre-release warning
Co-authored-by: Ingo Schommer <ingo@silverstripe.com>
Co-authored-by: Andre Kiste <bergice@users.noreply.github.com>
Co-authored-by: Ingo Schommer <me@chillu.com>
For whatever reason (different locale version) my local dev env uses
narrow-NBSPs (Unicode 8239) rather than regular NBSP in its localised
strings. This patch makes the tests robust against this difference.
Note that this occurred running the tests in Lando.
Co-authored-by: Robbie Averill <robbie@averill.co.nz>
$hadNamespace was ambiguously named, so the original PHP 8 support
update marked it true when it was strictly meant to indicate that a
namespace separator token had been encountered, resulting in bungled
parsing of complex class specs like Class(["arg" => true]).
This provides a mechanism for adjusting the behaviour of these
relations when building more complex data models.
For example the following example has a status field incorporates a
Status field into the relationship:
```php
function MyRelation() {
$rel = $this->getManyManyComponents(‘MyRelation’);
$rel = $rel->filter(‘Status’, ‘Active’);
$rel->addCallbacks()->add(function ($relation, $item, $extra) {
$item->Status = ‘Active’;
$item->write();
});
}
```
Introduces a new library dependency: http://github.com/sminnee/callbacklist