37 lines
964 B
JavaScript
Raw Normal View History

2020-12-18 11:24:52 +01:00
'use strict';
const { intersection, prop } = require('lodash/fp');
2021-04-29 13:51:12 +02:00
const { getRelationalFields } = require('@strapi/utils').relations;
2020-12-18 11:24:52 +01:00
2021-08-20 15:23:02 +02:00
module.exports = ({ strapi }) => {
const sendDidConfigureListView = async (contentType, configuration) => {
2021-08-20 15:23:02 +02:00
const displayedFields = prop('length', configuration.layouts.list);
const relationalFields = getRelationalFields(contentType);
2022-08-08 23:33:39 +02:00
const displayedRelationalFields = intersection(
relationalFields,
configuration.layouts.list
).length;
2020-12-18 11:24:52 +01:00
2021-08-20 15:23:02 +02:00
const data = {
eventProperties: { containsRelationalFields: !!displayedRelationalFields },
2021-08-20 15:23:02 +02:00
};
2020-12-18 11:24:52 +01:00
if (data.eventProperties.containsRelationalFields) {
Object.assign(data.eventProperties, {
2021-08-20 15:23:02 +02:00
displayedFields,
displayedRelationalFields,
});
}
2020-12-18 11:24:52 +01:00
2021-08-20 15:23:02 +02:00
try {
await strapi.telemetry.send('didConfigureListView', data);
2021-08-20 15:23:02 +02:00
} catch (e) {
// silence
}
};
2020-12-18 11:24:52 +01:00
2021-08-20 15:23:02 +02:00
return {
sendDidConfigureListView,
};
};