File tree Expand file tree Collapse file tree 2 files changed +18
-7
lines changed
packages/svelte-file-tree/src/lib/components Expand file tree Collapse file tree 2 files changed +18
-7
lines changed Original file line number Diff line number Diff line change 9595 }
9696 },
9797 shouldClearClipboard = (operation ) => operation === " cut" ,
98- onResolveNameConflict = () => " cancel " ,
98+ onResolveNameConflict = () => " default " ,
9999 onCircularReference = noop,
100100 canCopy = truePredicate,
101101 onCopy = noop,
308308 }
309309 }
310310
311- const name = current .node .name ;
311+ const node = current .node ;
312+ let name = node .name ;
312313 if (uniqueNames .has (name)) {
313314 const resolution = await onResolveNameConflict ({
314315 operation: " copy" ,
322323 case " cancel" : {
323324 return false ;
324325 }
326+ case " default" : {
327+ name = ` ${ node .name } copy` ;
328+ for (let i = 2 ; uniqueNames .has (name); i++ ) {
329+ name = ` ${ node .name } copy ${ i} ` ;
330+ }
331+ node .name = name;
332+ break ;
333+ }
325334 }
326335 }
327336
328337 uniqueNames .add (name);
329338 sources .push (current);
330- copies .push (copyNode (current . node ));
339+ copies .push (copyNode (node));
331340 }
332341
333342 if (sources .length === 0 ) {
384393 }
385394 }
386395
387- const name = current .node .name ;
396+ const node = current .node ;
397+ const name = node .name ;
388398 if (uniqueNames .has (name)) {
389399 const resolution = await onResolveNameConflict ({
390400 operation: " move" ,
395405 case " skip" : {
396406 continue ;
397407 }
398- case " cancel" : {
408+ case " cancel" :
409+ case " default" : {
399410 return false ;
400411 }
401412 }
402413 }
403414
404415 uniqueNames .add (name);
405416 sources .push (current);
406- sourceIds .add (current . node .id );
417+ sourceIds .add (node .id );
407418 sourceParents .add (current .parent );
408419 }
409420
Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ export type OnResolveNameConflictArgs<
3131 name : string ;
3232} ;
3333
34- export type NameConflictResolution = "skip" | "cancel" ;
34+ export type NameConflictResolution = "skip" | "cancel" | "default" ;
3535
3636export type OnCircularReferenceArgs <
3737 TFile extends FileNode = FileNode ,
You can’t perform that action at this time.
0 commit comments