mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-30 17:37:26 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			964 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			964 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const { intersection, prop } = require('lodash/fp');
 | |
| const { getRelationalFields } = require('@strapi/utils').relations;
 | |
| 
 | |
| module.exports = ({ strapi }) => {
 | |
|   const sendDidConfigureListView = async (contentType, configuration) => {
 | |
|     const displayedFields = prop('length', configuration.layouts.list);
 | |
|     const relationalFields = getRelationalFields(contentType);
 | |
|     const displayedRelationalFields = intersection(
 | |
|       relationalFields,
 | |
|       configuration.layouts.list
 | |
|     ).length;
 | |
| 
 | |
|     const data = {
 | |
|       eventProperties: { containsRelationalFields: !!displayedRelationalFields },
 | |
|     };
 | |
| 
 | |
|     if (data.eventProperties.containsRelationalFields) {
 | |
|       Object.assign(data.eventProperties, {
 | |
|         displayedFields,
 | |
|         displayedRelationalFields,
 | |
|       });
 | |
|     }
 | |
| 
 | |
|     try {
 | |
|       await strapi.telemetry.send('didConfigureListView', data);
 | |
|     } catch (e) {
 | |
|       // silence
 | |
|     }
 | |
|   };
 | |
| 
 | |
|   return {
 | |
|     sendDidConfigureListView,
 | |
|   };
 | |
| };
 | 
