@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
44 lines (43 loc) • 1.3 kB
JavaScript
import * as PluginsRedux from '../../Redux/ActionsReducers/PluginsRedux';
import { ApiBase } from './ApiBase';
export class PluginsApiImpl extends ApiBase {
getPluginsState() {
return this.getAdaptableState().Plugins;
}
getPluginState(pluginId) {
return this.getPluginsState()[pluginId];
}
registerPlugin(pluginId, initialPluginState) {
this.setPluginState(pluginId, initialPluginState);
}
setPluginState(pluginId, newPluginState) {
this.dispatchAction(PluginsRedux.PluginsSetPluginState(pluginId, newPluginState));
}
getPluginApi(pluginId) {
try {
const api = this._adaptable.getPluginProperty(pluginId, 'api');
if (pluginId === 'ipushpull') {
return api;
}
if (pluginId === 'openfin') {
return api;
}
if (pluginId === 'interopio') {
return api;
}
return api;
}
catch (ex) {
return null;
}
}
getipushpullPluginApi() {
return this.getPluginApi('ipushpull');
}
getInteropioPluginApi() {
return this.getPluginApi('interopio');
}
getOpenFinPluginApi() {
return this.getPluginApi('openfin');
}
}