import angular from 'angular'; import { SNComponentManager, SFAlertManager } from 'snjs'; import { isDesktopApplication, getPlatformString } from '@/utils'; export class ComponentManager extends SNComponentManager { /* @ngInject */ constructor( modelManager, syncManager, desktopManager, nativeExtManager, $rootScope, $timeout, $compile ) { super({ modelManager, syncManager, desktopManager, nativeExtManager, alertManager: new SFAlertManager(), $uiRunner: $rootScope.safeApply, $timeout: $timeout, environment: isDesktopApplication() ? "desktop" : "web", platform: getPlatformString() }); // this.loggingEnabled = true; this.$compile = $compile; this.$rootScope = $rootScope; } openModalComponent(component) { var scope = this.$rootScope.$new(true); scope.component = component; var el = this.$compile( "" )(scope); angular.element(document.body).append(el); } presentPermissionsDialog(dialog) { let scope = this.$rootScope.$new(true); scope.permissionsString = dialog.permissionsString; scope.component = dialog.component; scope.callback = dialog.callback; var el = this.$compile( "" )(scope); angular.element(document.body).append(el); } }