@microsoft/sp-webpart-base
Version:
SharePoint Framework support for building web parts
67 lines • 3.04 kB
JavaScript
;
// 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