@raona/components
Version:
React components used at Raona to work with SPFx
72 lines (71 loc) • 4.96 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var RelatedPeople_1 = require("../OtherComponents/RelatedPeople");
var stylesConstants_1 = require("../stylesConstants");
var NewsBanner = /** @class */ (function (_super) {
__extends(NewsBanner, _super);
function NewsBanner() {
return _super !== null && _super.apply(this, arguments) || this;
}
NewsBanner.prototype.render = function () {
var _a = this.props, item = _a.item, handleFavClick = _a.handleFavClick, handleLikeClick = _a.handleLikeClick, toggleShowVideo = _a.toggleShowVideo, openUserProfile = _a.openUserProfile, newsBannerStyles = _a.newsBannerStyles, showRelated = _a.showRelated;
var styles = newsBannerStyles ? __assign({}, newsBannerStyles) : __assign({}, stylesConstants_1.newsConstantBannerStyle); // Default Style for this component
return (React.createElement("div", { className: styles.header },
React.createElement("div", { className: styles.wrapper },
React.createElement("div", { className: styles.left },
React.createElement("p", { className: styles.category },
item.category,
React.createElement("span", { className: styles.date }, new Date(item.date).toDateString())),
React.createElement("p", { className: styles.title }, item.title),
React.createElement("p", { className: styles.info.info },
React.createElement("span", { className: item.isFav ? styles.info.savedFill : styles.info.saved, onClick: function () { return handleFavClick && handleFavClick(item); } }),
React.createElement("span", { className: item.likedByCurrentUser ? styles.info.likeFill : styles.info.like, onClick: function () { return handleLikeClick && handleLikeClick(item); } },
React.createElement("span", { className: styles.info.textIcon }, item.Nlikes)),
item.showComments && React.createElement("span", { className: styles.info.separator }),
item.showComments && React.createElement("span", { className: styles.info.comments },
React.createElement("span", { className: styles.info.textIcon }, item.Ncomments))),
React.createElement("div", { className: styles.meta },
React.createElement("div", { className: styles.sub_col }, showRelated && item.relatedPeople && item.relatedPeople.length > 0 &&
React.createElement(RelatedPeople_1.default, { relatedPeople: item.relatedPeople, absoluteUrl: item.absoluteUrl, openUserProfile: openUserProfile })))),
React.createElement("div", { className: styles.right }, item && item.imageUrl ?
item.urlVideo ?
!item.showVideo ?
React.createElement("img", { src: item.imageUrl, className: styles.img_video, onClick: function () { return toggleShowVideo && toggleShowVideo(item); } })
:
React.createElement("video", { className: styles.img, controls: true, autoPlay: true },
React.createElement("source", { src: item.urlVideo, type: "video/mp4" }))
:
React.createElement(React.Fragment, null,
React.createElement("img", { className: styles.img, src: item.imageUrl }),
React.createElement("span", { className: styles.img, style: { backgroundImage: "url(\"" + item.imageUrl + "\")" } }))
:
React.createElement(React.Fragment, null)))));
};
return NewsBanner;
}(React.Component));
exports.default = NewsBanner;
;