@dotcms/angular
Version:
Official Angular Components library to render a dotCMS page.
84 lines • 9.55 kB
JavaScript
//Changed the type, to avoid SQ issue.
//This should be put inside a lib
/**
* Represents a mapping of numbers to corresponding CSS class names for column end values.
* @typedef {Record<number, string | null>} EndClassMap
*/
const endClassMap = {
1: 'col-end-1',
2: 'col-end-2',
3: 'col-end-3',
4: 'col-end-4',
5: 'col-end-5',
6: 'col-end-6',
7: 'col-end-7',
8: 'col-end-8',
9: 'col-end-9',
10: 'col-end-10',
11: 'col-end-11',
12: 'col-end-12',
13: 'col-end-13'
};
//Changed the type, to avoid SQ issue.
//This should be put inside a lib
/**
* Represents a mapping of numbers to CSS class names for starting columns.
* @typedef {Record<number, string | null>} StartClassMap
*/
const startClassMap = {
1: 'col-start-1',
2: 'col-start-2',
3: 'col-start-3',
4: 'col-start-4',
5: 'col-start-5',
6: 'col-start-6',
7: 'col-start-7',
8: 'col-start-8',
9: 'col-start-9',
10: 'col-start-10',
11: 'col-start-11',
12: 'col-start-12'
};
/**
* Retrieves the data for a set of containers.
*
* @param containers - The DotCMSPageAssetContainer object containing the containers.
* @param containerRef - The DotCMSContainer object representing the container reference.
* @returns An object containing the container data, accept types, contentlets, and variant ID.
*/
export const getContainersData = (containers, containerRef) => {
const { identifier, uuid } = containerRef;
const { containerStructures, container } = containers[identifier];
const { variantId } = container?.parentPermissionable || {};
const acceptTypes = containerStructures
.map((structure) => structure.contentTypeVar)
.join(',');
// Get the contentlets for "this" container
const contentlets = containers[identifier].contentlets[`uuid-${uuid}`] ??
containers[identifier].contentlets[`uuid-dotParser_${uuid}`];
if (!contentlets) {
console.warn(`We couldn't find the contentlets for the container with the identifier ${identifier} and the uuid ${uuid} becareful by adding content to this container.\nWe recommend to change the container in the layout and add the content again.`);
}
return {
...containers[identifier].container,
acceptTypes,
contentlets: contentlets ?? [],
variantId
};
};
/**
* Returns the position style classes based on the start and end values.
* Used to set the grid column start and end values.
* @param start - The start value.
* @param end - The end value.
* @returns An object containing the startClass and endClass.
*/
export const getPositionStyleClasses = (start, end) => {
const startClass = startClassMap[start];
const endClass = endClassMap[end];
return {
startClass,
endClass
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsc0NBQXNDO0FBQ3RDLGlDQUFpQztBQUNqQzs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsR0FBa0M7SUFDL0MsQ0FBQyxFQUFFLFdBQVc7SUFDZCxDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLFdBQVc7SUFDZCxDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLFdBQVc7SUFDZCxDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxXQUFXO0lBQ2QsRUFBRSxFQUFFLFlBQVk7SUFDaEIsRUFBRSxFQUFFLFlBQVk7SUFDaEIsRUFBRSxFQUFFLFlBQVk7SUFDaEIsRUFBRSxFQUFFLFlBQVk7Q0FDbkIsQ0FBQztBQUVGLHNDQUFzQztBQUN0QyxpQ0FBaUM7QUFDakM7OztHQUdHO0FBQ0gsTUFBTSxhQUFhLEdBQWtDO0lBQ2pELENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLENBQUMsRUFBRSxhQUFhO0lBQ2hCLEVBQUUsRUFBRSxjQUFjO0lBQ2xCLEVBQUUsRUFBRSxjQUFjO0lBQ2xCLEVBQUUsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUM3QixVQUFvQyxFQUNwQyxZQUE2QixFQUMvQixFQUFFO0lBQ0EsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUM7SUFFMUMsTUFBTSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVsRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsQ0FBQztJQUU1RCxNQUFNLFdBQVcsR0FBVyxtQkFBbUI7U0FDMUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO1NBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVmLDJDQUEyQztJQUMzQyxNQUFNLFdBQVcsR0FDYixVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDbEQsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVqRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsSUFBSSxDQUNSLDBFQUEwRSxVQUFVLGlCQUFpQixJQUFJLGdJQUFnSSxDQUM1TyxDQUFDO0lBQ04sQ0FBQztJQUVELE9BQU87UUFDSCxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTO1FBQ25DLFdBQVc7UUFDWCxXQUFXLEVBQUUsV0FBVyxJQUFJLEVBQUU7UUFDOUIsU0FBUztLQUNaLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUNsRSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWxDLE9BQU87UUFDSCxVQUFVO1FBQ1YsUUFBUTtLQUNYLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb3RDTVNDb250YWluZXIsIERvdENNU1BhZ2VBc3NldENvbnRhaW5lciB9IGZyb20gJy4uL21vZGVscy9kb3RjbXMubW9kZWwnO1xuXG4vL0NoYW5nZWQgdGhlIHR5cGUsIHRvIGF2b2lkIFNRIGlzc3VlLlxuLy9UaGlzIHNob3VsZCBiZSBwdXQgaW5zaWRlIGEgbGliXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtYXBwaW5nIG9mIG51bWJlcnMgdG8gY29ycmVzcG9uZGluZyBDU1MgY2xhc3MgbmFtZXMgZm9yIGNvbHVtbiBlbmQgdmFsdWVzLlxuICogQHR5cGVkZWYge1JlY29yZDxudW1iZXIsIHN0cmluZyB8IG51bGw+fSBFbmRDbGFzc01hcFxuICovXG5jb25zdCBlbmRDbGFzc01hcDogUmVjb3JkPG51bWJlciwgc3RyaW5nIHwgbnVsbD4gPSB7XG4gICAgMTogJ2NvbC1lbmQtMScsXG4gICAgMjogJ2NvbC1lbmQtMicsXG4gICAgMzogJ2NvbC1lbmQtMycsXG4gICAgNDogJ2NvbC1lbmQtNCcsXG4gICAgNTogJ2NvbC1lbmQtNScsXG4gICAgNjogJ2NvbC1lbmQtNicsXG4gICAgNzogJ2NvbC1lbmQtNycsXG4gICAgODogJ2NvbC1lbmQtOCcsXG4gICAgOTogJ2NvbC1lbmQtOScsXG4gICAgMTA6ICdjb2wtZW5kLTEwJyxcbiAgICAxMTogJ2NvbC1lbmQtMTEnLFxuICAgIDEyOiAnY29sLWVuZC0xMicsXG4gICAgMTM6ICdjb2wtZW5kLTEzJ1xufTtcblxuLy9DaGFuZ2VkIHRoZSB0eXBlLCB0byBhdm9pZCBTUSBpc3N1ZS5cbi8vVGhpcyBzaG91bGQgYmUgcHV0IGluc2lkZSBhIGxpYlxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbWFwcGluZyBvZiBudW1iZXJzIHRvIENTUyBjbGFzcyBuYW1lcyBmb3Igc3RhcnRpbmcgY29sdW1ucy5cbiAqIEB0eXBlZGVmIHtSZWNvcmQ8bnVtYmVyLCBzdHJpbmcgfCBudWxsPn0gU3RhcnRDbGFzc01hcFxuICovXG5jb25zdCBzdGFydENsYXNzTWFwOiBSZWNvcmQ8bnVtYmVyLCBzdHJpbmcgfCBudWxsPiA9IHtcbiAgICAxOiAnY29sLXN0YXJ0LTEnLFxuICAgIDI6ICdjb2wtc3RhcnQtMicsXG4gICAgMzogJ2NvbC1zdGFydC0zJyxcbiAgICA0OiAnY29sLXN0YXJ0LTQnLFxuICAgIDU6ICdjb2wtc3RhcnQtNScsXG4gICAgNjogJ2NvbC1zdGFydC02JyxcbiAgICA3OiAnY29sLXN0YXJ0LTcnLFxuICAgIDg6ICdjb2wtc3RhcnQtOCcsXG4gICAgOTogJ2NvbC1zdGFydC05JyxcbiAgICAxMDogJ2NvbC1zdGFydC0xMCcsXG4gICAgMTE6ICdjb2wtc3RhcnQtMTEnLFxuICAgIDEyOiAnY29sLXN0YXJ0LTEyJ1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGRhdGEgZm9yIGEgc2V0IG9mIGNvbnRhaW5lcnMuXG4gKlxuICogQHBhcmFtIGNvbnRhaW5lcnMgLSBUaGUgRG90Q01TUGFnZUFzc2V0Q29udGFpbmVyIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250YWluZXJzLlxuICogQHBhcmFtIGNvbnRhaW5lclJlZiAtIFRoZSBEb3RDTVNDb250YWluZXIgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgY29udGFpbmVyIHJlZmVyZW5jZS5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250YWluZXIgZGF0YSwgYWNjZXB0IHR5cGVzLCBjb250ZW50bGV0cywgYW5kIHZhcmlhbnQgSUQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb250YWluZXJzRGF0YSA9IChcbiAgICBjb250YWluZXJzOiBEb3RDTVNQYWdlQXNzZXRDb250YWluZXIsXG4gICAgY29udGFpbmVyUmVmOiBEb3RDTVNDb250YWluZXJcbikgPT4ge1xuICAgIGNvbnN0IHsgaWRlbnRpZmllciwgdXVpZCB9ID0gY29udGFpbmVyUmVmO1xuXG4gICAgY29uc3QgeyBjb250YWluZXJTdHJ1Y3R1cmVzLCBjb250YWluZXIgfSA9IGNvbnRhaW5lcnNbaWRlbnRpZmllcl07XG5cbiAgICBjb25zdCB7IHZhcmlhbnRJZCB9ID0gY29udGFpbmVyPy5wYXJlbnRQZXJtaXNzaW9uYWJsZSB8fCB7fTtcblxuICAgIGNvbnN0IGFjY2VwdFR5cGVzOiBzdHJpbmcgPSBjb250YWluZXJTdHJ1Y3R1cmVzXG4gICAgICAgIC5tYXAoKHN0cnVjdHVyZSkgPT4gc3RydWN0dXJlLmNvbnRlbnRUeXBlVmFyKVxuICAgICAgICAuam9pbignLCcpO1xuXG4gICAgLy8gR2V0IHRoZSBjb250ZW50bGV0cyBmb3IgXCJ0aGlzXCIgY29udGFpbmVyXG4gICAgY29uc3QgY29udGVudGxldHMgPVxuICAgICAgICBjb250YWluZXJzW2lkZW50aWZpZXJdLmNvbnRlbnRsZXRzW2B1dWlkLSR7dXVpZH1gXSA/P1xuICAgICAgICBjb250YWluZXJzW2lkZW50aWZpZXJdLmNvbnRlbnRsZXRzW2B1dWlkLWRvdFBhcnNlcl8ke3V1aWR9YF07XG5cbiAgICBpZiAoIWNvbnRlbnRsZXRzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBXZSBjb3VsZG4ndCBmaW5kIHRoZSBjb250ZW50bGV0cyBmb3IgdGhlIGNvbnRhaW5lciB3aXRoIHRoZSBpZGVudGlmaWVyICR7aWRlbnRpZmllcn0gYW5kIHRoZSB1dWlkICR7dXVpZH0gYmVjYXJlZnVsIGJ5IGFkZGluZyBjb250ZW50IHRvIHRoaXMgY29udGFpbmVyLlxcbldlIHJlY29tbWVuZCB0byBjaGFuZ2UgdGhlIGNvbnRhaW5lciBpbiB0aGUgbGF5b3V0IGFuZCBhZGQgdGhlIGNvbnRlbnQgYWdhaW4uYFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNvbnRhaW5lcnNbaWRlbnRpZmllcl0uY29udGFpbmVyLFxuICAgICAgICBhY2NlcHRUeXBlcyxcbiAgICAgICAgY29udGVudGxldHM6IGNvbnRlbnRsZXRzID8/IFtdLFxuICAgICAgICB2YXJpYW50SWRcbiAgICB9O1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBzdHlsZSBjbGFzc2VzIGJhc2VkIG9uIHRoZSBzdGFydCBhbmQgZW5kIHZhbHVlcy5cbiAqIFVzZWQgdG8gc2V0IHRoZSBncmlkIGNvbHVtbiBzdGFydCBhbmQgZW5kIHZhbHVlcy5cbiAqIEBwYXJhbSBzdGFydCAtIFRoZSBzdGFydCB2YWx1ZS5cbiAqIEBwYXJhbSBlbmQgLSBUaGUgZW5kIHZhbHVlLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHN0YXJ0Q2xhc3MgYW5kIGVuZENsYXNzLlxuICovXG5leHBvcnQgY29uc3QgZ2V0UG9zaXRpb25TdHlsZUNsYXNzZXMgPSAoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBzdGFydENsYXNzID0gc3RhcnRDbGFzc01hcFtzdGFydF07XG4gICAgY29uc3QgZW5kQ2xhc3MgPSBlbmRDbGFzc01hcFtlbmRdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3RhcnRDbGFzcyxcbiAgICAgICAgZW5kQ2xhc3NcbiAgICB9O1xufTtcbiJdfQ==