2020-12-18 11:24:52 +01:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const { intersection, prop } = require('lodash/fp');
|
|
|
|
const { getRelationalFields } = require('strapi-utils').relations;
|
|
|
|
|
|
|
|
const sendDidConfigureListView = async (contentType, configuration) => {
|
|
|
|
const displayedFields = prop('length', configuration.layouts.list);
|
|
|
|
const relationalFields = getRelationalFields(contentType);
|
2020-12-18 16:28:54 +01:00
|
|
|
const displayedRelationalFields = intersection(relationalFields, configuration.layouts.list)
|
|
|
|
.length;
|
2020-12-18 11:24:52 +01:00
|
|
|
|
|
|
|
const data = {
|
2020-12-18 16:28:54 +01:00
|
|
|
containsRelationalFields: !!displayedRelationalFields,
|
2020-12-18 11:24:52 +01:00
|
|
|
};
|
|
|
|
|
2020-12-18 16:28:54 +01:00
|
|
|
if (data.containsRelationalFields) {
|
2020-12-18 11:24:52 +01:00
|
|
|
Object.assign(data, {
|
|
|
|
displayedFields,
|
2020-12-18 16:28:54 +01:00
|
|
|
displayedRelationalFields,
|
2020-12-18 11:24:52 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-12-18 18:17:02 +01:00
|
|
|
try {
|
|
|
|
await strapi.telemetry.send('didConfigureListView', data);
|
|
|
|
} catch (e) {
|
|
|
|
// silence
|
|
|
|
}
|
2020-12-18 11:24:52 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
sendDidConfigureListView,
|
|
|
|
};
|