@eclipse-glsp-examples/workflow-glsp
Advanced tools
Comparing version 2.3.0-next.322 to 2.3.0-next.363
/******************************************************************************** | ||
* Copyright (c) 2020-2023 EclipseSource and others. | ||
* Copyright (c) 2020-2024 EclipseSource and others. | ||
* | ||
@@ -16,3 +16,3 @@ * This program and the accompanying materials are made available under the | ||
********************************************************************************/ | ||
import { AbstractUIExtension, Action, AutoCompleteWidget, DOMHelper, EditorContextService, GLSPActionDispatcher, ILogger, LabeledAction, Operation, GModelRoot, ValidationStatus, ViewerOptions } from '@eclipse-glsp/client'; | ||
import { Action, AutoCompleteWidget, DOMHelper, EditorContextService, GLSPAbstractUIExtension, GLSPActionDispatcher, GModelRoot, ILogger, LabeledAction, Operation, ValidationStatus, ViewerOptions } from '@eclipse-glsp/client'; | ||
import { TaskNode } from '../model'; | ||
@@ -47,3 +47,3 @@ /** | ||
} | ||
export declare class TaskEditor extends AbstractUIExtension { | ||
export declare class TaskEditor extends GLSPAbstractUIExtension { | ||
static readonly ID = "task-editor"; | ||
@@ -50,0 +50,0 @@ readonly autoSuggestionSettings: { |
@@ -15,3 +15,3 @@ "use strict"; | ||
/******************************************************************************** | ||
* Copyright (c) 2020-2023 EclipseSource and others. | ||
* Copyright (c) 2020-2024 EclipseSource and others. | ||
* | ||
@@ -48,3 +48,3 @@ * This program and the accompanying materials are made available under the | ||
})(EditTaskOperation || (exports.EditTaskOperation = EditTaskOperation = {})); | ||
let TaskEditor = TaskEditor_1 = class TaskEditor extends client_1.AbstractUIExtension { | ||
let TaskEditor = TaskEditor_1 = class TaskEditor extends client_1.GLSPAbstractUIExtension { | ||
constructor() { | ||
@@ -51,0 +51,0 @@ super(...arguments); |
/******************************************************************************** | ||
* Copyright (c) 2019-2023 EclipseSource and others. | ||
* Copyright (c) 2024 EclipseSource and others. | ||
* | ||
@@ -17,5 +17,8 @@ * This program and the accompanying materials are made available under the | ||
export * from './direct-task-editing/direct-task-editor'; | ||
export * from './direct-task-editing/task-editor-module'; | ||
export * from './model'; | ||
export * from './workflow-diagram-module'; | ||
export * from './workflow-snapper'; | ||
export * from './workflow-startup'; | ||
export * from './workflow-views'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -18,3 +18,3 @@ "use strict"; | ||
/******************************************************************************** | ||
* Copyright (c) 2019-2023 EclipseSource and others. | ||
* Copyright (c) 2024 EclipseSource and others. | ||
* | ||
@@ -34,5 +34,8 @@ * This program and the accompanying materials are made available under the | ||
__exportStar(require("./direct-task-editing/direct-task-editor"), exports); | ||
__exportStar(require("./direct-task-editing/task-editor-module"), exports); | ||
__exportStar(require("./model"), exports); | ||
__exportStar(require("./workflow-diagram-module"), exports); | ||
__exportStar(require("./workflow-snapper"), exports); | ||
__exportStar(require("./workflow-startup"), exports); | ||
__exportStar(require("./workflow-views"), exports); | ||
//# sourceMappingURL=index.js.map |
/******************************************************************************** | ||
* Copyright (c) 2020-2023 EclipseSource and others. | ||
* Copyright (c) 2020-2024 EclipseSource and others. | ||
* | ||
@@ -16,3 +16,3 @@ * This program and the accompanying materials are made available under the | ||
********************************************************************************/ | ||
import { DiamondNode, EditableLabel, GEdge, LayoutContainer, Nameable, RectangularNode, GChildElement, GModelElement, GShapeElement, WithEditableLabel } from '@eclipse-glsp/client'; | ||
import { DiamondNode, EditableLabel, GChildElement, GEdge, GModelElement, GShapeElement, LayoutContainer, Nameable, RectangularNode, ResizableModelElement, WithEditableLabel } from '@eclipse-glsp/client'; | ||
export declare class TaskNode extends RectangularNode implements Nameable, WithEditableLabel { | ||
@@ -30,3 +30,3 @@ static readonly DEFAULT_FEATURES: symbol[]; | ||
} | ||
export declare class ActivityNode extends DiamondNode { | ||
export declare class ControlNode extends DiamondNode implements ResizableModelElement { | ||
nodeType: string; | ||
@@ -39,2 +39,6 @@ size: { | ||
} | ||
export declare class BranchingNode extends ControlNode { | ||
} | ||
export declare class SynchronizationNode extends ControlNode { | ||
} | ||
export declare namespace ActivityNode { | ||
@@ -41,0 +45,0 @@ namespace Type { |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.CategoryNode = exports.Icon = exports.ActivityNode = exports.WeightedEdge = exports.isTaskNode = exports.TaskNode = void 0; | ||
exports.CategoryNode = exports.Icon = exports.ActivityNode = exports.SynchronizationNode = exports.BranchingNode = exports.ControlNode = exports.WeightedEdge = exports.isTaskNode = exports.TaskNode = void 0; | ||
/******************************************************************************** | ||
* Copyright (c) 2020-2023 EclipseSource and others. | ||
* Copyright (c) 2020-2024 EclipseSource and others. | ||
* | ||
@@ -55,3 +55,3 @@ * This program and the accompanying materials are made available under the | ||
exports.WeightedEdge = WeightedEdge; | ||
class ActivityNode extends client_1.DiamondNode { | ||
class ControlNode extends client_1.DiamondNode { | ||
constructor() { | ||
@@ -67,3 +67,10 @@ super(...arguments); | ||
} | ||
exports.ActivityNode = ActivityNode; | ||
exports.ControlNode = ControlNode; | ||
class BranchingNode extends ControlNode { | ||
} | ||
exports.BranchingNode = BranchingNode; | ||
class SynchronizationNode extends ControlNode { | ||
} | ||
exports.SynchronizationNode = SynchronizationNode; | ||
var ActivityNode; | ||
(function (ActivityNode) { | ||
@@ -70,0 +77,0 @@ let Type; |
@@ -16,10 +16,10 @@ /******************************************************************************** | ||
********************************************************************************/ | ||
import { ContainerConfiguration } from '@eclipse-glsp/client'; | ||
import { ContainerConfiguration, FeatureModule } from '@eclipse-glsp/client'; | ||
import 'balloon-css/balloon.min.css'; | ||
import { Container, ContainerModule } from 'inversify'; | ||
import { Container } from 'inversify'; | ||
import 'sprotty/css/edit-label.css'; | ||
import '../css/diagram.css'; | ||
export declare const workflowDiagramModule: ContainerModule; | ||
export declare const workflowDiagramModule: FeatureModule; | ||
export declare function createWorkflowDiagramContainer(...containerConfiguration: ContainerConfiguration): Container; | ||
export declare function initializeWorkflowDiagramContainer(container: Container, ...containerConfiguration: ContainerConfiguration): Container; | ||
//# sourceMappingURL=workflow-diagram-module.d.ts.map |
@@ -24,10 +24,11 @@ "use strict"; | ||
require("../css/diagram.css"); | ||
const di_config_1 = require("./direct-task-editing/di.config"); | ||
const task_editor_module_1 = require("./direct-task-editing/task-editor-module"); | ||
const model_1 = require("./model"); | ||
const workflow_snapper_1 = require("./workflow-snapper"); | ||
const workflow_startup_1 = require("./workflow-startup"); | ||
const workflow_views_1 = require("./workflow-views"); | ||
exports.workflowDiagramModule = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => { | ||
exports.workflowDiagramModule = new client_1.FeatureModule((bind, unbind, isBound, rebind) => { | ||
const context = { bind, unbind, isBound, rebind }; | ||
(0, client_1.bindOrRebind)(context, client_1.TYPES.ILogger).to(client_1.ConsoleLogger).inSingletonScope(); | ||
(0, client_1.bindOrRebind)(context, client_1.TYPES.LogLevel).toConstantValue(client_1.LogLevel.warn); | ||
bind(client_1.TYPES.ISnapper).to(client_1.GridSnapper); | ||
(0, client_1.bindAsService)(context, client_1.TYPES.ICommandPaletteActionProvider, client_1.RevealNamedElementActionProvider); | ||
@@ -40,12 +41,11 @@ (0, client_1.bindAsService)(context, client_1.TYPES.IContextMenuItemProvider, client_1.DeleteElementContextMenuItemProvider); | ||
(0, client_1.configureModelElement)(context, 'comp:comp', client_1.GCompartment, client_1.GCompartmentView); | ||
(0, client_1.configureModelElement)(context, 'comp:header', client_1.GCompartment, client_1.GCompartmentView); | ||
(0, client_1.configureModelElement)(context, 'label:icon', client_1.GLabel, client_1.GLabelView); | ||
(0, client_1.configureModelElement)(context, client_1.DefaultTypes.EDGE, client_1.GEdge, workflow_views_1.WorkflowEdgeView); | ||
(0, client_1.overrideModelElement)(context, client_1.DefaultTypes.EDGE, client_1.GEdge, workflow_views_1.WorkflowEdgeView); | ||
(0, client_1.configureModelElement)(context, 'edge:weighted', model_1.WeightedEdge, workflow_views_1.WorkflowEdgeView); | ||
(0, client_1.configureModelElement)(context, 'icon', model_1.Icon, workflow_views_1.IconView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:merge', model_1.ActivityNode, client_1.DiamondNodeView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:decision', model_1.ActivityNode, client_1.DiamondNodeView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:fork', model_1.ActivityNode, client_1.RectangularNodeView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:join', model_1.ActivityNode, client_1.RectangularNodeView); | ||
(0, client_1.configureModelElement)(context, client_1.DefaultTypes.GRAPH, client_1.GGraph, client_1.GLSPProjectionView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:merge', model_1.BranchingNode, client_1.DiamondNodeView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:decision', model_1.BranchingNode, client_1.DiamondNodeView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:fork', model_1.SynchronizationNode, client_1.RectangularNodeView); | ||
(0, client_1.configureModelElement)(context, 'activityNode:join', model_1.SynchronizationNode, client_1.RectangularNodeView); | ||
(0, client_1.overrideModelElement)(context, client_1.DefaultTypes.GRAPH, client_1.GGraph, client_1.GLSPProjectionView); | ||
(0, client_1.configureModelElement)(context, 'category', model_1.CategoryNode, client_1.RoundedCornerNodeView); | ||
@@ -55,7 +55,2 @@ (0, client_1.configureModelElement)(context, 'struct', client_1.GCompartment, client_1.StructureCompartmentView); | ||
const options = {}; | ||
// the user needs to use twice the force (double the distance) to break through a helper line compared to moving on the grid | ||
const snapper = ctx.container.get(client_1.TYPES.ISnapper); | ||
if (snapper instanceof client_1.GridSnapper) { | ||
options.minimumMoveDelta = { x: snapper.grid.x * 2, y: snapper.grid.y * 2 }; | ||
} | ||
// skip icons for alignment as well as compartments which are only used for structure | ||
@@ -65,3 +60,5 @@ options.alignmentElementFilter = element => (0, client_1.DEFAULT_ALIGNABLE_ELEMENT_FILTER)(element) && !(element instanceof model_1.Icon) && !(element instanceof client_1.GCompartment); | ||
}); | ||
}); | ||
(0, client_1.bindAsService)(context, client_1.TYPES.IDiagramStartup, workflow_startup_1.WorkflowStartup); | ||
(0, client_1.bindOrRebind)(context, client_1.TYPES.ISnapper).to(workflow_snapper_1.WorkflowSnapper); | ||
}, { featureId: Symbol('workflowDiagram') }); | ||
function createWorkflowDiagramContainer(...containerConfiguration) { | ||
@@ -72,5 +69,5 @@ return initializeWorkflowDiagramContainer(new inversify_1.Container(), ...containerConfiguration); | ||
function initializeWorkflowDiagramContainer(container, ...containerConfiguration) { | ||
return (0, client_1.initializeDiagramContainer)(container, exports.workflowDiagramModule, di_config_1.directTaskEditor, client_1.helperLineModule, ...containerConfiguration); | ||
return (0, client_1.initializeDiagramContainer)(container, task_editor_module_1.taskEditorModule, client_1.helperLineModule, client_1.gridModule, client_1.debugModule, exports.workflowDiagramModule, ...containerConfiguration); | ||
} | ||
exports.initializeWorkflowDiagramContainer = initializeWorkflowDiagramContainer; | ||
//# sourceMappingURL=workflow-diagram-module.js.map |
/******************************************************************************** | ||
* Copyright (c) 2019-2023 EclipseSource and others. | ||
* Copyright (c) 2019-2024 EclipseSource and others. | ||
* | ||
@@ -16,3 +16,4 @@ * This program and the accompanying materials are made available under the | ||
********************************************************************************/ | ||
import { Point, PolylineEdgeViewWithGapsOnIntersections, RenderingContext, GEdge, ShapeView } from '@eclipse-glsp/client'; | ||
/** @jsx svg */ | ||
import { GEdge, Point, PolylineEdgeViewWithGapsOnIntersections, RenderingContext, ShapeView } from '@eclipse-glsp/client'; | ||
import { VNode } from 'snabbdom'; | ||
@@ -19,0 +20,0 @@ import { Icon } from './model'; |
@@ -11,3 +11,3 @@ "use strict"; | ||
/******************************************************************************** | ||
* Copyright (c) 2019-2023 EclipseSource and others. | ||
* Copyright (c) 2019-2024 EclipseSource and others. | ||
* | ||
@@ -26,7 +26,6 @@ * This program and the accompanying materials are made available under the | ||
********************************************************************************/ | ||
/** @jsx svg */ | ||
const client_1 = require("@eclipse-glsp/client"); | ||
const inversify_1 = require("inversify"); | ||
const model_1 = require("./model"); | ||
// eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
const JSX = { createElement: client_1.svg }; | ||
let WorkflowEdgeView = class WorkflowEdgeView extends client_1.PolylineEdgeViewWithGapsOnIntersections { | ||
@@ -37,3 +36,3 @@ renderAdditionals(edge, segments, context) { | ||
const p2 = segments[segments.length - 1]; | ||
const arrow = (JSX.createElement("path", { "class-sprotty-edge": true, "class-arrow": true, d: 'M 1,0 L 10,-4 L 10,4 Z', transform: `rotate(${(0, client_1.toDegrees)((0, client_1.angleOfPoint)({ x: p1.x - p2.x, y: p1.y - p2.y }))} ${p2.x} ${p2.y}) translate(${p2.x} ${p2.y})` })); | ||
const arrow = ((0, client_1.svg)("path", { "class-sprotty-edge": true, "class-arrow": true, d: 'M 1,0 L 10,-4 L 10,4 Z', transform: `rotate(${(0, client_1.toDegrees)((0, client_1.angleOfPoint)(client_1.Point.subtract(p1, p2)))} ${p2.x} ${p2.y}) translate(${p2.x} ${p2.y})` })); | ||
additionals.push(arrow); | ||
@@ -66,8 +65,8 @@ return additionals; | ||
} | ||
const vnode = (JSX.createElement("g", null, | ||
JSX.createElement("path", { transform: 'scale(1.15),translate(0.75,0.75)', | ||
const vnode = ((0, client_1.svg)("g", null, | ||
(0, client_1.svg)("path", { transform: 'scale(1.15),translate(0.75,0.75)', | ||
// From codicons: https://github.com/microsoft/vscode-codicons/blob/main/src/icons/terminal.svg?short_path=2ffc08e | ||
// eslint-disable-next-line max-len | ||
d: icon }), | ||
JSX.createElement("rect", { "class-icon-background": true, x: 0, y: 0, width: 25, height: 20 }), | ||
(0, client_1.svg)("rect", { "class-icon-background": true, x: 0, y: 0, width: 25, height: 20 }), | ||
context.renderChildren(element))); | ||
@@ -74,0 +73,0 @@ const subType = (0, client_1.getSubType)(element); |
{ | ||
"name": "@eclipse-glsp-examples/workflow-glsp", | ||
"version": "2.3.0-next.322+39671a2", | ||
"version": "2.3.0-next.363+c95a716", | ||
"description": "GLSP diagrams for the Workflow DSL", | ||
@@ -33,5 +33,3 @@ "keywords": [ | ||
"src", | ||
"build", | ||
"css", | ||
"scripts" | ||
"css" | ||
], | ||
@@ -41,2 +39,3 @@ "scripts": { | ||
"clean": "rimraf *.tsbuildinfo lib", | ||
"generate:index": "glsp generateIndex src -f -s", | ||
"lint": "eslint --ext .ts,.tsx ./src", | ||
@@ -46,3 +45,3 @@ "watch": "tsc -w" | ||
"dependencies": { | ||
"@eclipse-glsp/client": "2.3.0-next.322+39671a2", | ||
"@eclipse-glsp/client": "2.3.0-next.363+c95a716", | ||
"balloon-css": "^0.5.0" | ||
@@ -56,3 +55,3 @@ }, | ||
}, | ||
"gitHead": "39671a2e6b30c52428182c06d815583485eb5b1d" | ||
"gitHead": "c95a716675b540a2a682f3f426682eaa6ed0765c" | ||
} |
/******************************************************************************** | ||
* Copyright (c) 2020-2023 EclipseSource and others. | ||
* Copyright (c) 2020-2024 EclipseSource and others. | ||
* | ||
@@ -17,3 +17,2 @@ * This program and the accompanying materials are made available under the | ||
import { | ||
AbstractUIExtension, | ||
Action, | ||
@@ -23,3 +22,5 @@ AutoCompleteWidget, | ||
EditorContextService, | ||
GLSPAbstractUIExtension, | ||
GLSPActionDispatcher, | ||
GModelRoot, | ||
ILogger, | ||
@@ -31,3 +32,2 @@ LabeledAction, | ||
RequestEditValidationAction, | ||
GModelRoot, | ||
SetContextActions, | ||
@@ -91,3 +91,3 @@ SetEditValidationResultAction, | ||
@injectable() | ||
export class TaskEditor extends AbstractUIExtension { | ||
export class TaskEditor extends GLSPAbstractUIExtension { | ||
static readonly ID = 'task-editor'; | ||
@@ -94,0 +94,0 @@ readonly autoSuggestionSettings = { |
/******************************************************************************** | ||
* Copyright (c) 2019-2023 EclipseSource and others. | ||
* Copyright (c) 2024 EclipseSource and others. | ||
* | ||
@@ -17,4 +17,7 @@ * This program and the accompanying materials are made available under the | ||
export * from './direct-task-editing/direct-task-editor'; | ||
export * from './direct-task-editing/task-editor-module'; | ||
export * from './model'; | ||
export * from './workflow-diagram-module'; | ||
export * from './workflow-snapper'; | ||
export * from './workflow-startup'; | ||
export * from './workflow-views'; |
/******************************************************************************** | ||
* Copyright (c) 2020-2023 EclipseSource and others. | ||
* Copyright (c) 2020-2024 EclipseSource and others. | ||
* | ||
@@ -17,24 +17,25 @@ * This program and the accompanying materials are made available under the | ||
import { | ||
DiamondNode, | ||
EditableLabel, | ||
GChildElement, | ||
GEdge, | ||
GModelElement, | ||
GShapeElement, | ||
LayoutContainer, | ||
Nameable, | ||
RectangularNode, | ||
ResizableModelElement, | ||
WithEditableLabel, | ||
boundsFeature, | ||
connectableFeature, | ||
deletableFeature, | ||
DiamondNode, | ||
EditableLabel, | ||
fadeFeature, | ||
GEdge, | ||
hoverFeedbackFeature, | ||
isEditableLabel, | ||
layoutContainerFeature, | ||
layoutableChildFeature, | ||
LayoutContainer, | ||
layoutContainerFeature, | ||
moveFeature, | ||
Nameable, | ||
nameFeature, | ||
popupFeature, | ||
RectangularNode, | ||
GChildElement, | ||
selectFeature, | ||
GModelElement, | ||
GShapeElement, | ||
WithEditableLabel, | ||
withEditLabelFeature | ||
@@ -83,3 +84,3 @@ } from '@eclipse-glsp/client'; | ||
export class ActivityNode extends DiamondNode { | ||
export class ControlNode extends DiamondNode implements ResizableModelElement { | ||
nodeType: string = ActivityNode.Type.UNDEFINED; | ||
@@ -93,2 +94,6 @@ override size = { | ||
export class BranchingNode extends ControlNode {} | ||
export class SynchronizationNode extends ControlNode {} | ||
export namespace ActivityNode { | ||
@@ -95,0 +100,0 @@ export namespace Type { |
@@ -23,2 +23,3 @@ /******************************************************************************** | ||
DiamondNodeView, | ||
FeatureModule, | ||
GCompartment, | ||
@@ -31,5 +32,3 @@ GCompartmentView, | ||
GLabelView, | ||
GridSnapper, | ||
IHelperLineOptions, | ||
ISnapper, | ||
LogLevel, | ||
@@ -45,55 +44,59 @@ RectangularNodeView, | ||
configureModelElement, | ||
debugModule, | ||
editLabelFeature, | ||
gridModule, | ||
helperLineModule, | ||
initializeDiagramContainer | ||
initializeDiagramContainer, | ||
overrideModelElement | ||
} from '@eclipse-glsp/client'; | ||
import 'balloon-css/balloon.min.css'; | ||
import { Container, ContainerModule } from 'inversify'; | ||
import { Container } from 'inversify'; | ||
import 'sprotty/css/edit-label.css'; | ||
import '../css/diagram.css'; | ||
import { directTaskEditor } from './direct-task-editing/di.config'; | ||
import { ActivityNode, CategoryNode, Icon, TaskNode, WeightedEdge } from './model'; | ||
import { taskEditorModule } from './direct-task-editing/task-editor-module'; | ||
import { BranchingNode, CategoryNode, Icon, SynchronizationNode, TaskNode, WeightedEdge } from './model'; | ||
import { WorkflowSnapper } from './workflow-snapper'; | ||
import { WorkflowStartup } from './workflow-startup'; | ||
import { IconView, WorkflowEdgeView } from './workflow-views'; | ||
export const workflowDiagramModule = new ContainerModule((bind, unbind, isBound, rebind) => { | ||
const context = { bind, unbind, isBound, rebind }; | ||
export const workflowDiagramModule = new FeatureModule( | ||
(bind, unbind, isBound, rebind) => { | ||
const context = { bind, unbind, isBound, rebind }; | ||
bindOrRebind(context, TYPES.ILogger).to(ConsoleLogger).inSingletonScope(); | ||
bindOrRebind(context, TYPES.LogLevel).toConstantValue(LogLevel.warn); | ||
bind(TYPES.ISnapper).to(GridSnapper); | ||
bindAsService(context, TYPES.ICommandPaletteActionProvider, RevealNamedElementActionProvider); | ||
bindAsService(context, TYPES.IContextMenuItemProvider, DeleteElementContextMenuItemProvider); | ||
bindOrRebind(context, TYPES.ILogger).to(ConsoleLogger).inSingletonScope(); | ||
bindOrRebind(context, TYPES.LogLevel).toConstantValue(LogLevel.warn); | ||
bindAsService(context, TYPES.ICommandPaletteActionProvider, RevealNamedElementActionProvider); | ||
bindAsService(context, TYPES.IContextMenuItemProvider, DeleteElementContextMenuItemProvider); | ||
configureDefaultModelElements(context); | ||
configureModelElement(context, 'task:automated', TaskNode, RoundedCornerNodeView); | ||
configureModelElement(context, 'task:manual', TaskNode, RoundedCornerNodeView); | ||
configureModelElement(context, 'label:heading', GLabel, GLabelView, { enable: [editLabelFeature] }); | ||
configureModelElement(context, 'comp:comp', GCompartment, GCompartmentView); | ||
configureModelElement(context, 'comp:header', GCompartment, GCompartmentView); | ||
configureModelElement(context, 'label:icon', GLabel, GLabelView); | ||
configureModelElement(context, DefaultTypes.EDGE, GEdge, WorkflowEdgeView); | ||
configureModelElement(context, 'edge:weighted', WeightedEdge, WorkflowEdgeView); | ||
configureModelElement(context, 'icon', Icon, IconView); | ||
configureModelElement(context, 'activityNode:merge', ActivityNode, DiamondNodeView); | ||
configureModelElement(context, 'activityNode:decision', ActivityNode, DiamondNodeView); | ||
configureModelElement(context, 'activityNode:fork', ActivityNode, RectangularNodeView); | ||
configureModelElement(context, 'activityNode:join', ActivityNode, RectangularNodeView); | ||
configureModelElement(context, DefaultTypes.GRAPH, GGraph, GLSPProjectionView); | ||
configureModelElement(context, 'category', CategoryNode, RoundedCornerNodeView); | ||
configureModelElement(context, 'struct', GCompartment, StructureCompartmentView); | ||
configureDefaultModelElements(context); | ||
configureModelElement(context, 'task:automated', TaskNode, RoundedCornerNodeView); | ||
configureModelElement(context, 'task:manual', TaskNode, RoundedCornerNodeView); | ||
configureModelElement(context, 'label:heading', GLabel, GLabelView, { enable: [editLabelFeature] }); | ||
configureModelElement(context, 'comp:comp', GCompartment, GCompartmentView); | ||
configureModelElement(context, 'label:icon', GLabel, GLabelView); | ||
overrideModelElement(context, DefaultTypes.EDGE, GEdge, WorkflowEdgeView); | ||
configureModelElement(context, 'edge:weighted', WeightedEdge, WorkflowEdgeView); | ||
configureModelElement(context, 'icon', Icon, IconView); | ||
configureModelElement(context, 'activityNode:merge', BranchingNode, DiamondNodeView); | ||
configureModelElement(context, 'activityNode:decision', BranchingNode, DiamondNodeView); | ||
configureModelElement(context, 'activityNode:fork', SynchronizationNode, RectangularNodeView); | ||
configureModelElement(context, 'activityNode:join', SynchronizationNode, RectangularNodeView); | ||
overrideModelElement(context, DefaultTypes.GRAPH, GGraph, GLSPProjectionView); | ||
configureModelElement(context, 'category', CategoryNode, RoundedCornerNodeView); | ||
configureModelElement(context, 'struct', GCompartment, StructureCompartmentView); | ||
bind<IHelperLineOptions>(TYPES.IHelperLineOptions).toDynamicValue(ctx => { | ||
const options: IHelperLineOptions = {}; | ||
// the user needs to use twice the force (double the distance) to break through a helper line compared to moving on the grid | ||
const snapper = ctx.container.get<ISnapper>(TYPES.ISnapper); | ||
if (snapper instanceof GridSnapper) { | ||
options.minimumMoveDelta = { x: snapper.grid.x * 2, y: snapper.grid.y * 2 }; | ||
} | ||
// skip icons for alignment as well as compartments which are only used for structure | ||
options.alignmentElementFilter = element => | ||
DEFAULT_ALIGNABLE_ELEMENT_FILTER(element) && !(element instanceof Icon) && !(element instanceof GCompartment); | ||
return options; | ||
}); | ||
}); | ||
bind<IHelperLineOptions>(TYPES.IHelperLineOptions).toDynamicValue(ctx => { | ||
const options: IHelperLineOptions = {}; | ||
// skip icons for alignment as well as compartments which are only used for structure | ||
options.alignmentElementFilter = element => | ||
DEFAULT_ALIGNABLE_ELEMENT_FILTER(element) && !(element instanceof Icon) && !(element instanceof GCompartment); | ||
return options; | ||
}); | ||
bindAsService(context, TYPES.IDiagramStartup, WorkflowStartup); | ||
bindOrRebind(context, TYPES.ISnapper).to(WorkflowSnapper); | ||
}, | ||
{ featureId: Symbol('workflowDiagram') } | ||
); | ||
export function createWorkflowDiagramContainer(...containerConfiguration: ContainerConfiguration): Container { | ||
@@ -104,3 +107,11 @@ return initializeWorkflowDiagramContainer(new Container(), ...containerConfiguration); | ||
export function initializeWorkflowDiagramContainer(container: Container, ...containerConfiguration: ContainerConfiguration): Container { | ||
return initializeDiagramContainer(container, workflowDiagramModule, directTaskEditor, helperLineModule, ...containerConfiguration); | ||
return initializeDiagramContainer( | ||
container, | ||
taskEditorModule, | ||
helperLineModule, | ||
gridModule, | ||
debugModule, | ||
workflowDiagramModule, | ||
...containerConfiguration | ||
); | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 2 instances in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 2 instances in 1 package
131439
44
1551