UNPKG

@eclipse-glsp/client

Version:

A sprotty-based client for GLSP

122 lines 9.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultModule = void 0; /******************************************************************************** * Copyright (c) 2019-2025 EclipseSource and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ const sprotty_1 = require("@eclipse-glsp/sprotty"); require("@vscode/codicons/dist/codicon.css"); require("../../css/glsp-sprotty.css"); const action_dispatcher_1 = require("./action-dispatcher"); const action_handler_registry_1 = require("./action-handler-registry"); const autocomplete_suggestion_provider_1 = require("./auto-complete/autocomplete-suggestion-provider"); const command_stack_1 = require("./command-stack"); const editor_context_service_1 = require("./editor-context-service"); const css_feedback_1 = require("./feedback/css-feedback"); const feedback_action_dispatcher_1 = require("./feedback/feedback-action-dispatcher"); const set_model_command_1 = require("./feedback/set-model-command"); const update_model_command_1 = require("./feedback/update-model-command"); const focus_state_change_action_1 = require("./focus/focus-state-change-action"); const focus_tracker_1 = require("./focus/focus-tracker"); const diagram_loader_1 = require("./model/diagram-loader"); const glsp_model_source_1 = require("./model/glsp-model-source"); const model_change_service_1 = require("./model/model-change-service"); const model_initialization_constraint_1 = require("./model/model-initialization-constraint"); const model_registry_1 = require("./model/model-registry"); const mouse_position_tracker_1 = require("./mouse-position-tracker"); const selection_clearing_mouse_listener_1 = require("./selection-clearing-mouse-listener"); const selection_service_1 = require("./selection-service"); const shortcuts_manager_1 = require("./shortcuts/shortcuts-manager"); const tool_1 = require("./tool-manager/tool"); const tool_manager_1 = require("./tool-manager/tool-manager"); const ui_extension_registry_1 = require("./ui-extension/ui-extension-registry"); const key_tool_1 = require("./view/key-tool"); const mouse_tool_1 = require("./view/mouse-tool"); const view_registry_1 = require("./view/view-registry"); /** * The default module provides all of GLSP's base functionality and services. * It builds on top of sprotty's default module {@link `sprottyDefaultModule`}. */ exports.defaultModule = new sprotty_1.FeatureModule((bind, unbind, isBound, rebind, ...rest) => { // load bindings from sprotty's default module to avoid code duplication sprotty_1.sprottyDefaultModule.registry(bind, unbind, isBound, rebind, ...rest); const context = { bind, unbind, isBound, rebind }; (0, sprotty_1.bindLazyInjector)(context); bind(editor_context_service_1.EditorContextService).toSelf().inSingletonScope(); bind(sprotty_1.TYPES.IDiagramStartup).toService(editor_context_service_1.EditorContextService); // eslint-disable-next-line deprecation/deprecation bind(sprotty_1.TYPES.IEditorContextServiceProvider).toProvider(ctx => async () => ctx.container.get(editor_context_service_1.EditorContextService)); bind(sprotty_1.TYPES.IModelChangeService).to(model_change_service_1.ModelChangeService).inSingletonScope(); (0, sprotty_1.configureActionHandler)(context, sprotty_1.SetEditModeAction.KIND, editor_context_service_1.EditorContextService); (0, sprotty_1.configureActionHandler)(context, sprotty_1.SetDirtyStateAction.KIND, editor_context_service_1.EditorContextService); bind(focus_tracker_1.FocusTracker).toSelf().inSingletonScope(); bind(sprotty_1.TYPES.IDiagramStartup).toService(focus_tracker_1.FocusTracker); (0, sprotty_1.configureActionHandler)(context, focus_state_change_action_1.FocusStateChangedAction.KIND, focus_tracker_1.FocusTracker); // Model update initialization ------------------------------------ bind(sprotty_1.TYPES.IFeedbackActionDispatcher).to(feedback_action_dispatcher_1.FeedbackActionDispatcher).inSingletonScope(); (0, sprotty_1.configureCommand)(context, update_model_command_1.FeedbackAwareUpdateModelCommand); rebind(sprotty_1.SetModelCommand).to(set_model_command_1.FeedbackAwareSetModelCommand); bind(mouse_tool_1.GLSPMouseTool).toSelf().inSingletonScope(); (0, sprotty_1.bindOrRebind)(context, sprotty_1.MouseTool).toService(mouse_tool_1.GLSPMouseTool); bind(sprotty_1.TYPES.IDiagramStartup).toService(mouse_tool_1.GLSPMouseTool); bind(mouse_position_tracker_1.GLSPMousePositionTracker).toSelf().inSingletonScope(); (0, sprotty_1.bindOrRebind)(context, sprotty_1.MousePositionTracker).toService(mouse_position_tracker_1.GLSPMousePositionTracker); bind(key_tool_1.GLSPKeyTool).toSelf().inSingletonScope(); (0, sprotty_1.bindOrRebind)(context, sprotty_1.KeyTool).toService(key_tool_1.GLSPKeyTool); bind(sprotty_1.TYPES.IDiagramStartup).toService(key_tool_1.GLSPKeyTool); (0, sprotty_1.bindAsService)(context, sprotty_1.TYPES.MouseListener, selection_clearing_mouse_listener_1.SelectionClearingMouseListener); (0, sprotty_1.bindOrRebind)(context, sprotty_1.TYPES.ICommandStack).to(command_stack_1.GLSPCommandStack).inSingletonScope(); bind(action_dispatcher_1.GLSPActionDispatcher).toSelf().inSingletonScope(); bind(sprotty_1.TYPES.IGModelRootListener).toService(action_dispatcher_1.GLSPActionDispatcher); (0, sprotty_1.bindOrRebind)(context, sprotty_1.TYPES.IActionDispatcher).toService(action_dispatcher_1.GLSPActionDispatcher); (0, sprotty_1.bindOrRebind)(context, sprotty_1.ActionHandlerRegistry).to(action_handler_registry_1.GLSPActionHandlerRegistry).inSingletonScope(); (0, sprotty_1.bindAsService)(context, sprotty_1.TYPES.ModelSource, glsp_model_source_1.GLSPModelSource); bind(diagram_loader_1.DiagramLoader).toSelf().inSingletonScope(); bind(model_initialization_constraint_1.ModelInitializationConstraint).to(model_initialization_constraint_1.DefaultModelInitializationConstraint).inSingletonScope(); // support re-registration of model elements and views (0, sprotty_1.bindOrRebind)(context, sprotty_1.TYPES.SModelRegistry).to(model_registry_1.GModelRegistry).inSingletonScope(); (0, sprotty_1.bindOrRebind)(context, sprotty_1.TYPES.ViewRegistry).to(view_registry_1.GViewRegistry).inSingletonScope(); bind(selection_service_1.SelectionService).toSelf().inSingletonScope(); bind(sprotty_1.TYPES.IGModelRootListener).toService(selection_service_1.SelectionService); bind(sprotty_1.TYPES.IDiagramStartup).toService(selection_service_1.SelectionService); // Feedback Support ------------------------------------ // Generic re-usable feedback modifying css classes (0, sprotty_1.configureCommand)(context, css_feedback_1.ModifyCssFeedbackCommand); // We support using sprotty's MoveCommand as client-side visual feedback (0, sprotty_1.configureCommand)(context, sprotty_1.MoveCommand); (0, sprotty_1.bindAsService)(context, sprotty_1.TYPES.IVNodePostprocessor, sprotty_1.LocationPostprocessor); bind(sprotty_1.TYPES.HiddenVNodePostprocessor).toService(sprotty_1.LocationPostprocessor); // Tool manager initialization ------------------------------------ bind(sprotty_1.TYPES.IToolManager).to(tool_manager_1.ToolManager).inSingletonScope(); bind(sprotty_1.TYPES.IDiagramStartup).toService(sprotty_1.TYPES.IToolManager); bind(sprotty_1.TYPES.IEditModeListener).toService(sprotty_1.TYPES.IToolManager); bind(tool_manager_1.DefaultToolsEnablingKeyListener).toSelf().inSingletonScope(); bind(sprotty_1.TYPES.KeyListener).toService(tool_manager_1.DefaultToolsEnablingKeyListener); bind(tool_manager_1.ToolManagerActionHandler).toSelf().inSingletonScope(); (0, sprotty_1.configureActionHandler)(context, tool_1.EnableDefaultToolsAction.KIND, tool_manager_1.ToolManagerActionHandler); (0, sprotty_1.configureActionHandler)(context, tool_1.EnableToolsAction.KIND, tool_manager_1.ToolManagerActionHandler); bind(ui_extension_registry_1.GLSPUIExtensionRegistry).toSelf().inSingletonScope(); (0, sprotty_1.bindOrRebind)(context, sprotty_1.TYPES.UIExtensionRegistry).toService(ui_extension_registry_1.GLSPUIExtensionRegistry); bind(sprotty_1.TYPES.IDiagramStartup).toService(ui_extension_registry_1.GLSPUIExtensionRegistry); bind(sprotty_1.TYPES.EmptyArray).toDynamicValue(() => []); // Shortcut manager initialization ------------------------------------ (0, sprotty_1.bindAsService)(context, sprotty_1.TYPES.IShortcutManager, shortcuts_manager_1.ShortcutManager); // Autocomplete suggestion provider initialization ------------------------------------ bind(sprotty_1.TYPES.IAutocompleteSuggestionProviderRegistry).to(autocomplete_suggestion_provider_1.DefaultAutocompleteSuggestionRegistry).inSingletonScope(); bind(sprotty_1.TYPES.IDiagramStartup).toService(sprotty_1.TYPES.IAutocompleteSuggestionProviderRegistry); }, { featureId: Symbol('default') }); //# sourceMappingURL=default.module.js.map