commit
1fce90051d
|
@ -193,8 +193,8 @@ export const getFrontendStore = () => {
|
|||
)
|
||||
state.currentComponentInfo = safeProps
|
||||
screen.props = safeProps
|
||||
savePromise = store.actions.pages.save()
|
||||
}
|
||||
savePromise = store.actions.pages.save()
|
||||
|
||||
return state
|
||||
})
|
||||
|
@ -223,7 +223,7 @@ export const getFrontendStore = () => {
|
|||
// TODO: Should be done server side
|
||||
state.pages[pageName]._screens = state.pages[
|
||||
pageName
|
||||
]._screens.filter(scr => scr.name !== screenToDelete.name)
|
||||
]._screens.filter(scr => scr._id !== screenToDelete._id)
|
||||
deletePromise = api.delete(
|
||||
`/api/screens/${screenToDelete._id}/${screenToDelete._rev}`
|
||||
)
|
||||
|
@ -277,18 +277,20 @@ export const getFrontendStore = () => {
|
|||
const pageToSave = page || storeContents.pages[pageName]
|
||||
|
||||
// TODO: revisit. This sends down a very weird payload
|
||||
const response = await api
|
||||
.post(`/api/pages/${pageToSave._id}`, {
|
||||
const response = await api.post(`/api/pages/${pageToSave._id}`, {
|
||||
page: {
|
||||
componentLibraries: storeContents.pages.componentLibraries,
|
||||
...pageToSave,
|
||||
},
|
||||
screens: pageToSave._screens,
|
||||
})
|
||||
.then(response => response.json())
|
||||
|
||||
const json = await response.json()
|
||||
|
||||
if (!json.ok) throw new Error("Error updating page")
|
||||
|
||||
store.update(state => {
|
||||
state.pages[pageName]._rev = response.rev
|
||||
state.pages[pageName]._rev = json.rev
|
||||
return state
|
||||
})
|
||||
},
|
||||
|
@ -304,7 +306,6 @@ export const getFrontendStore = () => {
|
|||
return state
|
||||
})
|
||||
},
|
||||
// addChildComponent
|
||||
create: (componentToAdd, presetProps) => {
|
||||
store.update(state => {
|
||||
function findSlot(component_array) {
|
||||
|
|
|
@ -68,7 +68,6 @@
|
|||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
z-index: 1;
|
||||
min-height: 24px;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--spacing-l);
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
export let onChange = () => {}
|
||||
|
||||
let boundValue = getValidOptions(value, options)
|
||||
$: setValue(boundValue)
|
||||
$: sanitiseOptions(options)
|
||||
|
||||
function getValidOptions(selectedOptions, allOptions) {
|
||||
// Fix the hardcoded default string value
|
||||
|
@ -18,17 +16,14 @@
|
|||
return selectedOptions.filter(val => allOptions.indexOf(val) !== -1)
|
||||
}
|
||||
|
||||
function setValue(val) {
|
||||
onChange(val)
|
||||
}
|
||||
|
||||
function sanitiseOptions(options) {
|
||||
boundValue = getValidOptions(value, options)
|
||||
function setValue(value) {
|
||||
boundValue = getValidOptions(value.detail, options)
|
||||
onChange(boundValue)
|
||||
}
|
||||
</script>
|
||||
|
||||
<div>
|
||||
<Multiselect extraThin secondary bind:value={boundValue}>
|
||||
<Multiselect extraThin secondary value={boundValue} on:change={setValue}>
|
||||
{#each options as option}
|
||||
<option value={option}>{option}</option>
|
||||
{/each}
|
||||
|
|
|
@ -50,8 +50,8 @@
|
|||
const isDuplicateName = name => {
|
||||
let duplicate = false
|
||||
|
||||
const lookForDuplicate = rootPops => {
|
||||
walkProps(rootPops, (inst, cancel) => {
|
||||
const lookForDuplicate = rootProps => {
|
||||
walkProps(rootProps, (inst, cancel) => {
|
||||
if (inst._instanceName === name && inst._id !== componentInstance._id) {
|
||||
duplicate = true
|
||||
cancel()
|
||||
|
@ -62,7 +62,7 @@
|
|||
lookForDuplicate($store.pages[$store.currentPageName].props)
|
||||
if (duplicate) return true
|
||||
|
||||
// if viwing screen, check current screen for duplicate
|
||||
// if viewing screen, check current screen for duplicate
|
||||
if ($store.currentFrontEndType === "screen") {
|
||||
lookForDuplicate($store.currentPreviewItem.props)
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue