"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("../../src/browser/styles/console.css");
require("../../src/browser/styles/faq.css");
var inversify_1 = require("inversify");
var browser_1 = require("@theia/core/lib/browser");
var rebindWorkspacePreferences_1 = require("./rebindWorkspacePreferences");
var rebindWorkspaceService_1 = require("./rebindWorkspaceService");
var rebindWorkspaceCommands_1 = require("./rebindWorkspaceCommands");
var rebindWorkspaceFrontendContribution_1 = require("./rebindWorkspaceFrontendContribution");
var rebindApplicationShell_1 = require("./rebindApplicationShell");
var rebindNavigator_1 = require("./rebindNavigator");
var fxdk_project_contribution_1 = require("./fxdk-project-contribution");
var fxdk_data_service_1 = require("./fxdk-data-service");
var fxdk_menu_contribution_1 = require("./fxdk-menu-contribution");
var core_1 = require("@theia/core");
var server_console_1 = require("./console/server-console");
var client_console_1 = require("./console/client-console");
var rebindHelpContribution_1 = require("./help/rebindHelpContribution");
exports.default = new inversify_1.ContainerModule(function (bind, unbind, isBound, rebind) {
    bind(fxdk_data_service_1.FxdkDataService).toSelf().inSingletonScope();
    bind(fxdk_menu_contribution_1.FxdkMenuContribution).toSelf().inSingletonScope();
    bind(core_1.MenuContribution).toService(fxdk_menu_contribution_1.FxdkMenuContribution);
    bind(core_1.CommandContribution).toService(fxdk_menu_contribution_1.FxdkMenuContribution);
    bind(fxdk_project_contribution_1.FxdkProjectContribution).toSelf().inSingletonScope();
    bind(browser_1.FrontendApplicationContribution).toService(fxdk_project_contribution_1.FxdkProjectContribution);
    rebindApplicationShell_1.rebindApplicationShell(bind, rebind);
    rebindNavigator_1.rebindNavigator(bind, rebind);
    rebindWorkspacePreferences_1.rebindWorkspacePreferences(rebind);
    rebindWorkspaceService_1.rebindWorkspaceService(bind, rebind);
    rebindWorkspaceCommands_1.rebindWorkspaceCommands(bind, rebind);
    rebindWorkspaceFrontendContribution_1.rebindWorkspaceFrontendContribution(bind, rebind);
    rebindHelpContribution_1.rebindHelpContribution(bind, rebind);
    browser_1.bindViewContribution(bind, server_console_1.ServerConsoleViewContribution);
    bind(browser_1.WidgetFactory).toDynamicValue(function (ctx) { return ({
        id: server_console_1.SERVER_CONSOLE_WIDGET_ID,
        createWidget: function () { return ctx.container.resolve(server_console_1.ServerConsole); },
    }); });
    browser_1.bindViewContribution(bind, client_console_1.ClientConsoleViewContribution);
    bind(browser_1.WidgetFactory).toDynamicValue(function (ctx) { return ({
        id: client_console_1.CLIENT_CONSOLE_WIDGET_ID,
        createWidget: function () { return ctx.container.resolve(client_console_1.ClientConsole); },
    }); });
});
//# sourceMappingURL=fxdk-project-frontend-module.js.map