UNPKG

@microsoft/sp-webpart-base

Version:

SharePoint Framework support for building web parts

67 lines 3.04 kB
"use strict"; // Copyright (c) Microsoft. All rights reserved. Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); // This file contains code for the ClientSideWebPartMaintenanceModeManager. var sp_core_library_1 = require("@microsoft/sp-core-library"); var sp_loader_1 = require("@microsoft/sp-loader"); var ClassicPageUtils_1 = tslib_1.__importDefault(require("./classicPages/ClassicPageUtils")); var ClientSideWebPartManager_1 = tslib_1.__importDefault(require("./ClientSideWebPartManager")); var SP_MAINTENANCE_MODE_MANIFEST_ID = '88019639-8c06-4ba6-8545-03a1f38f8393'; /** * The ClientSideWebPartMaintenanceModeManager is the web part manager instance used * when the web parts are rendered in maintenance mode. * * @internal */ var ClientSideWebPartMaintenanceModeManager = /** @class */ (function (_super) { tslib_1.__extends(ClientSideWebPartMaintenanceModeManager, _super); /** * See ClientSideWebPartManager */ function ClientSideWebPartMaintenanceModeManager(host) { var _this = _super.call(this, host) || this; _this._wpMaintenanceModeData = new Map(); return _this; } /** * See ClientSideWebPartManager */ ClientSideWebPartMaintenanceModeManager.prototype.loadWebPart = function (context) { this._loadWebPartInMaintenanceMode(context); this._wpMaintenanceModeData.set(context.instanceId, context.webPartData); return Promise.resolve(); }; /** * See ClientSideWebPartManager */ ClientSideWebPartMaintenanceModeManager.prototype.serialize = function (instanceId) { return this._wpMaintenanceModeData; }; /** * See ClientSideWebPartManager */ ClientSideWebPartMaintenanceModeManager.prototype.dispose = function (instanceId) { if (instanceId) { this._wpMaintenanceModeData.delete(instanceId); } else { this._wpMaintenanceModeData = new Map(); } }; ClientSideWebPartMaintenanceModeManager.prototype._loadWebPartInMaintenanceMode = function (context) { // Create a disembodied context without an actual web part // (It is our responsibility to finish the service scope.) var webPartContext = this._getWebPartContext(context); webPartContext.serviceScope.finish(); sp_loader_1.SPComponentLoader.loadComponentById(SP_MAINTENANCE_MODE_MANIFEST_ID) .then(function (uiComponentModule) { return uiComponentModule.MaintenanceModeRenderer.render(webPartContext, context.webPartData); }) .then(function () { return ClassicPageUtils_1.default.disableAutomaticPostbacks(context.domElement, sp_core_library_1.Environment.type); }) .catch(function (e) { return e; }); }; return ClientSideWebPartMaintenanceModeManager; }(ClientSideWebPartManager_1.default)); exports.default = ClientSideWebPartMaintenanceModeManager; //# sourceMappingURL=ClientSideWebPartMaintenanceModeManager.js.map