Skip to content

Commit f8cb492

Browse files
Merge remote-tracking branch 'origin/main' into feat/ios-icon-update
# Conflicts: # README.md # docs/src/pages/index.tsx # docs/user/overview.md # standalone/webapp/ios/App/Podfile # standalone/webapp/ios/App/Podfile.lock
2 parents 0eb5fe3 + f7fd4a5 commit f8cb492

469 files changed

Lines changed: 24986 additions & 6042 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@tumaet/apollon": patch
3+
---
4+
5+
Keep the zoom, undo and minimap controls pinned to the bottom of the canvas in embedded editors. An editor mounted below the fold mistook the gap between its bottom edge and the window for an on-screen keyboard and reserved that whole gap as padding, stranding the controls mid-diagram — and scrolling the editor into view never cleared it. The editor now reserves only the part of the canvas a keyboard actually covers.

.changeset/class-abstract-and-keywords.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

.changeset/config.json

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,10 @@
33
"changelog": ["@changesets/changelog-github", { "repo": "ls1intum/Apollon" }],
44
"access": "public",
55
"baseBranch": "main",
6-
"fixed": [["@tumaet/webapp", "@tumaet/server"]],
6+
"fixed": [
7+
["@tumaet/apollon", "@tumaet/webapp", "@tumaet/server", "apollon-extension"]
8+
],
79
"updateInternalDependencies": "patch",
810
"privatePackages": { "version": true, "tag": false },
9-
"ignore": [
10-
"@tumaet/apollon-docs",
11-
"apollon-vscode",
12-
"apollon-vscode-menu",
13-
"apollon-vscode-editor"
14-
]
11+
"ignore": ["@tumaet/docs", "@tumaet/vscode-webview"]
1512
}

.changeset/curly-lions-tap.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@tumaet/apollon": minor
3+
---
4+
5+
Tap a palette element to place it. Clicking (or tapping) an element in the palette now drops it in the centre of the visible canvas and selects it, instead of leaving it hidden underneath the palette. Dragging still places the element exactly where you drop it. Placing several elements in a row cascades them diagonally so they never stack on top of one another, and palette entries are now keyboard-operable — focus one and press Enter or Space to add it.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@tumaet/webapp": minor
3+
---
4+
5+
Drag a `.json` diagram exported from Apollon anywhere onto the app to import it — it opens as a new diagram, leaving whatever you had open untouched. A drop overlay confirms the target, and the File-menu "Import" item takes the same path.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@tumaet/apollon": minor
3+
---
4+
5+
Duplicates the selection with Ctrl/Cmd+D — edges between the duplicated elements included — and puts the viewport on the keyboard: Ctrl/Cmd+= and Ctrl/Cmd+- to zoom, Ctrl/Cmd+0 for 100%, Ctrl/Cmd+Shift+1 and Ctrl/Cmd+Shift+2 to fit the diagram or the selection. Esc still clears the selection, which Ctrl/Cmd+D used to do. Zooming, copying and selecting now work on a read-only diagram, shortcuts stay out of open dialogs and half-typed IME characters, and holding a key repeats only undo, redo and zoom.
6+
7+
For embedders: `APOLLON_SHORTCUTS` lists every key the editor consumes, alongside `matchesShortcutCombo`, `isTypingTarget`, `isInsideOverlay` and `shortcutKeyName` — enough to render a shortcut sheet that tracks the editor, or to bind your own keys under the same rules. Pass `keyboardShortcuts: false` to keep the editor off the keyboard entirely.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@tumaet/apollon": minor
3+
---
4+
5+
Adds element tags — short labels you attach to a class, an attribute, or a method, where many elements can share the same one. Tag every member a programming test covers, then ask the editor for that tag with `editor.getElementIdsByTag("testAttributes[Context]")` and hand the result straight to `setElementHighlights`. That is enough to repaint a sample solution green, red, or grey from each build result, so the same diagram can show a different picture to every student without the saved model ever changing.
6+
7+
Tag authoring is off by default and enabled with the new `tags` option: `true` for free-form tags, or an object to offer a fixed vocabulary (`available`) and decide whether users may create their own (`allowCreate`). A host can also set tags without the UI via `editor.setElementTags(id, tags)`. When enabled, each class, attribute, and method gets a tag button beside its color control that opens a tag picker, and its tags show as removable chips under the row. Colors are now edited in a popover too, so the edit panel no longer grows inline. Tags are part of the diagram, so they survive export, import, and copy/paste — and a diagram with no tags is untouched.

.changeset/fix-canvas-jump-first-node.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/fix-node-toolbar-click-through.md

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@tumaet/apollon": patch
3+
---
4+
5+
Fixed resize handles across every node. Borders that can't resize no longer show a resize cursor — a class's height is driven by its attributes and methods, so its top and bottom borders used to offer a vertical-resize cursor and a drag that did nothing. Content-sized nodes keep their corner handles and resize only along the axis that can change. And on filled nodes such as activity swimlanes, the edge you drag to resize is now grabbable instead of hiding behind the node — previously only the corners worked.

0 commit comments

Comments
 (0)