payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
45 lines (44 loc) • 4.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _types = require("../../../../../fields/config/types");
const formatFields = (config)=>{
const hasID = config.fields.findIndex((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id') > -1;
const defaultIDField = {
name: 'id',
admin: {
disableBulkEdit: true
},
label: 'ID',
type: 'text'
};
const shouldSkipField = (field)=>!(0, _types.fieldIsPresentationalOnly)(field) && (field.hidden === true || field.admin?.disabled === true);
const fields = config.fields.reduce((formatted, field)=>{
if (shouldSkipField(field)) {
return formatted;
}
const formattedField = field.type === 'tabs' ? {
...field,
tabs: field.tabs.map((tab)=>({
...tab,
fields: tab.fields.filter((tabField)=>!shouldSkipField(tabField))
}))
} : field;
return [
...formatted,
formattedField
];
}, hasID ? [] : [
defaultIDField
]);
return fields;
};
const _default = formatFields;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvZm9ybWF0RmllbGRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbmNvbnN0IGZvcm1hdEZpZWxkcyA9IChjb25maWc6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcpOiBGaWVsZFtdID0+IHtcbiAgY29uc3QgaGFzSUQgPVxuICAgIGNvbmZpZy5maWVsZHMuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgPiAtMVxuXG4gIGNvbnN0IGRlZmF1bHRJREZpZWxkOiBGaWVsZCA9IHtcbiAgICBuYW1lOiAnaWQnLFxuICAgIGFkbWluOiB7XG4gICAgICBkaXNhYmxlQnVsa0VkaXQ6IHRydWUsXG4gICAgfSxcbiAgICBsYWJlbDogJ0lEJyxcbiAgICB0eXBlOiAndGV4dCcsXG4gIH1cblxuICBjb25zdCBzaG91bGRTa2lwRmllbGQgPSAoZmllbGQ6IEZpZWxkKTogYm9vbGVhbiA9PlxuICAgICFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKSAmJiAoZmllbGQuaGlkZGVuID09PSB0cnVlIHx8IGZpZWxkLmFkbWluPy5kaXNhYmxlZCA9PT0gdHJ1ZSlcblxuICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBjb25maWcuZmllbGRzLnJlZHVjZShcbiAgICAoZm9ybWF0dGVkLCBmaWVsZCkgPT4ge1xuICAgICAgaWYgKHNob3VsZFNraXBGaWVsZChmaWVsZCkpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFxuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtYXR0ZWRGaWVsZCA9XG4gICAgICAgIGZpZWxkLnR5cGUgPT09ICd0YWJzJ1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgICAgdGFiczogZmllbGQudGFicy5tYXAoKHRhYikgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICAgICAgZmllbGRzOiB0YWIuZmllbGRzLmZpbHRlcigodGFiRmllbGQpID0+ICFzaG91bGRTa2lwRmllbGQodGFiRmllbGQpKSxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogZmllbGRcblxuICAgICAgcmV0dXJuIFsuLi5mb3JtYXR0ZWQsIGZvcm1hdHRlZEZpZWxkXVxuICAgIH0sXG4gICAgaGFzSUQgPyBbXSA6IFtkZWZhdWx0SURGaWVsZF0sXG4gIClcblxuICByZXR1cm4gZmllbGRzXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZvcm1hdEZpZWxkc1xuIl0sIm5hbWVzIjpbImZvcm1hdEZpZWxkcyIsImNvbmZpZyIsImhhc0lEIiwiZmllbGRzIiwiZmluZEluZGV4IiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsImRlZmF1bHRJREZpZWxkIiwiYWRtaW4iLCJkaXNhYmxlQnVsa0VkaXQiLCJsYWJlbCIsInR5cGUiLCJzaG91bGRTa2lwRmllbGQiLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiaGlkZGVuIiwiZGlzYWJsZWQiLCJyZWR1Y2UiLCJmb3JtYXR0ZWQiLCJmb3JtYXR0ZWRGaWVsZCIsInRhYnMiLCJtYXAiLCJ0YWIiLCJmaWx0ZXIiLCJ0YWJGaWVsZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE4Q0E7OztlQUFBOzs7dUJBM0M0RDtBQUU1RCxNQUFNQSxlQUFlLENBQUNDO0lBQ3BCLE1BQU1DLFFBQ0pELE9BQU9FLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDLENBQUNDLFFBQVVDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVQSxNQUFNRSxJQUFJLEtBQUssUUFBUSxDQUFDO0lBRXhGLE1BQU1DLGlCQUF3QjtRQUM1QkQsTUFBTTtRQUNORSxPQUFPO1lBQ0xDLGlCQUFpQjtRQUNuQjtRQUNBQyxPQUFPO1FBQ1BDLE1BQU07SUFDUjtJQUVBLE1BQU1DLGtCQUFrQixDQUFDUixRQUN2QixDQUFDUyxJQUFBQSxnQ0FBeUIsRUFBQ1QsVUFBV0EsQ0FBQUEsTUFBTVUsTUFBTSxLQUFLLFFBQVFWLE1BQU1JLEtBQUssRUFBRU8sYUFBYSxJQUFHO0lBRTlGLE1BQU1iLFNBQWtCRixPQUFPRSxNQUFNLENBQUNjLE1BQU0sQ0FDMUMsQ0FBQ0MsV0FBV2I7UUFDVixJQUFJUSxnQkFBZ0JSLFFBQVE7WUFDMUIsT0FBT2E7UUFDVDtRQUVBLE1BQU1DLGlCQUNKZCxNQUFNTyxJQUFJLEtBQUssU0FDWDtZQUNFLEdBQUdQLEtBQUs7WUFDUmUsTUFBTWYsTUFBTWUsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQ0MsTUFBUyxDQUFBO29CQUM3QixHQUFHQSxHQUFHO29CQUNObkIsUUFBUW1CLElBQUluQixNQUFNLENBQUNvQixNQUFNLENBQUMsQ0FBQ0MsV0FBYSxDQUFDWCxnQkFBZ0JXO2dCQUMzRCxDQUFBO1FBQ0YsSUFDQW5CO1FBRU4sT0FBTztlQUFJYTtZQUFXQztTQUFlO0lBQ3ZDLEdBQ0FqQixRQUFRLEVBQUUsR0FBRztRQUFDTTtLQUFlO0lBRy9CLE9BQU9MO0FBQ1Q7TUFFQSxXQUFlSCJ9