activator-oce-exporter
Version:
Extract Activator binder and convert it to valid OCE mono pacakge
37 lines (29 loc) • 1.05 kB
JavaScript
import { FusionStore } from './fusion-store';
import { setVeevaEnv } from '../_actions/app';
import { veevaData } from '../veeva-data';
import { FusionLogger } from './fusion-logger';
class EnvironmentDetector {
static setupEnvironmentListener(cb) {
const unsubscribe = FusionStore.subscribe('app.environment', (data) => {
const { environment } = data.app;
if (environment) {
unsubscribe();
cb(environment);
}
});
}
static setVeevaEnv() {
FusionStore.store.dispatch(setVeevaEnv());
}
static emitEnvironmentSetup(env) {
FusionLogger.log(`Environment detected: ${env}`, 'EnvironmentDetector');
document.dispatchEvent(new CustomEvent('EnvironmentDetector:environmentDetected'));
}
static setEnv() {
this.setupEnvironmentListener(this.emitEnvironmentSetup);
veevaData.getCurrentKeyMessageId()
.then(() => this.setVeevaEnv())
.catch(() => FusionLogger.log('Waiting detection of environment....', 'EnvironmentDetector'));
}
}
export { EnvironmentDetector };