|
|
|
@ -5,7 +5,6 @@ import { writable, get } from "svelte/store" |
|
|
|
import api from "../api" |
|
|
|
import { DEFAULT_PAGES_OBJECT } from "../../constants" |
|
|
|
import { getExactComponent } from "components/userInterface/pagesParsing/searchComponents" |
|
|
|
import { rename } from "components/userInterface/pagesParsing/renameScreen" |
|
|
|
import { |
|
|
|
createProps, |
|
|
|
makePropsSafe, |
|
|
|
@ -24,6 +23,7 @@ import { |
|
|
|
saveCurrentPreviewItem as _saveCurrentPreviewItem, |
|
|
|
saveScreenApi as _saveScreenApi, |
|
|
|
regenerateCssForCurrentScreen, |
|
|
|
renameCurrentScreen, |
|
|
|
} from "../storeUtils" |
|
|
|
|
|
|
|
export const getStore = () => { |
|
|
|
@ -52,7 +52,6 @@ export const getStore = () => { |
|
|
|
store.createDatabaseForApp = backendStoreActions.createDatabaseForApp(store) |
|
|
|
|
|
|
|
store.saveScreen = saveScreen(store) |
|
|
|
store.renameScreen = renameScreen(store) |
|
|
|
store.deleteScreen = deleteScreen(store) |
|
|
|
store.setCurrentScreen = setCurrentScreen(store) |
|
|
|
store.setCurrentPage = setCurrentPage(store) |
|
|
|
@ -63,6 +62,7 @@ export const getStore = () => { |
|
|
|
store.addChildComponent = addChildComponent(store) |
|
|
|
store.selectComponent = selectComponent(store) |
|
|
|
store.setComponentProp = setComponentProp(store) |
|
|
|
store.setPageOrScreenProp = setPageOrScreenProp(store) |
|
|
|
store.setComponentStyle = setComponentStyle(store) |
|
|
|
store.setComponentCode = setComponentCode(store) |
|
|
|
store.setScreenType = setScreenType(store) |
|
|
|
@ -207,46 +207,6 @@ const deleteScreen = store => name => { |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
const renameScreen = store => (oldname, newname) => { |
|
|
|
store.update(s => { |
|
|
|
const { screens, pages, error, changedScreens } = rename( |
|
|
|
s.pages, |
|
|
|
s.screens, |
|
|
|
oldname, |
|
|
|
newname |
|
|
|
) |
|
|
|
|
|
|
|
if (error) { |
|
|
|
// should really do something with this
|
|
|
|
return s |
|
|
|
} |
|
|
|
|
|
|
|
s.screens = screens |
|
|
|
s.pages = pages |
|
|
|
if (s.currentPreviewItem.name === oldname) |
|
|
|
s.currentPreviewItem.name = newname |
|
|
|
|
|
|
|
const saveAllChanged = async () => { |
|
|
|
for (let screenName of changedScreens) { |
|
|
|
const changedScreen = getExactComponent(screens, screenName) |
|
|
|
await api.post(`/_builder/api/${s.appId}/screen`, changedScreen) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
api |
|
|
|
.patch(`/_builder/api/${s.appId}/screen`, { |
|
|
|
oldname, |
|
|
|
newname, |
|
|
|
}) |
|
|
|
.then(() => saveAllChanged()) |
|
|
|
.then(() => { |
|
|
|
_savePage(s) |
|
|
|
}) |
|
|
|
|
|
|
|
return s |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
const savePage = store => async page => { |
|
|
|
store.update(state => { |
|
|
|
if (state.currentFrontEndType !== "page" || !state.currentPageName) { |
|
|
|
@ -400,6 +360,18 @@ const setComponentProp = store => (name, value) => { |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
const setPageOrScreenProp = store => (name, value) => { |
|
|
|
store.update(state => { |
|
|
|
if (name === "name" && state.currentFrontEndType === "screen") { |
|
|
|
state = renameCurrentScreen(value, state) |
|
|
|
} else { |
|
|
|
state.currentPreviewItem[name] = value |
|
|
|
_saveCurrentPreviewItem(state) |
|
|
|
} |
|
|
|
return state |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
const setComponentStyle = store => (type, name, value) => { |
|
|
|
store.update(state => { |
|
|
|
if (!state.currentComponentInfo._styles) { |
|
|
|
|