Merge pull request #2720 from signify-nz/enh/gridfieldcomponents-di

ENH Prefer dependency injection for GridFieldComponents
This commit is contained in:
Michal Kleiner 2022-02-12 22:12:26 +13:00 committed by GitHub
commit 07df04f3c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 5 deletions

View File

@ -1632,9 +1632,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
}
$list = $this->getList($params, $parentID);
$gridFieldConfig = GridFieldConfig::create()->addComponents(
new GridFieldSortableHeader(),
new GridFieldDataColumns(),
new GridFieldPaginator($this->config()->get('page_length'))
Injector::inst()->create(GridFieldSortableHeader::class),
Injector::inst()->create(GridFieldDataColumns::class),
Injector::inst()->createWithArgs(GridFieldPaginator::class, [$this->config()->get('page_length')])
);
if ($parentID) {
$linkSpec = $this->LinkListViewChildren('%d');
@ -1645,7 +1645,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
);
$this->setCurrentPageID($parentID);
}
$gridField = new GridField('Page', 'Pages', $list, $gridFieldConfig);
$gridField = GridField::create('Page', 'Pages', $list, $gridFieldConfig);
$gridField->setAttribute('cms-loading-ignore-url-params', true);
/** @var GridFieldDataColumns $columns */
$columns = $gridField->getConfig()->getComponentByType(GridFieldDataColumns::class);

View File

@ -1996,7 +1996,7 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi
);
}
]);
$dependentTable->getConfig()->addComponent(new GridFieldLazyLoader());
$dependentTable->getConfig()->addComponent(Injector::inst()->create(GridFieldLazyLoader::class));
}
$baseLink = Controller::join_links(