@meltemi/diagrams-canvas 1.11.28 → 1.11.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/canvas.css CHANGED
@@ -148,6 +148,38 @@ body {
148
148
  cursor: pointer;
149
149
  }
150
150
 
151
+ /*
152
+ * The layout badge on a canvas that edits: the same pill as the plain badge, as a button that opens
153
+ * the menu of modes, with a small chevron. It darkens a little under the pointer and while its menu
154
+ * is open, over the fast motion token.
155
+ */
156
+ .toolbar button.layout-badge {
157
+ height: auto;
158
+ min-width: 0;
159
+ margin-left: auto;
160
+ padding: 1px 6px 1px 8px;
161
+ border: 0;
162
+ border-radius: 9px;
163
+ background: var(--vscode-badge-background, #ddd);
164
+ color: var(--vscode-badge-foreground, #333);
165
+ font-size: 11px;
166
+ transition: filter var(--mdg-motion-fast) var(--mdg-ease);
167
+ }
168
+
169
+ .toolbar button.layout-badge::after {
170
+ content: "";
171
+ border-top: 4px solid currentColor;
172
+ border-right: 3px solid transparent;
173
+ border-left: 3px solid transparent;
174
+ opacity: 0.7;
175
+ }
176
+
177
+ .toolbar button.layout-badge:hover,
178
+ .toolbar button.layout-badge[aria-expanded="true"] {
179
+ background: var(--vscode-badge-background, #ddd);
180
+ filter: brightness(0.92);
181
+ }
182
+
151
183
  /*
152
184
  * Split buttons: the box or node tool and its shapes, the relation tool and its kinds of arrow.
153
185
  * One outline holds both parts and a line divides them; the arrow part is a dropdown as tall as
@@ -1959,7 +1991,8 @@ body {
1959
1991
  }
1960
1992
 
1961
1993
  .menu [role="menuitem"],
1962
- .menu [role="menuitemradio"] {
1994
+ .menu [role="menuitemradio"],
1995
+ .menu [role="menuitemcheckbox"] {
1963
1996
  display: flex;
1964
1997
  justify-content: space-between;
1965
1998
  gap: 24px;
@@ -1970,16 +2003,55 @@ body {
1970
2003
  .menu [role="menuitem"]:hover,
1971
2004
  .menu [role="menuitem"]:focus,
1972
2005
  .menu [role="menuitemradio"]:hover,
1973
- .menu [role="menuitemradio"]:focus {
2006
+ .menu [role="menuitemradio"]:focus,
2007
+ .menu [role="menuitemcheckbox"]:hover,
2008
+ .menu [role="menuitemcheckbox"]:focus {
1974
2009
  background: var(--vscode-menu-selectionBackground, #0060c0);
1975
2010
  color: var(--vscode-menu-selectionForeground, #fff);
1976
2011
  }
1977
2012
 
1978
- .menu [role="menuitemradio"]:focus {
2013
+ .menu [role="menuitemradio"]:focus,
2014
+ .menu [role="menuitemcheckbox"]:focus {
1979
2015
  outline: 2px solid var(--mdg-focus);
1980
2016
  outline-offset: -1px;
1981
2017
  }
1982
2018
 
2019
+ /*
2020
+ * An item that turns something on and off on its own, such as an effect: a small box before its
2021
+ * name, filled with a check while it is on.
2022
+ */
2023
+ .menu [role="menuitemcheckbox"] .label {
2024
+ display: inline-flex;
2025
+ align-items: center;
2026
+ gap: 8px;
2027
+ }
2028
+
2029
+ .menu [role="menuitemcheckbox"] .label::before {
2030
+ content: "";
2031
+ flex: none;
2032
+ width: 12px;
2033
+ height: 12px;
2034
+ box-sizing: border-box;
2035
+ border: 1px solid currentColor;
2036
+ border-radius: 3px;
2037
+ opacity: 0.7;
2038
+ font-size: 10px;
2039
+ font-weight: 700;
2040
+ line-height: 10px;
2041
+ text-align: center;
2042
+ transition:
2043
+ background-color var(--mdg-motion-fast) var(--mdg-ease),
2044
+ opacity var(--mdg-motion-fast) var(--mdg-ease);
2045
+ }
2046
+
2047
+ .menu [role="menuitemcheckbox"][aria-checked="true"] .label::before {
2048
+ content: "✓";
2049
+ border-color: var(--mdg-select);
2050
+ background: var(--mdg-select);
2051
+ color: #fff;
2052
+ opacity: 1;
2053
+ }
2054
+
1983
2055
  /* The current choice of a menu of choices, such as the kind of arrow. */
1984
2056
  .menu [role="menuitemradio"][aria-checked="true"] {
1985
2057
  box-shadow: inset 3px 0 0 var(--mdg-select);
@@ -2305,7 +2377,8 @@ body {
2305
2377
  outline-offset: 1px;
2306
2378
  }
2307
2379
 
2308
- .menu [role="menuitem"][aria-disabled="true"] {
2380
+ .menu
2381
+ :is([role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"])[aria-disabled="true"] {
2309
2382
  opacity: 0.5;
2310
2383
  pointer-events: none;
2311
2384
  }
@@ -2366,6 +2439,27 @@ body {
2366
2439
  overflow: auto;
2367
2440
  }
2368
2441
 
2442
+ /*
2443
+ * The confirmation before automatic layout: a title, the sentence that counts what goes. It fades
2444
+ * in over the canvas and rises into place as popovers do.
2445
+ */
2446
+ .dialog:has([data-dialog="arrange"]):not([hidden]) {
2447
+ animation: mdg-fade-in var(--mdg-motion-fast) var(--mdg-ease);
2448
+ }
2449
+
2450
+ .dialog [data-dialog="arrange"] {
2451
+ animation: mdg-rise-in var(--mdg-motion) var(--mdg-ease);
2452
+ }
2453
+
2454
+ .dialog [data-dialog="arrange"] .title {
2455
+ font-weight: 600;
2456
+ }
2457
+
2458
+ .dialog [data-dialog="arrange"] p {
2459
+ margin: 8px 0 12px;
2460
+ line-height: 1.4;
2461
+ }
2462
+
2369
2463
  :is(.dialog, .icon-dialog) .buttons {
2370
2464
  display: flex;
2371
2465
  justify-content: flex-end;
@@ -3909,6 +4003,7 @@ body {
3909
4003
  .panel textarea,
3910
4004
  .menu [role="menuitem"],
3911
4005
  .menu [role="menuitemradio"],
4006
+ .menu [role="menuitemcheckbox"],
3912
4007
  .picker [role="option"],
3913
4008
  .shape-menu button.chip,
3914
4009
  .library-item,
package/dist/app.d.ts CHANGED
@@ -235,6 +235,18 @@ export declare class CanvasApp {
235
235
  private readonly main;
236
236
  /** The layout of the diagram shown, or story mode; hidden while no diagram is drawn. */
237
237
  private readonly modeBadge;
238
+ /**
239
+ * The badge of a flow diagram, a free composition or a C4 view on a canvas that edits, in place
240
+ * of the plain one: it names the layout mode the same way and opens the menu of the three modes
241
+ * and the arrange actions (decision 0074).
242
+ */
243
+ private readonly layoutBadge;
244
+ /**
245
+ * Where the context menu was last opened, and its pill: a menu opened on a selection whose
246
+ * properties have not arrived yet is drawn again with its effect items when they do, once.
247
+ */
248
+ private menuOpening;
249
+ private menuWaits;
238
250
  /** Says, quietly and to assistive technology too, that the canvas only shows. */
239
251
  private readonly readOnlyBadge;
240
252
  private readonly toggles;
@@ -1009,6 +1021,18 @@ export declare class CanvasApp {
1009
1021
  private syncShapeButtons;
1010
1022
  private syncToggles;
1011
1023
  private updateToolbar;
1024
+ /**
1025
+ * Which badge names the layout mode: on a canvas that edits a flow diagram, a free composition
1026
+ * or a C4 view, the button that opens the menu of modes, with the plain badge's words; the plain
1027
+ * badge everywhere else (stories, previews, sequence diagrams, charts, canvases that only show).
1028
+ */
1029
+ private syncLayoutBadge;
1030
+ /**
1031
+ * The layout badge's menu: the three modes, the one written (or implied) checked, then the two
1032
+ * arrange actions. A mode goes to the editor as the inspector's Layout field does: automatic
1033
+ * layout asks first when it would remove positions written by hand.
1034
+ */
1035
+ private openLayoutMenu;
1012
1036
  /**
1013
1037
  * The sequence palette's **Tag** and **Activate** as the selection is: enabled while a message or
1014
1038
  * a participant is selected (not in a scenario's preview, which is read-only), and **Activate**
@@ -1416,6 +1440,16 @@ export declare class CanvasApp {
1416
1440
  * selected one there, offered only where two or more shapes lie under the point.
1417
1441
  */
1418
1442
  private belowItems;
1443
+ /**
1444
+ * The effects the selection takes, as items that turn each one on and off (decision 0074). They
1445
+ * are read from the properties the editor sent for this very selection, and write what the
1446
+ * inspector's toggles write: an effect goes on where it is missing (a target without an id named
1447
+ * first), or off for all when all have it. None until those properties arrive: the menu is drawn
1448
+ * again then.
1449
+ */
1450
+ private effectItems;
1451
+ /** The effect items after `items`, in a group of their own. */
1452
+ private withEffects;
1419
1453
  private openMenu;
1420
1454
  /** The context menu of a C4 view: local labels, the model's entities, placement. */
1421
1455
  private openViewMenu;
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -481,6 +481,24 @@ export class CanvasApp {
481
481
  main;
482
482
  /** The layout of the diagram shown, or story mode; hidden while no diagram is drawn. */
483
483
  modeBadge = h("span", { class: "badge", hidden: true });
484
+ /**
485
+ * The badge of a flow diagram, a free composition or a C4 view on a canvas that edits, in place
486
+ * of the plain one: it names the layout mode the same way and opens the menu of the three modes
487
+ * and the arrange actions (decision 0074).
488
+ */
489
+ layoutBadge = h("button", {
490
+ type: "button",
491
+ class: "layout-badge",
492
+ hidden: true,
493
+ "aria-haspopup": "menu",
494
+ "aria-expanded": "false",
495
+ });
496
+ /**
497
+ * Where the context menu was last opened, and its pill: a menu opened on a selection whose
498
+ * properties have not arrived yet is drawn again with its effect items when they do, once.
499
+ */
500
+ menuOpening;
501
+ menuWaits = false;
484
502
  /** Says, quietly and to assistive technology too, that the canvas only shows. */
485
503
  readOnlyBadge = h("span", { class: "view-only-badge", hidden: true });
486
504
  toggles = new Map();
@@ -780,16 +798,24 @@ export class CanvasApp {
780
798
  }
781
799
  else if (!drawing)
782
800
  this.resetPreview();
801
+ const confirming = message.code === "edit.has-dependents" || message.code === "edit.loses-placement";
783
802
  if (message.code === "edit.has-dependents" && message.dependents && message.retry) {
784
803
  const retry = message.retry;
785
804
  this.dialog.confirm(message.reason, message.dependents, () => this.act(retry));
786
805
  }
806
+ else if (message.code === "edit.loses-placement" && message.retry) {
807
+ // Automatic layout would remove positions written by hand: asked first. A Layout
808
+ // field that asked goes back to the written mode until the person confirms.
809
+ const retry = message.retry;
810
+ this.inspector.redraw();
811
+ this.dialog.confirmArrange(message.reason, () => this.act(retry));
812
+ }
787
813
  else if (!again) {
788
814
  this.announce(message.reason, true);
789
815
  }
790
816
  // A field of the properties refused says why under itself, where the text was typed.
791
817
  const sent = this.lastAction;
792
- if (sent?.kind === "setField" && message.code !== "edit.has-dependents") {
818
+ if (sent?.kind === "setField" && !confirming) {
793
819
  this.inspector.refuse(sent.ids, sent.field, message.reason);
794
820
  }
795
821
  // What the refusal is about flashes in the theme's danger colour.
@@ -843,6 +869,16 @@ export class CanvasApp {
843
869
  }
844
870
  case "inspector":
845
871
  this.inspector.show(message.model);
872
+ // A context menu opened on a new selection gains its effect items now that they came,
873
+ // drawn again once: what is being chosen in it is not taken away a second time.
874
+ if (this.menuWaits && this.menu.isOpen && this.menuOpening?.redrawn === false) {
875
+ const { at, pill } = this.menuOpening;
876
+ this.menuWaits = false;
877
+ this.menuPill = pill;
878
+ this.openMenu(at);
879
+ if (this.menuOpening)
880
+ this.menuOpening = { ...this.menuOpening, redrawn: true };
881
+ }
846
882
  // The Choose… that opened the icon picker, drawn anew, is marked as its opener again.
847
883
  this.iconPicker.syncOpener();
848
884
  // The font button too; the families are asked for again, for the faces that arrived.
@@ -1775,6 +1811,7 @@ export class CanvasApp {
1775
1811
  if (message.playback) {
1776
1812
  const entering = !was || this.storyPanel.story !== message.playback.id;
1777
1813
  this.setStoryMode(true);
1814
+ this.layoutBadge.hidden = true;
1778
1815
  this.modeBadge.hidden = false;
1779
1816
  this.modeBadge.textContent = words.mode.story;
1780
1817
  this.modeBadge.title = words.mode.storyTitle;
@@ -1800,6 +1837,7 @@ export class CanvasApp {
1800
1837
  else {
1801
1838
  clear(this.content);
1802
1839
  this.modeBadge.hidden = true;
1840
+ this.layoutBadge.hidden = true;
1803
1841
  this.showEmpty(this.emptyText, this.emptyCreatable);
1804
1842
  }
1805
1843
  }
@@ -1902,6 +1940,7 @@ export class CanvasApp {
1902
1940
  this.modeBadge.textContent = "";
1903
1941
  this.modeBadge.title = "";
1904
1942
  }
1943
+ this.layoutBadge.hidden = true;
1905
1944
  this.toolbar.classList.add("no-diagram");
1906
1945
  this.noDiagram = true;
1907
1946
  this.inspector.clear();
@@ -1922,6 +1961,13 @@ export class CanvasApp {
1922
1961
  const on = this.readOnly;
1923
1962
  const words = messages();
1924
1963
  this.root.classList.toggle("view-only", on);
1964
+ // A canvas that only shows names the layout mode with the plain badge, which opens nothing.
1965
+ if (on && !this.layoutBadge.hidden) {
1966
+ this.layoutBadge.hidden = true;
1967
+ this.modeBadge.hidden = false;
1968
+ }
1969
+ else if (!on)
1970
+ this.syncLayoutBadge();
1925
1971
  this.readOnlyBadge.hidden = !on;
1926
1972
  this.readOnlyBadge.textContent = on ? words.readOnly.badge : "";
1927
1973
  this.readOnlyBadge.title = on ? words.readOnly.badgeTitle : "";
@@ -4438,7 +4484,8 @@ export class CanvasApp {
4438
4484
  }), this.toggle("inspector", words.toolbar.inspector, ICONS.inspector, () => this.setInspectorCollapsed(this.showInspector), this.inspectorKey || undefined), this.toggle("layers", words.toolbar.layers, ICONS.layers, () => {
4439
4485
  this.persist({ layers: !this.showLayers });
4440
4486
  this.syncToggles();
4441
- }, "L"), this.toggle("libraries", words.toolbar.libraries, ICONS.library, () => this.toggleLibraries(), "U"), separator(), arrange, this.playButton, exportButton, this.readOnlyBadge, this.modeBadge);
4487
+ }, "L"), this.toggle("libraries", words.toolbar.libraries, ICONS.library, () => this.toggleLibraries(), "U"), separator(), arrange, this.playButton, exportButton, this.readOnlyBadge, this.modeBadge, this.layoutBadge);
4488
+ this.layoutBadge.addEventListener("click", () => this.openLayoutMenu());
4442
4489
  // Story mode is read-only: these go while a story plays.
4443
4490
  for (const element of [
4444
4491
  newDiagram,
@@ -5109,6 +5156,7 @@ export class CanvasApp {
5109
5156
  const words = messages();
5110
5157
  this.toolbar.classList.remove("no-diagram");
5111
5158
  this.modeBadge.hidden = false;
5159
+ this.layoutBadge.hidden = true;
5112
5160
  clear(this.diagramSelect);
5113
5161
  for (const d of r.diagrams) {
5114
5162
  this.diagramSelect.append(h("option", { value: d.id, selected: d.id === r.diagram }, d.title ? `${d.id} — ${d.title}` : d.id));
@@ -5187,6 +5235,66 @@ export class CanvasApp {
5187
5235
  : r.mode === "assisted"
5188
5236
  ? words.mode.assisted
5189
5237
  : words.mode.manual;
5238
+ this.syncLayoutBadge();
5239
+ }
5240
+ /**
5241
+ * Which badge names the layout mode: on a canvas that edits a flow diagram, a free composition
5242
+ * or a C4 view, the button that opens the menu of modes, with the plain badge's words; the plain
5243
+ * badge everywhere else (stories, previews, sequence diagrams, charts, canvases that only show).
5244
+ */
5245
+ syncLayoutBadge() {
5246
+ const r = this.render;
5247
+ const menu = r !== undefined &&
5248
+ !this.readOnly &&
5249
+ !this.noDiagram &&
5250
+ !this.storyPanel.active &&
5251
+ (r.profile === "flow" || r.profile === "free" || r.profile === "c4");
5252
+ this.layoutBadge.hidden = !menu;
5253
+ if (!menu)
5254
+ return;
5255
+ this.layoutBadge.textContent = this.modeBadge.textContent;
5256
+ this.layoutBadge.title = this.modeBadge.title;
5257
+ this.layoutBadge.setAttribute("aria-label", messages().mode.menu(r.mode));
5258
+ this.modeBadge.hidden = true;
5259
+ }
5260
+ /**
5261
+ * The layout badge's menu: the three modes, the one written (or implied) checked, then the two
5262
+ * arrange actions. A mode goes to the editor as the inspector's Layout field does: automatic
5263
+ * layout asks first when it would remove positions written by hand.
5264
+ */
5265
+ openLayoutMenu() {
5266
+ const r = this.render;
5267
+ if (!r || this.readOnly || this.layoutBadge.hidden)
5268
+ return;
5269
+ const words = messages();
5270
+ const mode = (value, label) => ({
5271
+ label,
5272
+ checked: r.mode === value,
5273
+ data: { "data-menu": `layout-${value}` },
5274
+ run: () => {
5275
+ if (r.mode !== value)
5276
+ this.act({ kind: "setLayoutMode", mode: value });
5277
+ },
5278
+ });
5279
+ const rect = this.layoutBadge.getBoundingClientRect();
5280
+ const base = this.main.getBoundingClientRect();
5281
+ this.layoutBadge.setAttribute("aria-expanded", "true");
5282
+ this.menu.open([
5283
+ mode("auto", words.mode.automatic),
5284
+ mode("assisted", words.mode.assistedMode),
5285
+ mode("manual", words.mode.manualMode),
5286
+ "-",
5287
+ {
5288
+ label: words.commands.arrangeUnplaced,
5289
+ data: { "data-menu": "arrange-unplaced" },
5290
+ run: () => this.act({ kind: "arrange", scope: "unplaced" }),
5291
+ },
5292
+ {
5293
+ label: words.commands.recomputeLayout,
5294
+ data: { "data-menu": "recompute-layout" },
5295
+ run: () => this.act({ kind: "arrange", scope: "all" }),
5296
+ },
5297
+ ], { x: rect.left - base.left, y: 0 }, base, () => this.layoutBadge.setAttribute("aria-expanded", "false"));
5190
5298
  }
5191
5299
  /**
5192
5300
  * The sequence palette's **Tag** and **Activate** as the selection is: enabled while a message or
@@ -8279,6 +8387,15 @@ export class CanvasApp {
8279
8387
  case "addReturn":
8280
8388
  this.act({ kind: command, ids: this.selection });
8281
8389
  return;
8390
+ case "reverseDirection":
8391
+ if (primary)
8392
+ this.act({ kind: "reverse", ids: [primary] });
8393
+ return;
8394
+ case "toggleAutonumber":
8395
+ if (this.render?.profile !== "sequence")
8396
+ return;
8397
+ this.act({ kind: "setAutonumber", on: (this.render.autonumber ?? null) === null });
8398
+ return;
8282
8399
  case "growText":
8283
8400
  case "shrinkText":
8284
8401
  // The session says the new size, or why nothing changed, on the status line.
@@ -9180,7 +9297,53 @@ export class CanvasApp {
9180
9297
  const { menu, keys } = messages();
9181
9298
  return [{ label: menu.selectBelow, key: keys.altClick, run: () => this.selectBelow(point) }];
9182
9299
  }
9300
+ /**
9301
+ * The effects the selection takes, as items that turn each one on and off (decision 0074). They
9302
+ * are read from the properties the editor sent for this very selection, and write what the
9303
+ * inspector's toggles write: an effect goes on where it is missing (a target without an id named
9304
+ * first), or off for all when all have it. None until those properties arrive: the menu is drawn
9305
+ * again then.
9306
+ */
9307
+ effectItems() {
9308
+ if (this.readOnly || this.selection.length === 0)
9309
+ return [];
9310
+ const model = this.inspector.current;
9311
+ const ids = model?.target.ids ?? [];
9312
+ const same = model !== undefined &&
9313
+ model.target.kind !== "diagram" &&
9314
+ ids.length === this.selection.length &&
9315
+ ids.every((id) => this.selection.includes(id));
9316
+ if (!model || !same) {
9317
+ this.menuWaits = true;
9318
+ return [];
9319
+ }
9320
+ const preview = (this.render?.scenario ?? null) !== null;
9321
+ return model.fields
9322
+ .filter((f) => f.name.startsWith("effect.") && f.name.split(".").length === 2)
9323
+ .map((f) => {
9324
+ const on = f.value === "on" && f.mixed !== true;
9325
+ return {
9326
+ label: f.label,
9327
+ check: "checkbox",
9328
+ checked: on,
9329
+ disabled: preview || f.readonly === true,
9330
+ data: { "data-menu": f.name },
9331
+ run: () => this.act({ kind: "setField", ids, field: f.name, value: on ? null : "on" }),
9332
+ };
9333
+ });
9334
+ }
9335
+ /** The effect items after `items`, in a group of their own. */
9336
+ withEffects(items) {
9337
+ const effects = this.effectItems();
9338
+ if (effects.length === 0)
9339
+ return;
9340
+ if (items.length > 0 && items[items.length - 1] !== "-")
9341
+ items.push("-");
9342
+ items.push(...effects);
9343
+ }
9183
9344
  openMenu(at) {
9345
+ this.menuOpening = { at, pill: this.menuPill, redrawn: false };
9346
+ this.menuWaits = false;
9184
9347
  if (this.readOnly) {
9185
9348
  this.openReadOnlyMenu(at);
9186
9349
  return;
@@ -9261,6 +9424,15 @@ export class CanvasApp {
9261
9424
  run: () => this.act({ kind: "setField", ids: [relation.key], field: "line", value: "dotted" }),
9262
9425
  });
9263
9426
  }
9427
+ // One relation or one free line turns around: its ends swap, its route and heads with them.
9428
+ if (this.selection.length === 1 && (relation || element?.kind === "line")) {
9429
+ items.push({
9430
+ label: words.reverseDirection,
9431
+ data: { "data-menu": "reverse" },
9432
+ run: run("reverseDirection"),
9433
+ });
9434
+ }
9435
+ this.withEffects(items);
9264
9436
  if (items.length > 0)
9265
9437
  items.push("-");
9266
9438
  items.push({ label: words.cut, key: "Ctrl+X", disabled: elementIds.length === 0, run: run("cut") }, { label: words.copy, key: "Ctrl+C", disabled: elementIds.length === 0, run: run("copy") }, {
@@ -9388,6 +9560,8 @@ export class CanvasApp {
9388
9560
  }
9389
9561
  if (!relation)
9390
9562
  items.push(...this.belowItems(at));
9563
+ // A view's relations come from the model: they take effects, and are reversed there.
9564
+ this.withEffects(items);
9391
9565
  if (items.length > 0)
9392
9566
  items.push("-");
9393
9567
  items.push({ label: commands.addFromModel, key: "A", run: () => this.addEntity(at) }, { label: words.openModel, run: () => this.post({ type: "openModel" }) }, {
@@ -9429,6 +9603,7 @@ export class CanvasApp {
9429
9603
  items.push({ label: words.putInSection, key: "Alt+G", run: run("group") });
9430
9604
  }
9431
9605
  }
9606
+ this.withEffects(items);
9432
9607
  if (element || relation)
9433
9608
  items.push("-");
9434
9609
  items.push({ label: words.addTask, key: "T", run: run("createTask") }, { label: words.addMilestone, key: "M", run: run("createMilestone") }, { label: words.addMarker, key: "V", run: run("createMarker") }, { label: words.addSection, key: "G", run: run("createGroup") }, "-");
@@ -9555,6 +9730,19 @@ export class CanvasApp {
9555
9730
  });
9556
9731
  }
9557
9732
  }
9733
+ // One message turns around: not a `return`, which follows its call, nor a message to itself.
9734
+ if (this.selection.length === 1 &&
9735
+ relation &&
9736
+ relation.returns === undefined &&
9737
+ relation.from !== relation.to) {
9738
+ items.push({
9739
+ label: words.reverseDirection,
9740
+ disabled: preview,
9741
+ data: { "data-menu": "reverse" },
9742
+ run: run("reverseDirection"),
9743
+ });
9744
+ }
9745
+ this.withEffects(items);
9558
9746
  if (items.length > 0)
9559
9747
  items.push("-");
9560
9748
  items.push({ label: words.addNote, key: "O", disabled: preview, run: run("createSequenceNote") }, {
@@ -9562,7 +9750,14 @@ export class CanvasApp {
9562
9750
  key: "F",
9563
9751
  disabled: preview,
9564
9752
  run: () => this.fragmentMenu(at),
9565
- }, { label: words.addDivider, disabled: preview, run: run("createDivider") }, { label: words.addDelay, disabled: preview, run: run("createDelay") }, "-", {
9753
+ }, { label: words.addDivider, disabled: preview, run: run("createDivider") }, { label: words.addDelay, disabled: preview, run: run("createDelay") }, {
9754
+ label: words.numberMessages,
9755
+ check: "checkbox",
9756
+ checked: (this.render?.autonumber ?? null) !== null,
9757
+ disabled: preview,
9758
+ data: { "data-menu": "number-messages" },
9759
+ run: run("toggleAutonumber"),
9760
+ }, "-", {
9566
9761
  label: words.delete,
9567
9762
  key: keys.delete,
9568
9763
  disabled: preview || this.selection.length === 0,