Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 47e3936d11 |
+28
-2
@@ -32,6 +32,7 @@ use KTXF\Resource\Identifier\EntityIdentifierInterface;
|
|||||||
use KTXF\Resource\Identifier\ResourceIdentifiers;
|
use KTXF\Resource\Identifier\ResourceIdentifiers;
|
||||||
use KTXF\Resource\Provider\ResourceServiceIdentityInterface;
|
use KTXF\Resource\Provider\ResourceServiceIdentityInterface;
|
||||||
use KTXF\Resource\Provider\ResourceServiceLocationInterface;
|
use KTXF\Resource\Provider\ResourceServiceLocationInterface;
|
||||||
|
use KTXF\Resource\Range\RangeAnchorType;
|
||||||
use KTXF\Resource\Range\RangeType;
|
use KTXF\Resource\Range\RangeType;
|
||||||
use KTXF\Resource\Sort\ISort;
|
use KTXF\Resource\Sort\ISort;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
@@ -778,7 +779,20 @@ class Manager {
|
|||||||
// construct range for entities
|
// construct range for entities
|
||||||
$entityRange = null;
|
$entityRange = null;
|
||||||
if ($range !== null && $range !== [] && isset($range['type'])) {
|
if ($range !== null && $range !== [] && isset($range['type'])) {
|
||||||
$entityRange = $service->entityListRange(RangeType::from($range['type']))->jsonDeserialize($range);
|
$entityRange = $service->entityListRange(RangeType::from($range['type']));
|
||||||
|
// Cast to IRangeTally if the range type is TALLY
|
||||||
|
if ($entityRange->type() === RangeType::TALLY) {
|
||||||
|
/** @var IRangeTally $entityRange */
|
||||||
|
if (isset($range['anchor'])) {
|
||||||
|
$entityRange->setAnchor(RangeAnchorType::from($range['anchor']));
|
||||||
|
}
|
||||||
|
if (isset($range['position'])) {
|
||||||
|
$entityRange->setPosition($range['position']);
|
||||||
|
}
|
||||||
|
if (isset($range['tally'])) {
|
||||||
|
$entityRange->setTally($range['tally']);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// retrieve entities for each collection
|
// retrieve entities for each collection
|
||||||
foreach ($collectionSelected as $collectionId) {
|
foreach ($collectionSelected as $collectionId) {
|
||||||
@@ -854,7 +868,19 @@ class Manager {
|
|||||||
// construct range for entities
|
// construct range for entities
|
||||||
$entityRange = null;
|
$entityRange = null;
|
||||||
if ($range !== null && $range !== [] && isset($range['type'])) {
|
if ($range !== null && $range !== [] && isset($range['type'])) {
|
||||||
$entityRange = $service->entityListRange(RangeType::from($range['type']))->jsonDeserialize($range);
|
$entityRange = $service->entityListRange(RangeType::from($range['type']));
|
||||||
|
if ($entityRange->type() === RangeType::TALLY) {
|
||||||
|
/** @var IRangeTally $entityRange */
|
||||||
|
if (isset($range['anchor'])) {
|
||||||
|
$entityRange->setAnchor(RangeAnchorType::from($range['anchor']));
|
||||||
|
}
|
||||||
|
if (isset($range['position'])) {
|
||||||
|
$entityRange->setPosition($range['position']);
|
||||||
|
}
|
||||||
|
if (isset($range['tally'])) {
|
||||||
|
$entityRange->setTally($range['tally']);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// yield entities for each collection individually
|
// yield entities for each collection individually
|
||||||
foreach ($collectionSelected as $collectionId) {
|
foreach ($collectionSelected as $collectionId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user