devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
56 lines (55 loc) • 1.73 kB
JavaScript
/**
* DevExtreme (esm/__internal/grids/new/card_view/content_view/content/card/cover.js)
* Version: 25.2.3
* Build date: Fri Dec 12 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
createVNode,
createFragment,
createComponentVNode
} from "inferno";
import messageLocalization from "../../../../../../../localization/message";
import {
combineClasses
} from "../../../../../../core/utils/combine_classes";
import {
Icon
} from "../../../../../../grids/new/grid_core/icon";
import {
Component
} from "inferno";
export const CLASSES = {
cover: "dx-card-cover",
image: "dx-card-cover-image",
noImage: "dx-card-cover-noimage"
};
export class Cover extends Component {
render() {
const {
id: id,
imageSrc: imageSrc,
alt: alt,
template: Template,
card: card
} = this.props;
const src = imageSrc;
const containerClasses = combineClasses({
[CLASSES.cover]: true,
[CLASSES.noImage]: !src && !Template
});
return createVNode(1, "div", containerClasses, Template ? createComponentVNode(2, Template, {
card: card
}) : createFragment([src && createVNode(1, "img", CLASSES.image, null, 1, {
src: src,
alt: alt
}), !src && createComponentVNode(2, Icon, {
name: "imagethumbnail",
"aria-label": messageLocalization.format("dxCardView-cardNoImageAriaLabel")
})], 0), 0, {
id: id
})
}
}