UNPKG

@microsoft/sp-webpart-base

Version:

SharePoint Framework support for building web parts

146 lines 6.78 kB
import { DisplayMode } from '@microsoft/sp-core-library'; import { _logFailuresForEditCustomerPromise } from '@msinternal/sp-edit-customer-promise'; import { _PerformanceLogger } from '@msinternal/sp-telemetry'; import { isAddMoreRenderErrorInfoKSActivated, updateMissingWebPartLifeCycleVetoesKSActivated } from '../../common/KillSwitches'; /** * BaseWebPartHost implements the IWebPartHost lifecycle methods as virtual no-op methods. * * @internal */ var BaseWebPartHost = /** @class */ (function () { function BaseWebPartHost(serviceScope) { this.serviceScope = serviceScope; } /** * @virtual */ BaseWebPartHost.prototype.onBeforeWebPartLoad = function (options) { _PerformanceLogger.devMark("ClientSideWebPartManager.load(".concat(options.webPartTag, ").start")); _PerformanceLogger.startMarkForComponent(options.webPartTag); return; }; /** * @virtual */ BaseWebPartHost.prototype.onAfterWebPartLoad = function (options) { _PerformanceLogger.devMark("ClientSideWebPartManager.load(".concat(options.webPartTag, ").end")); _PerformanceLogger.markComponentModuleLoaded(options.webPartTag); return; }; /** * @virtual */ BaseWebPartHost.prototype.onAfterWebPartLoadFailed = function (options, error) { _PerformanceLogger.endFailureForComponent(options.webPartTag, 'Load', error, undefined /* resultType */, 'ViewMode WebPart Failure'); if (options.displayMode === DisplayMode.Edit && !!options.manifest.isInternal && !!options.serviceScope) { this._logFailuresForEditCustomerPromise(options.manifest.alias, error, 'Load', options.serviceScope, !updateMissingWebPartLifeCycleVetoesKSActivated() ? undefined : 'WebPart Load Failure', !updateMissingWebPartLifeCycleVetoesKSActivated() ? 'WebPart Load Failure' : undefined); } return; }; /** * @virtual */ BaseWebPartHost.prototype.onBeforeWebPartInitializeOld = function (options) { _PerformanceLogger.devMark("ClientSideWebPartManager.initialize(".concat(options.webPartTag, ").start")); return; }; /** * @virtual */ BaseWebPartHost.prototype.onBeforeWebPartInitialize = function (options) { _PerformanceLogger.devMark("ClientSideWebPartManager.initialize(".concat(options.webPartTag, ").start")); return Promise.resolve(); }; /** * @virtual */ BaseWebPartHost.prototype.onAfterWebPartInitialize = function (options) { _PerformanceLogger.devMark("ClientSideWebPartManager.initialize(".concat(options.webPartTag, ").end")); return; }; BaseWebPartHost.prototype.onAfterWebPartInitializeFailed = function (options, error) { _PerformanceLogger.endFailureForComponent(options.webPartTag, 'Initialize', error); if (options.displayMode === DisplayMode.Edit && !!options.manifest.isInternal && !!options.serviceScope) { this._logFailuresForEditCustomerPromise(options.manifest.alias, error, 'Initialize', options.serviceScope, !updateMissingWebPartLifeCycleVetoesKSActivated() ? undefined : 'WebPart Init Failure', !updateMissingWebPartLifeCycleVetoesKSActivated() ? 'WebPart Init Failure' : undefined); } return; }; /** * @virtual */ BaseWebPartHost.prototype.onBeforeWebPartRender = function (options) { _PerformanceLogger.devMark("ClientSideWebPartManager.render(".concat(options.webPartTag, ").start")); return; }; /** * @virtual */ BaseWebPartHost.prototype.onAfterWebPartRender = function (options) { if (typeof options.renderCompleteTime === 'number') { _PerformanceLogger.endMarkForComponentWithTimestamp(options.webPartTag, options.renderCompleteTime); } else { _PerformanceLogger.endMarkForComponent(options.webPartTag); } return; }; BaseWebPartHost.prototype.onAfterWebPartRenderFailed = function (options, error) { _PerformanceLogger.endFailureForComponent(options.webPartTag, 'Render', error); if (options.displayMode === DisplayMode.Edit && !!options.manifest.isInternal && !!options.serviceScope) { if (!isAddMoreRenderErrorInfoKSActivated()) { var err = ''; if (error.name) { err += 'name:' + error.name + ';'; } if (error.message) { err += 'msg:' + error.message + ';'; } if (options.webPartTag) { err += 'webPT:' + options.webPartTag + ';'; } if (options.domElement && options.domElement.title) { err += 'domTitle:' + options.domElement.title + ';'; } if (options.manifest && options.manifest.imagePreviewUrl) { err += 'previewImageUrl:' + options.manifest.imagePreviewUrl + ';'; } this._logFailuresForEditCustomerPromise(options.manifest.alias, error, 'Render', options.serviceScope, err, 'WebPart Render Failure'); } else { this._logFailuresForEditCustomerPromise(options.manifest.alias, error, 'Render', options.serviceScope, undefined, !updateMissingWebPartLifeCycleVetoesKSActivated() ? 'WebPart Render Failure' : undefined); } } return; }; /** * @virtual */ BaseWebPartHost.prototype.onAudiencesChanged = function (instanceId, audiences) { // no-op }; BaseWebPartHost.prototype._logFailuresForEditCustomerPromise = function (alias, error, errorScenario, serviceScope, customErrorMessage, veto) { if (!isAddMoreRenderErrorInfoKSActivated() && customErrorMessage) { var errorDetails = { errorCode: "WebPartBase ".concat(alias, " Failure"), errorMessage: customErrorMessage, errorScenario: errorScenario, errorStack: error === null || error === void 0 ? void 0 : error.stack, veto: veto }; _logFailuresForEditCustomerPromise(errorDetails, serviceScope); } else { var errorDetails = { errorCode: "WebPartBase ".concat(alias, " Failure"), errorMessage: error.message, errorScenario: errorScenario, errorStack: error === null || error === void 0 ? void 0 : error.stack, veto: veto }; _logFailuresForEditCustomerPromise(errorDetails, serviceScope); } }; return BaseWebPartHost; }()); export { BaseWebPartHost }; //# sourceMappingURL=BaseWebPartHost.js.map