Merge pull request #287 from mjashanks/master

Bugfixes
This commit is contained in:
Michael Shanks 2020-06-02 11:20:36 +01:00 committed by GitHub
commit be28e2dcdd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 25 additions and 16 deletions

View File

@ -30,7 +30,10 @@ export const getBackendUiStore = () => {
const views = await viewsResponse.json()
store.update(state => {
state.selectedDatabase = db
state.selectedModel = models && models.length > 0 && models[0]
if (models && models.length > 0) {
state.selectedModel = models[0]
state.selectedView = `${models[0]._id}`
}
state.breadcrumbs = [db.name]
state.models = models
state.views = views
@ -73,6 +76,7 @@ export const getBackendUiStore = () => {
state.models.push(model)
state.models = state.models
state.selectedModel = model
state.selectedView = `${model._id}`
return state
}),
},

View File

@ -23,6 +23,7 @@ import {
savePage as _savePage,
saveCurrentPreviewItem as _saveCurrentPreviewItem,
saveScreenApi as _saveScreenApi,
regenerateCssForCurrentScreen,
} from "../storeUtils"
export const getStore = () => {
@ -173,11 +174,10 @@ const createScreen = store => (screenName, route, layoutComponentName) => {
const setCurrentScreen = store => screenName => {
store.update(s => {
const screen = getExactComponent(s.screens, screenName)
screen._css = generate_screen_css([screen.props])
s.currentPreviewItem = screen
s.currentFrontEndType = "screen"
s.currentView = "detail"
regenerateCssForCurrentScreen(s)
const safeProps = makePropsSafe(
s.components[screen.props._component],
screen.props
@ -295,9 +295,7 @@ const setCurrentPage = store => pageName => {
state.currentComponentInfo = safeProps
currentPage.props = safeProps
state.currentPreviewItem = state.pages[pageName]
state.currentPreviewItem._css = generate_screen_css([
state.currentPreviewItem.props,
])
regenerateCssForCurrentScreen(state)
for (let screen of state.screens) {
screen._css = generate_screen_css([screen.props])
@ -374,9 +372,7 @@ const addTemplatedComponent = store => props => {
state.currentComponentInfo._children = state.currentComponentInfo._children.concat(
props
)
state.currentPreviewItem._css = generate_screen_css([
state.currentPreviewItem.props,
])
regenerateCssForCurrentScreen(state)
setCurrentPageFunctions(state)
_saveCurrentPreviewItem(state)
@ -410,9 +406,7 @@ const setComponentStyle = store => (type, name, value) => {
}
state.currentComponentInfo._styles[type][name] = value
state.currentPreviewItem._css = generate_screen_css([
state.currentPreviewItem.props,
])
regenerateCssForCurrentScreen(state)
// save without messing with the store
_saveCurrentPreviewItem(state)

View File

@ -1,5 +1,6 @@
import { makePropsSafe } from "components/userInterface/pagesParsing/createProps"
import api from "./api"
import { generate_screen_css } from "./generate_css"
export const selectComponent = (state, component) => {
const componentDef = component._component.startsWith("##")
@ -57,3 +58,10 @@ export const walkProps = (props, action, cancelToken = null) => {
}
}
}
export const regenerateCssForCurrentScreen = state => {
state.currentPreviewItem._css = generate_screen_css([
state.currentPreviewItem.props,
])
return state
}

View File

@ -72,6 +72,7 @@
.panel {
min-height: 0;
height: 100%;
overflow-y: auto;
}
</style>

View File

@ -10,6 +10,7 @@
getParent,
walkProps,
saveCurrentPreviewItem,
regenerateCssForCurrentScreen,
} from "builderStore/storeUtils"
import { uuid } from "builderStore/uuid"
@ -29,8 +30,7 @@
$: noChildrenAllowed =
!component ||
getComponentDefinition($store, component._component).children === false
$: noPaste =
!$store.componentToPaste || $store.componentToPaste._id === component._id
$: noPaste = !$store.componentToPaste
const lastPartOfName = c => (c ? last(c._component.split("/")) : "")
@ -86,6 +86,7 @@
parent._children = [...parent._children, copiedComponent]
saveCurrentPreviewItem(s)
s.currentComponentInfo = copiedComponent
regenerateCssForCurrentScreen(s)
return s
})
}
@ -141,10 +142,10 @@
const targetIndex = parent._children.indexOf(component)
const index = mode === "above" ? targetIndex : targetIndex + 1
parent._children.splice(index, 0, cloneDeep(componentToPaste))
regenerateCssForCurrentScreen(s)
saveCurrentPreviewItem(s)
selectComponent(s, componentToPaste)
return s
})
}

View File

@ -82,6 +82,7 @@
<style>
.root {
min-height: 100%;
height: 100%;
width: 100%;
display: flex;
flex-direction: column;