UNPKG

@dotcms/angular

Version:

Official Angular Components library to render a dotCMS page.

84 lines 9.55 kB
//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==