From 24fff3ffa0e80e409723fd2d1e2990c26eba876c Mon Sep 17 00:00:00 2001 From: Kenneth Loeffler Date: Wed, 4 Oct 2023 13:21:08 -0400 Subject: [PATCH] Add Instance::clone_multiple_into_external_dom --- src/roblox/instance/mod.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/roblox/instance/mod.rs b/src/roblox/instance/mod.rs index 2b124f8..79d39f2 100644 --- a/src/roblox/instance/mod.rs +++ b/src/roblox/instance/mod.rs @@ -144,6 +144,21 @@ impl Instance { cloned } + pub fn clone_multiple_into_external_dom( + referents: &[DomRef], + external_dom: &mut WeakDom, + ) -> Vec { + let dom = INTERNAL_DOM.lock().expect("Failed to lock document"); + + let cloned = dom.clone_multiple_into_external(referents, external_dom); + + for referent in cloned.iter() { + external_dom.transfer_within(*referent, external_dom.root_ref()); + } + + cloned + } + /** Clones the instance and all of its descendants, and orphans it.