@raona/components
Version:
React components used at Raona to work with SPFx
284 lines (283 loc) • 22.7 kB
JavaScript
"use strict";
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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var react_1 = require("react");
var stylesConstants_1 = require("./stylesConstants");
// import { DocsCard, ProductCard, AlternateNewsCard, VacancyCard, EventDetailedCard } from './index';
var UserCard_1 = require("./UserCard");
var sp_1 = require("@raona/sp");
var NewsCard_1 = require("./NewsCard");
var EntityCard_1 = require("./EntityCard");
var LibraryCard_1 = require("./LibraryCard");
var RelatedNews_1 = require("./RelatedNews");
var WhatsNewCard_1 = require("./WhatsNewCard");
var VideosCard_1 = require("./VideosCard");
var EventCard_1 = require("./EventCard");
var TwitterCard_1 = require("./TwitterCard");
var DocsCard_1 = require("./DocsCard");
var AlternateNewsCard_1 = require("./AlternateNewsCard");
var ProductCard_1 = require("./ProductCard");
var VacancyCard_1 = require("./VacancyCard");
var EventDetailedCard_1 = require("./EventDetailedCard");
var BlogCard_1 = require("./BlogCard");
var DiscoveryCard_1 = require("./DiscoveryCard");
var CategoryCard_1 = require("./CategoryCard");
var HomeDiscoveryCard_1 = require("./HomeDiscoveryCard");
var AlternateBlogCard_1 = require("./AlternateBlogCard");
var AlternateEventCard_1 = require("./AlternateEventCard");
var AlternateVideosCard_1 = require("./AlternateVideosCard");
var NoticeCard_1 = require("./NoticeCard");
var PressCard_1 = require("./PressCard");
var RSSCard_1 = require("./RSSCard");
var AlternateVacancyCard_1 = require("./AlternateVacancyCard");
var RequestCard_1 = require("./RequestCard");
var AlternateDocCard_1 = require("./AlternateDocCard");
var AlternateRequestCard_1 = require("./AlternateRequestCard");
var PeopleCard_1 = require("./PeopleCard");
var SPNewsCard_1 = require("./SPNewsCard");
var Card = /** @class */ (function (_super) {
__extends(Card, _super);
function Card() {
return _super !== null && _super.apply(this, arguments) || this;
}
Card.prototype.handleCheckBoxClick = function (e) {
return __awaiter(this, void 0, void 0, function () {
var _a, item, itemIndex, handleCheckBoxClick;
return __generator(this, function (_b) {
e.stopPropagation();
_a = this.props, item = _a.item, itemIndex = _a.itemIndex, handleCheckBoxClick = _a.handleCheckBoxClick;
if (handleCheckBoxClick)
handleCheckBoxClick(item, itemIndex);
return [2 /*return*/];
});
});
};
Card.prototype.handleDeleteClick = function (e) {
return __awaiter(this, void 0, void 0, function () {
var _a, item, itemIndex, handleDeleteClick;
return __generator(this, function (_b) {
e.stopPropagation();
_a = this.props, item = _a.item, itemIndex = _a.itemIndex, handleDeleteClick = _a.handleDeleteClick;
if (handleDeleteClick)
handleDeleteClick(item, itemIndex);
return [2 /*return*/];
});
});
};
Card.prototype.handleShareClick = function (e) {
return __awaiter(this, void 0, void 0, function () {
var _a, item, itemIndex, handleShareClick;
return __generator(this, function (_b) {
e.stopPropagation();
_a = this.props, item = _a.item, itemIndex = _a.itemIndex, handleShareClick = _a.handleShareClick;
if (handleShareClick)
handleShareClick(item, itemIndex);
return [2 /*return*/];
});
});
};
Card.prototype.handleAddToCatalog = function (e) {
return __awaiter(this, void 0, void 0, function () {
var _a, item, itemIndex, handleAddToCatalog;
return __generator(this, function (_b) {
e.stopPropagation();
_a = this.props, item = _a.item, itemIndex = _a.itemIndex, handleAddToCatalog = _a.handleAddToCatalog;
if (handleAddToCatalog)
handleAddToCatalog(item, itemIndex);
return [2 /*return*/];
});
});
};
Card.prototype.handleSaveAsFavorite = function (e) {
return __awaiter(this, void 0, void 0, function () {
var _a, item, handleSaveAsFavorite;
return __generator(this, function (_b) {
e.stopPropagation();
_a = this.props, item = _a.item, handleSaveAsFavorite = _a.handleSaveAsFavorite;
if (handleSaveAsFavorite)
handleSaveAsFavorite(item);
return [2 /*return*/];
});
});
};
Card.prototype.handleLike = function (e) {
return __awaiter(this, void 0, void 0, function () {
var _a, item, handleLike;
return __generator(this, function (_b) {
e.stopPropagation();
_a = this.props, item = _a.item, handleLike = _a.handleLike;
if (handleLike)
handleLike(item);
return [2 /*return*/];
});
});
};
Card.prototype.handleLockClick = function (e) {
return __awaiter(this, void 0, void 0, function () {
var _a, item, handleLockClick;
return __generator(this, function (_b) {
e.stopPropagation();
_a = this.props, item = _a.item, handleLockClick = _a.handleLockClick;
if (handleLockClick)
handleLockClick(item);
return [2 /*return*/];
});
});
};
Card.prototype.render = function () {
var _a = this.props, cardStyle = _a.cardStyle, newsBodyStyle = _a.newsBodyStyle, alternateNewsBodyStyle = _a.alternateNewsBodyStyle, categoryBodyStyle = _a.categoryBodyStyle, item = _a.item, itemIndex = _a.itemIndex, defaultImageUrl = _a.defaultImageUrl, openItemsOnNewPage = _a.openItemsOnNewPage, handleAddToCatalog = _a.handleAddToCatalog, handleCheckBoxClick = _a.handleCheckBoxClick, handleDeleteClick = _a.handleDeleteClick, handleSaveAsFavorite = _a.handleSaveAsFavorite, handleLike = _a.handleLike, handleShareClick = _a.handleShareClick, isNewsCard = _a.isNewsCard, newsMetaStyle = _a.newsMetaStyle, showImage = _a.showImage, showComments = _a.showComments, showCategory = _a.showCategory, handleCardHover = _a.handleCardHover, handleCardClick = _a.handleCardClick, handleCategoryClick = _a.handleCategoryClick, handleLockClick = _a.handleLockClick, lockToolTipText = _a.lockToolTipText, deleteToolTipText = _a.deleteToolTipText, useLazyload = _a.useLazyload, eventBodyStyles = _a.eventBodyStyles, eventDetailedBodyStyles = _a.eventDetailedBodyStyles, vacancyBodyStyles = _a.vacancyBodyStyles, videoBodyStyles = _a.videoBodyStyles, blogBodyStyles = _a.blogBodyStyles, textLink = _a.textLink, pressStyles = _a.pressStyles, noticeStyles = _a.noticeStyles, blogAlternateBodyStyle = _a.blogAlternateBodyStyle, eventAlternateBodyStyles = _a.eventAlternateBodyStyles, videoAlternateBodyStyles = _a.videoAlternateBodyStyles, rssStyles = _a.rssStyles, requestStyles = _a.requestStyles, alternateRequestStyles = _a.alternateRequestStyles, peopleStyles = _a.peopleStyles, alternateVacancyStyles = _a.alternateVacancyStyles, saveFavoriteToolTipText = _a.saveFavoriteToolTipText, spNewsStyles = _a.spNewsStyles;
switch (item.type) {
case "Product":
case "Application":
return (React.createElement(ProductCard_1.ProductCard, { item: item, itemIndex: itemIndex, handleAddToCatalog: handleAddToCatalog && this.handleAddToCatalog, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleSaveAsFavorite: handleSaveAsFavorite && this.handleSaveAsFavorite, handleShareClick: handleShareClick && this.handleShareClick, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, addToCatalogToolTipText: "Add to catalog", saveFavoriteToolTipText: "Add to favorites", deleteToolTipText: deleteToolTipText || "Delete product", lockToolTipText: lockToolTipText, isNewsCard: isNewsCard, handleLockClick: handleLockClick && this.handleLockClick })); //TODO: HardCodedText change asap
case "User":
return (React.createElement(UserCard_1.UserCard, { item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleShareClick: handleShareClick && this.handleShareClick }));
case "Docs":
return (React.createElement(DocsCard_1.DocsCard, { item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, handleCheckBoxClick: handleCheckBoxClick && this.handleCheckBoxClick, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleShareClick: handleShareClick && this.handleShareClick }));
case "AlternateDocs":
return (React.createElement(AlternateDocCard_1.AlternateDocCard, { item: item, handleCardClick: handleCardClick }));
case "News":
return (React.createElement(NewsCard_1.NewsCard, { cardStyle: cardStyle, newsBodyStyle: newsBodyStyle, item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, handleAddToCatalog: handleAddToCatalog && this.handleAddToCatalog, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleSaveAsFavorite: handleSaveAsFavorite && this.handleSaveAsFavorite, saveFavoriteToolTipText: "Add to favorites", handleShareClick: handleShareClick && this.handleShareClick, shareToolTipText: "Share", newsMetaStyle: newsMetaStyle }));
case "AlternateNews":
return (React.createElement(AlternateNewsCard_1.AlternateNewsCard, { alternateNewsBodyStyle: alternateNewsBodyStyle, item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, handleAddToCatalog: handleAddToCatalog && this.handleAddToCatalog, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleSaveAsFavorite: handleSaveAsFavorite && this.handleSaveAsFavorite, handleLike: handleLike && this.handleLike, saveFavoriteToolTipText: "Add to favorites", handleShareClick: handleShareClick && this.handleShareClick, shareToolTipText: "Share", showComments: showComments != null ? showComments : true, useLazyload: useLazyload ? useLazyload : false, handleCardHover: handleCardHover, handleCardClick: handleCardClick }));
case "Category":
return (React.createElement(CategoryCard_1.CategoryCard, { categoryBodyStyle: categoryBodyStyle, item: item, defaultImageUrl: defaultImageUrl, useLazyload: useLazyload ? useLazyload : false, handleCardClick: handleCardClick }));
case "Static content":
return (React.createElement(AlternateNewsCard_1.AlternateNewsCard, { alternateNewsBodyStyle: alternateNewsBodyStyle, item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, handleAddToCatalog: handleAddToCatalog && this.handleAddToCatalog, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleSaveAsFavorite: handleSaveAsFavorite && this.handleSaveAsFavorite, handleLike: handleLike && this.handleLike, saveFavoriteToolTipText: "Add to favorites", handleShareClick: handleShareClick && this.handleShareClick, shareToolTipText: "Share", showComments: showComments != null ? showComments : true, useLazyload: useLazyload ? useLazyload : false, handleCardHover: handleCardHover, handleCardClick: handleCardClick }));
case "RelatedNews":
return (React.createElement(RelatedNews_1.RelatedNewsCard, { item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, handleAddToCatalog: handleAddToCatalog && this.handleAddToCatalog, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleSaveAsFavorite: handleSaveAsFavorite && this.handleSaveAsFavorite, saveFavoriteToolTipText: "Add to favorites", handleShareClick: handleShareClick && this.handleShareClick, shareToolTipText: "Share", showComments: showComments != null ? showComments : true, handleCardHover: handleCardHover, handleCardClick: handleCardClick }));
case "Vacancies":
return (React.createElement(VacancyCard_1.VacancyCard, { item: item, vacancyBodyStyle: vacancyBodyStyles, handleCardClick: handleCardClick }));
case "AlternateVacancies":
return (React.createElement(AlternateVacancyCard_1.AlternateVacancyCard, { item: item, alternateVacancyStyles: alternateVacancyStyles, handleCardClick: handleCardClick }));
case "Demo":
case "Software":
case "Success":
case "Tech. Notes":
case "Training":
case "Tech. Solution":
case "Customer":
return (React.createElement(EntityCard_1.EntityCard, { item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, handleAddToCatalog: handleAddToCatalog && this.handleAddToCatalog, handleDeleteClick: handleDeleteClick && this.handleDeleteClick, handleSaveAsFavorite: handleSaveAsFavorite && this.handleSaveAsFavorite, handleShareClick: handleShareClick && this.handleShareClick, shareToolTipText: "Share", showCategory: isNewsCard || false }));
case "Library":
return (React.createElement("div", { className: stylesConstants_1.productCardStyle.card },
React.createElement("div", { className: stylesConstants_1.productCardStyle.wrapper },
React.createElement(LibraryCard_1.LibraryCard, { item: item }))));
case "WhatsNew":
return (React.createElement(WhatsNewCard_1.WhatsNewCard, { item: item, defaultImageUrl: defaultImageUrl, itemIndex: itemIndex, openItemsOnNewPage: openItemsOnNewPage }));
case "Videos":
return (React.createElement(VideosCard_1.VideosCard, { item: item, bodyStyle: videoBodyStyles, handleCardClick: handleCardClick }));
case "Events":
return (React.createElement(EventCard_1.EventCard, { item: item, eventBodyStyle: eventBodyStyles, handleCardClick: handleCardClick }));
case "EventDetailed":
return (React.createElement(EventDetailedCard_1.EventDetailedCard, { item: item, defaultImageUrl: defaultImageUrl, eventDetailedBodyStyle: eventDetailedBodyStyles, showImage: showImage, handleCardClick: handleCardClick }));
case "Twitter":
return (React.createElement(TwitterCard_1.TwitterCard, { item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl }));
case "Blogs":
return (React.createElement(BlogCard_1.BlogCard, { item: item, blogBodyStyle: blogBodyStyles, handleCardClick: handleCardClick, defaultImageUrl: defaultImageUrl }));
case "Discovery":
return (React.createElement(DiscoveryCard_1.DiscoveryCard, { item: item, itemIndex: itemIndex, textLink: textLink, openItemsOnNewPage: openItemsOnNewPage, handleCardClick: handleCardClick, handleSaveAsFavorite: handleSaveAsFavorite && this.handleSaveAsFavorite }));
case "Home Discovery":
return (React.createElement(HomeDiscoveryCard_1.HomeDiscoveryCard, { item: item, itemIndex: itemIndex, defaultImageUrl: defaultImageUrl, openItemsOnNewPage: openItemsOnNewPage, showComments: showComments != null ? showComments : true, useLazyload: useLazyload ? useLazyload : false, handleCardHover: handleCardHover, handleCardClick: handleCardClick }));
case 'AlternateBlogs':
return (React.createElement(AlternateBlogCard_1.AlternateBlogCard, { item: item, defaultImageUrl: defaultImageUrl, blogBodyStyle: blogAlternateBodyStyle, handleCardClick: handleCardClick }));
case 'AlternateEvents':
return (React.createElement(AlternateEventCard_1.AlternateEventCard, { item: item, eventAlternateBodyStyle: eventAlternateBodyStyles, handleCardClick: handleCardClick }));
case 'AlternateVideos':
return (React.createElement(AlternateVideosCard_1.AlternateVideosCard, { item: item, bodyStyle: videoAlternateBodyStyles, handleCardClick: handleCardClick, handleCategoryClick: handleCategoryClick }));
case 'Notice':
return (React.createElement(NoticeCard_1.NoticeCard, { item: item, bodyStyle: noticeStyles, handleCardClick: handleCardClick, handleCategoryClick: handleCategoryClick }));
case 'Press':
return (React.createElement(PressCard_1.PressCard, { item: item, pressStyles: pressStyles, handleCardClick: handleCardClick }));
case 'RSS':
return (React.createElement(RSSCard_1.RSSCard, { item: item, rssStyles: rssStyles, handleCardClick: handleCardClick }));
case 'Request':
return (React.createElement(RequestCard_1.RequestCard, { item: item, requestBodyStyle: requestStyles, handleCardClick: handleCardClick, showCategory: showCategory != null ? showCategory : false, saveFavoriteToolTipText: saveFavoriteToolTipText }));
case 'AlternateRequest':
return (React.createElement(AlternateRequestCard_1.AlternateRequestCard, { item: item, alternateRequestStyles: alternateRequestStyles, handleCardClick: handleCardClick }));
case 'People':
return (React.createElement(PeopleCard_1.PeopleCard, { item: item, itemIndex: itemIndex, peopleStyles: peopleStyles, handleDeleteClick: handleDeleteClick }));
case 'SPNews':
return (React.createElement(SPNewsCard_1.SPNews, { item: item, handleCardClick: handleCardClick, defaultImageUrl: defaultImageUrl, spNewsStyles: spNewsStyles }));
default:
return (React.createElement("div", { className: stylesConstants_1.productCardStyle.card },
React.createElement("div", { className: stylesConstants_1.productCardStyle.wrapper })));
}
};
__decorate([
sp_1.Bind()
], Card.prototype, "handleCheckBoxClick", null);
__decorate([
sp_1.Bind()
], Card.prototype, "handleDeleteClick", null);
__decorate([
sp_1.Bind()
], Card.prototype, "handleShareClick", null);
__decorate([
sp_1.Bind()
], Card.prototype, "handleAddToCatalog", null);
__decorate([
sp_1.Bind()
], Card.prototype, "handleSaveAsFavorite", null);
__decorate([
sp_1.Bind()
], Card.prototype, "handleLike", null);
__decorate([
sp_1.Bind()
], Card.prototype, "handleLockClick", null);
return Card;
}(react_1.Component));
exports.Card = Card;