@microsoft/sp-webpart-base
Version:
SharePoint Framework support for building web parts
55 lines • 2.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var Strings_resx_1 = tslib_1.__importDefault(require("./loc/Strings.resx"));
var cswp_base_module_scss_1 = tslib_1.__importDefault(require("./styles/cswp-base.module.scss"));
var ErrorMessage_1 = tslib_1.__importDefault(require("./ErrorMessage"));
/**
* The error friendly component used for rendering webpart errors.
*/
var FriendlyErrorMessage = /** @class */ (function () {
function FriendlyErrorMessage(props) {
this._toggleExpandedDetails = this._toggleExpandedDetails.bind(this);
this._errorMessage = new ErrorMessage_1.default(props).render();
this._errorMessage.style.display = 'none';
}
FriendlyErrorMessage.prototype.render = function () {
// Create container element and append children components
var container = document.createElement('div');
container.className = cswp_base_module_scss_1.default.errorBox;
// Header text
var headerContainer = document.createElement('div');
var header = document.createElement('h2');
header.className = cswp_base_module_scss_1.default.somethingWentWrongText;
header.innerText = Strings_resx_1.default.WebpartErrorSomethingWentWrong;
headerContainer.appendChild(header);
container.appendChild(header);
// Supporting text
var siteAdminText = document.createElement('span');
siteAdminText.className = cswp_base_module_scss_1.default.siteAdminText;
siteAdminText.innerText = Strings_resx_1.default.WebpartErrorSiteAdminAdvice;
container.appendChild(siteAdminText);
// Button to reveal more details
var buttonContainer = document.createElement('div');
var techDetailsButton = document.createElement('button');
techDetailsButton.className = cswp_base_module_scss_1.default.detailsButton;
techDetailsButton.innerText = Strings_resx_1.default.WebpartErrorTechnicalDetails;
techDetailsButton.onclick = this._toggleExpandedDetails;
buttonContainer.appendChild(techDetailsButton);
container.appendChild(buttonContainer);
// Detailed information that is initially hiddren. Display is toggled with button above.
container.appendChild(this._errorMessage);
return container;
};
FriendlyErrorMessage.prototype._toggleExpandedDetails = function () {
if (this._errorMessage.style.display === 'none') {
this._errorMessage.style.display = '';
}
else {
this._errorMessage.style.display = 'none';
}
};
return FriendlyErrorMessage;
}());
exports.default = FriendlyErrorMessage;
//# sourceMappingURL=FriendlyErrorMessage.js.map