@microsoft/sp-webpart-base
Version:
SharePoint Framework support for building web parts
94 lines • 4.37 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var sp_core_library_1 = require("@microsoft/sp-core-library");
var sp_diagnostics_1 = require("@microsoft/sp-diagnostics");
var sp_loader_1 = require("@microsoft/sp-loader");
/**
* Loads the property pane module, asynchronously.
* @internal
*/
var PropertyPaneLoader = /** @class */ (function () {
function PropertyPaneLoader() {
this._logSource = sp_diagnostics_1._LogSource.create('PropertyPaneLoader');
}
Object.defineProperty(PropertyPaneLoader.prototype, "propertyPane", {
/**
* Async property pane getter.
*/
get: function () {
var _this = this;
if (!this._propertyPaneController) {
var propertyPaneQosMonitor_1 = new sp_diagnostics_1._QosMonitor('PropertyPaneLoader.loadPropertyPaneModule');
if (DEPRECATED_UNIT_TEST) {
// eslint-disable-next-line @microsoft/spfx/import-requires-chunk-name
return Promise.resolve().then(function () { return __importStar(require('@microsoft/sp-property-pane')); }).then(function (propertyPane) { return new propertyPane._ConfigurableOptionsController(); });
}
else {
return sp_loader_1.SPComponentLoader.loadComponentById(PropertyPaneLoader._propertyPaneModuleId)
.then(function (propertyPane) {
if (!_this._propertyPaneController) {
_this._propertyPaneController = new propertyPane._ConfigurableOptionsController();
}
return Promise.resolve(_this._propertyPaneController);
})
.catch(function (error) {
sp_diagnostics_1._TraceLogger.logErrorData({
source: _this._logSource,
error: error
});
propertyPaneQosMonitor_1.writeUnexpectedFailure('UnhandledError', error);
return Promise.reject(error);
});
}
}
else {
return Promise.resolve(this._propertyPaneController);
}
},
enumerable: false,
configurable: true
});
Object.defineProperty(PropertyPaneLoader.prototype, "isLoaded", {
/**
* Whether the property pane controller is loaded.
* For scenarios that want to do something ONLY when property pane has been loaded (e.g. Close the property pane
* if the property pane is loaded and open. But do nothing if property pane has not even been loaded)
*/
get: function () {
return !!this._propertyPaneController;
},
enumerable: false,
configurable: true
});
/**
* Service key to uniquely identify PropertyPaneLoader in the service scope.
*/
PropertyPaneLoader.serviceKey = sp_core_library_1.ServiceKey.create('sp-webpart-base:PropertyPaneLoader', PropertyPaneLoader);
PropertyPaneLoader._propertyPaneModuleId = 'f9e737b7-f0df-4597-ba8c-3060f82380db';
return PropertyPaneLoader;
}());
exports.default = PropertyPaneLoader;
//# sourceMappingURL=PropertyPaneLoader.js.map