@@ -38,6 +38,9 @@ All features can be enabled/disabled in the settings.
3838 - Database shape
3939- [ Presentation mode] ( #presentation )
4040 - Create presentations by connecting nodes with arrows
41+ - [ Portals] ( #portals )
42+ - Embed other canvases inside your canvas
43+ - Create edges (arrows) to the embedded canvas
4144- [ Better readonly] ( #better-readonly )
4245 - Disable node popup menus
4346 - Lock the canvas' position
@@ -160,6 +163,14 @@ In presentation mode, you can navigate through the nodes using the arrow keys. T
160163 - Change slides using the arrow keys
161164 - Exit the presentation using the ` ESC ` key
162165
166+ ## Portals
167+ Embed other canvases inside your canvas and create edges (arrows) to the embedded canvas.
168+
169+ <img src =" ./assets/sample-portal-usage.png " alt =" Portal example " />
170+
171+ ### Usage
172+ - Embed a canvas file and click on the door icon of the popup menu to open a portal
173+
163174## Better Readonly
164175- Disable node popup menus
165176- Lock the canvas' position
@@ -180,28 +191,60 @@ Move the current selection to a new canvas and create a link in the current canv
180191## Canvas Events
181192All custom events are prefixed with ` advanced-canvas: ` and can be listened to using ` app.workspace.on ` (Just like the default events).
182193
183- Events:
184- - ` advanced-canvas:canvas-changed `
185- - Fired when a new canvas gets loaded
186- - Payload: ` Canvas `
187- - ` advanced-canvas:viewport-changed:before ` and ` advanced-canvas:viewport-changed:after `
188- - Fired before and after the viewport gets changed
189- - Payload: ` Canvas `
190- - ` advanced-canvas:zoom-to-bbox:before ` and ` advanced-canvas:zoom-to-bbox:after `
191- - Fired before and after the canvas gets zoomed to a bounding box (e.g. zoom to selection, zoom to fit all)
192- - Payload: ` Canvas ` , ` BBox `
193- - ` advanced-canvas:popup-menu-created `
194- - Fired when the a node popup menu gets created (Not firing multiple times if it gets moved between nodes of the same type)
195- - Payload: ` Canvas ` , ` Node `
196- - ` advanced-canvas:nodes-changed `
197- - Fired when any node gets changed
198- - Payload: ` Canvas ` , ` Node[] `
199- - ` advanced-canvas:node-interaction `
200- - Fired when a node gets hovered over
201- - Payload: ` Canvas ` , ` Node `
202- - ` advanced-canvas:readonly-changed `
203- - Fired when the readonly state of the canvas changes
204- - Payload: ` Canvas ` , ` boolean `
194+ <details >
195+ <summary>
196+ All Events (19)
197+ </summary>
198+
199+ - ` advanced-canvas:canvas-changed `
200+ - Fired when a new canvas gets loaded
201+ - Payload: ` Canvas `
202+ - ` advanced-canvas:viewport-changed:before ` and ` advanced-canvas:viewport-changed:after `
203+ - Fired before and after the viewport gets changed
204+ - Payload: ` Canvas `
205+ - ` advanced-canvas:node-moved `
206+ - Fired when a node gets moved
207+ - Payload: ` Canvas ` , ` Node `
208+ - ` advanced-canvas:dragging-state-changed `
209+ - Fired when the dragging state of the canvas changes
210+ - Payload: ` Canvas ` , ` boolean `
211+ - ` advanced-canvas:node-removed `
212+ - Fired when a node gets removed
213+ - Payload: ` Canvas ` , ` Node `
214+ - ` advanced-canvas:selection-changed `
215+ - Fired when the selection of the canvas changes
216+ - Payload: ` Canvas ` , ` updateSelection: (() => void) => void `
217+ - ` advanced-canvas:zoom-to-bbox:before ` and ` advanced-canvas:zoom-to-bbox:after `
218+ - Fired before and after the canvas gets zoomed to a bounding box (e.g. zoom to selection, zoom to fit all)
219+ - Payload: ` Canvas ` , ` BBox `
220+ - ` advanced-canvas:popup-menu-created `
221+ - Fired when the a node popup menu gets created (Not firing multiple times if it gets moved between nodes of the same type)
222+ - Payload: ` Canvas ` , ` Node `
223+ - ` advanced-canvas:nodes-changed `
224+ - Fired when any node gets changed
225+ - Payload: ` Canvas ` , ` Node[] `
226+ - ` advanced-canvas:node-interaction `
227+ - Fired when a node gets hovered over
228+ - Payload: ` Canvas ` , ` Node `
229+ - ` advanced-canvas:undo `
230+ - Fired when undo gets called
231+ - Payload: ` Canvas `
232+ - ` advanced-canvas:redo `
233+ - Fired when redo gets called
234+ - Payload: ` Canvas `
235+ - ` advanced-canvas:readonly-changed `
236+ - Fired when the readonly state of the canvas changes
237+ - Payload: ` Canvas ` , ` boolean `
238+ - ` advanced-canvas:data-requested `
239+ - Fired when the canvas data gets requested
240+ - Payload: ` Canvas ` , ` CanvasData (Reference!) `
241+ - ` advanced-canvas:load-data `
242+ - Fired when the canvas data gets set
243+ - Payload: ` Canvas ` , ` CanvasData (Reference!) ` , ` setData: (CanvasData) => void `
244+ - ` advanced-canvas:canvas-saved:before ` and ` advanced-canvas:canvas-saved:after `
245+ - Fired before and after the canvas gets saved
246+ - Payload: ` Canvas `
247+ </details >
205248
206249## Settings
207250Every feature can be enabled/disabled in the settings. All features were made to be as customizable as possible.
0 commit comments