UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

77 lines 4.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StockImages = void 0; var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var StockImages_module_scss_1 = tslib_1.__importDefault(require("./StockImages.module.scss")); var Utilities_1 = require("../../../Utilities"); var StockImages = /** @class */ (function (_super) { tslib_1.__extends(StockImages, _super); function StockImages() { var _this = _super !== null && _super.apply(this, arguments) || this; _this._handleImageIframeEvent = function (event) { if (!event || !event.origin || event.origin.indexOf("https://hubblecontent.osi.office.net") !== 0) { return; } var eventData = JSON.parse(event.data); if (eventData.MessageId === "AddItem") { _this._handleSave(eventData); } else if (eventData.MessageId === "CancelDialog") { _this._handleClose(); } }; /** * Called when user saves */ _this._handleSave = function (event) { var filePickerResult = null; var cdnFileInfo = event.Values && event.Values.length > 0 ? event.Values[0] : null; if (cdnFileInfo) { filePickerResult = { downloadFileContent: function () { return _this.props.fileSearchService.downloadBingContent(cdnFileInfo.sourceUrl, Utilities_1.GeneralHelper.getFileNameFromUrl(Utilities_1.GeneralHelper.getFileNameFromUrl(cdnFileInfo.sourceUrl))); }, fileAbsoluteUrl: cdnFileInfo.sourceUrl, fileName: Utilities_1.GeneralHelper.getFileNameFromUrl(cdnFileInfo.sourceUrl), fileNameWithoutExtension: Utilities_1.GeneralHelper.getFileNameWithoutExtension(cdnFileInfo.sourceUrl) }; } _this.props.onSave([filePickerResult]); }; /** * Called when user closes tab */ _this._handleClose = function () { _this.props.onClose(); }; return _this; } StockImages.prototype.componentDidMount = function () { window.addEventListener("message", this._handleImageIframeEvent); }; StockImages.prototype.componentWillUnmount = function () { window.removeEventListener("message", this._handleImageIframeEvent); }; StockImages.prototype.render = function () { var language = this.props.language; var themesColor = "&themecolors=".concat(encodeURIComponent(this.getCurrentThemeConfiguration())); var contentPickerUrl = "https://hubblecontent.osi.office.net/contentsvc/m365contentpicker/index.html?p=3&app=1001&aud=prod&channel=devmain&setlang=".concat(language, "&msel=0&env=prod&premium=1").concat(themesColor); return (React.createElement("div", { className: StockImages_module_scss_1.default.tabContainer }, React.createElement("div", { className: StockImages_module_scss_1.default.tab }, React.createElement("div", { className: StockImages_module_scss_1.default.stockImagesPickerContainer }, React.createElement("iframe", { className: StockImages_module_scss_1.default.stockImagesPicker, role: "application", id: "stockImagesIFrame", src: contentPickerUrl }))))); }; StockImages.prototype.getCurrentThemeConfiguration = function () { if (!window["__themeState__"] || !window["__themeState__"].theme) { return ""; } var primaryColor = window["__themeState__"].theme.themePrimary; var textColor = window["__themeState__"].theme.primaryText; var primaryBackground = window["__themeState__"].theme.bodyBackground; var neutralLighter = window["__themeState__"].theme.neutralLighter; var theme = "{\"primaryColor\":\"".concat(primaryColor, "\",\"textColor\":\"").concat(textColor, "\",\"backgroundColor\":\"").concat(primaryBackground, "\",\"neutralLighterColor\":\"").concat(neutralLighter, "\"}"); return theme; }; return StockImages; }(React.Component)); exports.StockImages = StockImages; //# sourceMappingURL=StockImages.js.map