10
10
use GraphQL \Language \AST \FieldNode ;
11
11
use GraphQL \Language \AST \InlineFragmentNode ;
12
12
use GraphQL \Language \AST \NodeKind ;
13
- use Magento \Catalog \Api \Data \CategoryInterface ;
14
13
use Magento \Eav \Model \Entity \Collection \AbstractCollection ;
15
14
use Magento \Framework \GraphQl \Schema \Type \ResolveInfo ;
16
15
19
18
*/
20
19
class AttributesJoiner
21
20
{
22
- private const REQUEST_FIELD_NAME = 'categoryList ' ;
23
21
/**
24
22
* @var array
25
23
*/
@@ -77,6 +75,7 @@ public function getQueryFields(FieldNode $fieldNode, ResolveInfo $resolveInfo):
77
75
$ fragmentFields [] = $ this ->addInlineFragmentFields ($ resolveInfo , $ field );
78
76
} elseif ($ field ->kind === NodeKind::FRAGMENT_SPREAD &&
79
77
($ spreadFragmentNode = $ resolveInfo ->fragments [$ field ->name ->value ])) {
78
+
80
79
foreach ($ spreadFragmentNode ->selectionSet ->selections as $ spreadNode ) {
81
80
if (isset ($ spreadNode ->selectionSet ->selections )) {
82
81
$ fragmentFields [] = $ this ->getQueryFields ($ spreadNode , $ resolveInfo );
@@ -86,11 +85,6 @@ public function getQueryFields(FieldNode $fieldNode, ResolveInfo $resolveInfo):
86
85
}
87
86
} else {
88
87
$ selectedFields [] = $ field ->name ->value ;
89
- $ selectedFields = $ this ->addIsAnchoredAttributeToSelectedFiled (
90
- $ resolveInfo ,
91
- $ field ,
92
- $ selectedFields
93
- );
94
88
}
95
89
}
96
90
if ($ fragmentFields ) {
@@ -178,24 +172,4 @@ private function setSelectionsForFieldNode(FieldNode $fieldNode, array $selected
178
172
{
179
173
$ this ->queryFields [$ fieldNode ->name ->value ][$ fieldNode ->name ->loc ->start ] = $ selectedFields ;
180
174
}
181
-
182
- /**
183
- * Add `is_anchor` attribute to selected field
184
- *
185
- * @param ResolveInfo $resolveInfo
186
- * @param FieldNode $fieldNode
187
- * @param array $selectedFields
188
- * @return array
189
- */
190
- private function addIsAnchoredAttributeToSelectedFiled (
191
- ResolveInfo $ resolveInfo ,
192
- FieldNode $ fieldNode ,
193
- array $ selectedFields
194
- ): array {
195
- if ($ resolveInfo ->fieldName === self ::REQUEST_FIELD_NAME
196
- && $ fieldNode ->name ->value === CategoryInterface::KEY_PRODUCT_COUNT ) {
197
- $ selectedFields [] = 'is_anchor ' ;
198
- }
199
- return $ selectedFields ;
200
- }
201
175
}
0 commit comments