bugfix: #284 styles not applied on component copy
This commit is contained in:
parent
fea0203096
commit
9b31da4632
|
@ -23,6 +23,7 @@ import {
|
||||||
savePage as _savePage,
|
savePage as _savePage,
|
||||||
saveCurrentPreviewItem as _saveCurrentPreviewItem,
|
saveCurrentPreviewItem as _saveCurrentPreviewItem,
|
||||||
saveScreenApi as _saveScreenApi,
|
saveScreenApi as _saveScreenApi,
|
||||||
|
regenerateCssForCurentScreen,
|
||||||
} from "../storeUtils"
|
} from "../storeUtils"
|
||||||
|
|
||||||
export const getStore = () => {
|
export const getStore = () => {
|
||||||
|
@ -174,11 +175,10 @@ const createScreen = store => (screenName, route, layoutComponentName) => {
|
||||||
const setCurrentScreen = store => screenName => {
|
const setCurrentScreen = store => screenName => {
|
||||||
store.update(s => {
|
store.update(s => {
|
||||||
const screen = getExactComponent(s.screens, screenName)
|
const screen = getExactComponent(s.screens, screenName)
|
||||||
screen._css = generate_screen_css([screen.props])
|
|
||||||
s.currentPreviewItem = screen
|
s.currentPreviewItem = screen
|
||||||
s.currentFrontEndType = "screen"
|
s.currentFrontEndType = "screen"
|
||||||
s.currentView = "detail"
|
s.currentView = "detail"
|
||||||
|
regenerateCssForCurentScreen(s)
|
||||||
const safeProps = makePropsSafe(
|
const safeProps = makePropsSafe(
|
||||||
s.components[screen.props._component],
|
s.components[screen.props._component],
|
||||||
screen.props
|
screen.props
|
||||||
|
@ -296,9 +296,7 @@ const setCurrentPage = store => pageName => {
|
||||||
state.currentComponentInfo = safeProps
|
state.currentComponentInfo = safeProps
|
||||||
currentPage.props = safeProps
|
currentPage.props = safeProps
|
||||||
state.currentPreviewItem = state.pages[pageName]
|
state.currentPreviewItem = state.pages[pageName]
|
||||||
state.currentPreviewItem._css = generate_screen_css([
|
regenerateCssForCurentScreen(state)
|
||||||
state.currentPreviewItem.props,
|
|
||||||
])
|
|
||||||
|
|
||||||
for (let screen of state.screens) {
|
for (let screen of state.screens) {
|
||||||
screen._css = generate_screen_css([screen.props])
|
screen._css = generate_screen_css([screen.props])
|
||||||
|
@ -375,9 +373,7 @@ const addTemplatedComponent = store => props => {
|
||||||
state.currentComponentInfo._children = state.currentComponentInfo._children.concat(
|
state.currentComponentInfo._children = state.currentComponentInfo._children.concat(
|
||||||
props
|
props
|
||||||
)
|
)
|
||||||
state.currentPreviewItem._css = generate_screen_css([
|
regenerateCssForCurentScreen(state)
|
||||||
state.currentPreviewItem.props,
|
|
||||||
])
|
|
||||||
|
|
||||||
setCurrentPageFunctions(state)
|
setCurrentPageFunctions(state)
|
||||||
_saveCurrentPreviewItem(state)
|
_saveCurrentPreviewItem(state)
|
||||||
|
@ -411,9 +407,7 @@ const setComponentStyle = store => (type, name, value) => {
|
||||||
}
|
}
|
||||||
state.currentComponentInfo._styles[type][name] = value
|
state.currentComponentInfo._styles[type][name] = value
|
||||||
|
|
||||||
state.currentPreviewItem._css = generate_screen_css([
|
regenerateCssForCurentScreen(state)
|
||||||
state.currentPreviewItem.props,
|
|
||||||
])
|
|
||||||
|
|
||||||
// save without messing with the store
|
// save without messing with the store
|
||||||
_saveCurrentPreviewItem(state)
|
_saveCurrentPreviewItem(state)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { makePropsSafe } from "components/userInterface/pagesParsing/createProps"
|
import { makePropsSafe } from "components/userInterface/pagesParsing/createProps"
|
||||||
import api from "./api"
|
import api from "./api"
|
||||||
|
import { generate_screen_css } from "./generate_css"
|
||||||
|
|
||||||
export const selectComponent = (state, component) => {
|
export const selectComponent = (state, component) => {
|
||||||
const componentDef = component._component.startsWith("##")
|
const componentDef = component._component.startsWith("##")
|
||||||
|
@ -57,3 +58,10 @@ export const walkProps = (props, action, cancelToken = null) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const regenerateCssForCurentScreen = state => {
|
||||||
|
state.currentPreviewItem._css = generate_screen_css([
|
||||||
|
state.currentPreviewItem.props,
|
||||||
|
])
|
||||||
|
return state
|
||||||
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
getParent,
|
getParent,
|
||||||
walkProps,
|
walkProps,
|
||||||
saveCurrentPreviewItem,
|
saveCurrentPreviewItem,
|
||||||
|
regenerateCssForCurentScreen,
|
||||||
} from "builderStore/storeUtils"
|
} from "builderStore/storeUtils"
|
||||||
import { uuid } from "builderStore/uuid"
|
import { uuid } from "builderStore/uuid"
|
||||||
|
|
||||||
|
@ -29,8 +30,7 @@
|
||||||
$: noChildrenAllowed =
|
$: noChildrenAllowed =
|
||||||
!component ||
|
!component ||
|
||||||
getComponentDefinition($store, component._component).children === false
|
getComponentDefinition($store, component._component).children === false
|
||||||
$: noPaste =
|
$: noPaste = !$store.componentToPaste
|
||||||
!$store.componentToPaste || $store.componentToPaste._id === component._id
|
|
||||||
|
|
||||||
const lastPartOfName = c => (c ? last(c._component.split("/")) : "")
|
const lastPartOfName = c => (c ? last(c._component.split("/")) : "")
|
||||||
|
|
||||||
|
@ -86,6 +86,7 @@
|
||||||
parent._children = [...parent._children, copiedComponent]
|
parent._children = [...parent._children, copiedComponent]
|
||||||
saveCurrentPreviewItem(s)
|
saveCurrentPreviewItem(s)
|
||||||
s.currentComponentInfo = copiedComponent
|
s.currentComponentInfo = copiedComponent
|
||||||
|
regenerateCssForCurentScreen(s)
|
||||||
return s
|
return s
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -141,7 +142,7 @@
|
||||||
const targetIndex = parent._children.indexOf(component)
|
const targetIndex = parent._children.indexOf(component)
|
||||||
const index = mode === "above" ? targetIndex : targetIndex + 1
|
const index = mode === "above" ? targetIndex : targetIndex + 1
|
||||||
parent._children.splice(index, 0, cloneDeep(componentToPaste))
|
parent._children.splice(index, 0, cloneDeep(componentToPaste))
|
||||||
|
regenerateCssForCurentScreen(s)
|
||||||
saveCurrentPreviewItem(s)
|
saveCurrentPreviewItem(s)
|
||||||
selectComponent(s, componentToPaste)
|
selectComponent(s, componentToPaste)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue