2022-09-29 11:24:11 +03:00

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,
};
};