@@ -9,6 +9,7 @@ const NODE_TYPES_ON_DOUBLE_CLICK = {
99
1010export interface AdvancedCanvasPluginSettings {
1111 nodeTypeOnDoubleClick : string
12+ alignDoubleClickedNodeToGrid : boolean
1213 defaultTextNodeWidth : number
1314 defaultTextNodeHeight : number
1415 defaultFileNodeWidth : number
@@ -60,6 +61,7 @@ export interface AdvancedCanvasPluginSettings {
6061
6162export const DEFAULT_SETTINGS : Partial < AdvancedCanvasPluginSettings > = {
6263 nodeTypeOnDoubleClick : Object . keys ( NODE_TYPES_ON_DOUBLE_CLICK ) . first ( ) ,
64+ alignDoubleClickedNodeToGrid : true ,
6365 defaultTextNodeWidth : 260 ,
6466 defaultTextNodeHeight : 60 ,
6567 defaultFileNodeWidth : 400 ,
@@ -171,6 +173,15 @@ export class AdvancedCanvasPluginSettingTab extends PluginSettingTab {
171173 . setValue ( this . settingsManager . getSetting ( 'nodeTypeOnDoubleClick' ) )
172174 . onChange ( async ( value ) => await this . settingsManager . setSetting ( { nodeTypeOnDoubleClick : value } ) )
173175 )
176+
177+ new Setting ( containerEl )
178+ . setName ( "Align node, created by double click, to grid" )
179+ . setDesc ( "When enabled, a node created by double clicking will be aligned to the grid." )
180+ . addToggle ( ( toggle ) =>
181+ toggle
182+ . setValue ( this . settingsManager . getSetting ( 'alignDoubleClickedNodeToGrid' ) )
183+ . onChange ( async ( value ) => await this . settingsManager . setSetting ( { alignDoubleClickedNodeToGrid : value } ) )
184+ )
174185
175186 new Setting ( containerEl )
176187 . setName ( "Default text node width" )
0 commit comments