@syncfusion/ej2-grids
Version:
Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.
39 lines (38 loc) • 1.36 kB
JavaScript
import { isNullOrUndefined } from '@syncfusion/ej2-base';
import { ResponsiveDialogRenderer } from '../renderer/responsive-dialog-renderer';
/**
* ServiceLocator
*
* @hidden
*/
var ServiceLocator = /** @class */ (function () {
function ServiceLocator() {
this.services = {};
}
ServiceLocator.prototype.register = function (name, type) {
if (isNullOrUndefined(this.services["" + name])) {
this.services["" + name] = type;
}
};
ServiceLocator.prototype.getService = function (name) {
if (isNullOrUndefined(this.services["" + name])) {
// eslint-disable-next-line no-throw-literal
throw "The service " + name + " is not registered";
}
return this.services["" + name];
};
ServiceLocator.prototype.registerAdaptiveService = function (type, isAdaptiveUI, action) {
if (isAdaptiveUI) {
type.responsiveDialogRenderer = new ResponsiveDialogRenderer(type.parent, type.serviceLocator);
type.responsiveDialogRenderer.action = action;
}
else {
if (type.responsiveDialogRenderer) {
type.responsiveDialogRenderer.removeEventListener();
type.responsiveDialogRenderer = undefined;
}
}
};
return ServiceLocator;
}());
export { ServiceLocator };