All Downloads are FREE. Search and download functionalities are using the official Maven repository.

components.widgets.Cards.Cards.jsx Maven / Gradle / Ivy

The newest version!
import React from 'react'
import PropTypes from 'prop-types'
import classNames from 'classnames'

import { Card } from './Card'

/**
 * Cards
 * @reactProps {string} className - имя css класса карточки
 * @reactProps {array} cards - массив объектов cell из которых состоит виджет
 * @reactProps {array} data - данные объектов cell
 * @reactProps {number} id - id виджета
 * @reactProps {string} align - позиция элементов по горизонтали
 * @reactProps {string} datasource - datasource key
 */
export function Cards({
    cards,
    className,
    data,
    id,
    onResolve,
    dispatch,
    align,
    height,
    datasource,
}) {
    if (!data?.length || !cards?.length) {
        return null
    }

    const getJustifyContent = (align) => {
        switch (align) {
            case 'top':
                return 'flex-start'
            case 'bottom':
                return 'flex-end'
            default:
                return 'center'
        }
    }

    return (
        
{data.map((model, index) => (
{cards.map(card => ( ))}
))}
) } Cards.defaultProps = { height: '450px', } Cards.propTypes = { /** * имя css класса карточки */ className: PropTypes.string, /** * массив объектов cell из которых состоит виджет */ cards: PropTypes.array, /** * данные объектов cell */ data: PropTypes.array, /** * id виджета */ id: PropTypes.number, /** * позиция элементов по горизонтали */ align: PropTypes.string, /** * высота компонента */ height: PropTypes.string, onResolve: PropTypes.func, dispatch: PropTypes.func, datasource: PropTypes.string, } export default Cards




© 2015 - 2024 Weber Informatics LLC | Privacy Policy