import { ContainerModule } from "inversify"; import { GalileoIdeStorjWidgetWidget } from "./galileo-ide-storj-widget-widget"; import { GalileoIdeStorjWidgetContribution } from "./galileo-ide-storj-widget-contribution"; import { bindViewContribution, FrontendApplicationContribution, WebSocketConnectionProvider, WidgetFactory, } from "@theia/core/lib/browser"; import "../../src/browser/style/index.css"; import { StorjWidgetBackendService, STORJ_WIDGET_BACKEND_PATH, } from "../common/protocol"; export default new ContainerModule((bind) => { bind(StorjWidgetBackendService) .toDynamicValue((ctx) => { const connection = ctx.container.get(WebSocketConnectionProvider); return connection.createProxy( STORJ_WIDGET_BACKEND_PATH ); }) .inSingletonScope(); bindViewContribution(bind, GalileoIdeStorjWidgetContribution); bind(FrontendApplicationContribution).toService( GalileoIdeStorjWidgetContribution ); bind(GalileoIdeStorjWidgetWidget).toSelf(); bind(WidgetFactory) .toDynamicValue((ctx) => ({ id: GalileoIdeStorjWidgetWidget.ID, createWidget: () => ctx.container.get( GalileoIdeStorjWidgetWidget ), })) .inSingletonScope(); });