Browse Source

Preserve bindings when duplicating components

master
Andrew Kingston 5 years ago
parent
commit
8b4bd84ab5
  1. 4
      packages/builder/src/builderStore/store/frontend.js
  2. 6
      packages/builder/src/components/design/NavigationPanel/ComponentDropdownMenu.svelte

4
packages/builder/src/builderStore/store/frontend.js

@ -524,7 +524,7 @@ export const getFrontendStore = () => {
}
}
},
paste: async (targetComponent, mode) => {
paste: async (targetComponent, mode, preserveBindings = false) => {
let promises = []
store.update(state => {
// Stop if we have nothing to paste
@ -536,7 +536,7 @@ export const getFrontendStore = () => {
const cut = state.componentToPaste.isCut
// immediately need to remove bindings, currently these aren't valid when pasted
if (!cut) {
if (!cut && !preserveBindings) {
state.componentToPaste = removeBindings(state.componentToPaste)
}

6
packages/builder/src/components/design/NavigationPanel/ComponentDropdownMenu.svelte

@ -53,7 +53,7 @@
const duplicateComponent = () => {
storeComponentForCopy(false)
pasteComponent("below")
pasteComponent("below", true)
}
const deleteComponent = async () => {
@ -69,9 +69,9 @@
store.actions.components.copy(component, cut)
}
const pasteComponent = mode => {
const pasteComponent = (mode, preserveBindings = false) => {
// lives in store - also used by drag drop
store.actions.components.paste(component, mode)
store.actions.components.paste(component, mode, preserveBindings)
}
</script>

Loading…
Cancel
Save