| 
					
				 | 
			
			
				@@ -101,6 +101,7 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ->map('path', $builder->fromArgument('path')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $builder->produce('route_entity') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ->map('url', $builder->fromParent()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ->map('language', $builder->fromArgument('lang')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -113,15 +114,11 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // $language = \Drupal::languageManager()->getCurrentLanguage()->getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $registry->addFieldResolver('Query', 'materiau', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // $builder->compose( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $builder->produce('entity_load') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ->map('type', $builder->fromValue('node')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ->map('bundles', $builder->fromValue(['materiau'])) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ->map('id', $builder->fromArgument('id')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //     ->map('language', $builder->fromValue('fr')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //   $builder->produce('entity_translation') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //     ->map('entity', $builder->fromParent()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $builder->produce('entity_load') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ->map('type', $builder->fromValue('node')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ->map('bundles', $builder->fromValue(['materiau'])) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ->map('id', $builder->fromArgument('id')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ->map('language', $builder->fromArgument('lang')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $registry->addFieldResolver('Query', 'materiaux', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -129,6 +126,7 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ->map('type', $builder->fromValue('node')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // ->map('bundles', $builder->fromValue(['materiau'])) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ->map('ids', $builder->fromArgument('ids')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ->map('language', $builder->fromArgument('lang')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $registry->addFieldResolver('Materiau', 'id', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -374,6 +372,7 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ->map('type', $builder->fromValue('node')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ->map('bundles', $builder->fromValue(['article'])) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ->map('id', $builder->fromArgument('id')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ->map('language', $builder->fromArgument('lang')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $registry->addFieldResolver('Article', 'id', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -425,10 +424,37 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // https://github.com/drupal-graphql/graphql/blob/8.x-4.x/doc/SUMMARY.md 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // https://blog.chrismitchellonline.com/posts/custom_graphql_data/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $registry->addFieldResolver('Article', 'linked_materials', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $builder->produce('entity_reference') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ->map('entity', $builder->fromParent()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ->map('field', $builder->fromValue('field_linked_materials')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // $builder->produce('entity_reference') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   ->map('entity', $builder->fromParent()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   ->map('field', $builder->fromValue('field_linked_materials')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   ->map('language', $builder->fromValue('fr')) // this is not working 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   // ->map('language', $builder->produce('entity_language') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //     // ->map('entity', $builder->fromParent())) // neither that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $builder->compose( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $builder->callback(function($parent, $args){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $linkedmaterials = $parent->get('field_linked_materials')->getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $nids = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          foreach ($linkedmaterials as $key => $value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $nids[] = $value['target_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $lang = $parent->language()->getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $test="test"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ids" => $nids, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "language" => $lang 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $builder->produce('entity_load_multiple') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ->map('type', $builder->fromValue('node')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ->map('bundles', $builder->fromValue(['materiau'])) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ->map('ids', $builder->callback(function($parent, $args){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return $parent['ids']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          })) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ->map('language', $builder->callback(function($parent, $args){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return $parent['language']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          })) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $registry->addFieldResolver('Article', 'images', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $builder->produce('entity_reference') 
			 |