diff --git a/frontend/src/lib/components/apps/components/layout/AppTabs.svelte b/frontend/src/lib/components/apps/components/layout/AppTabs.svelte index 8824e89469..bbd9f71148 100644 --- a/frontend/src/lib/components/apps/components/layout/AppTabs.svelte +++ b/frontend/src/lib/components/apps/components/layout/AppTabs.svelte @@ -9,7 +9,6 @@ export let id: string export let configuration: Record - export let subGrids: GridItem[][] | undefined = undefined export let componentContainerHeight: number export let tabs: string[] diff --git a/frontend/src/lib/components/apps/editor/SettingsPanel.svelte b/frontend/src/lib/components/apps/editor/SettingsPanel.svelte index 0c4785e17e..2be73682a4 100644 --- a/frontend/src/lib/components/apps/editor/SettingsPanel.svelte +++ b/frontend/src/lib/components/apps/editor/SettingsPanel.svelte @@ -8,7 +8,6 @@ import TablePanel from './TablePanel.svelte' const { selectedComponent, app } = getContext('AppEditorContext') - $: subgridKeys = Object.keys($app.subgrids ?? {}) {#each $app.grid as gridItem (gridItem.data.id)} @@ -20,7 +19,7 @@ {/each} {#if $app.subgrids} - {#each subgridKeys as key (key)} + {#each Object.keys($app.subgrids ?? {}) as key (key)} {#each $app.subgrids[key] as gridItem (gridItem.data.id)} {#if gridItem.data.id === $selectedComponent} diff --git a/frontend/src/lib/components/apps/editor/appUtils.ts b/frontend/src/lib/components/apps/editor/appUtils.ts index 97e5cd46cf..763dd96df6 100644 --- a/frontend/src/lib/components/apps/editor/appUtils.ts +++ b/frontend/src/lib/components/apps/editor/appUtils.ts @@ -92,25 +92,26 @@ export function insertNewGridItem( ) { const id = getNextGridItemId(app) + if (!app.subgrids) { + app.subgrids = {} + } + if (!focusedGrid) { const newItem = createNewGridItem(app.grid, id, data) app.grid.push(newItem) } else { const { parentComponentId, subGridIndex } = focusedGrid - if (!app.subgrids) { - app.subgrids = {} - } - - const subGrid = app.subgrids[`${parentComponentId}-${subGridIndex}`] ?? [] - const newItem = createNewGridItem(subGrid, id, data) const key = `${parentComponentId}-${subGridIndex ?? 0}` - if (!app.subgrids[key]) { - app.subgrids[key] = [newItem] - } else { - app.subgrids[key].push(newItem) - } + const subGrid = app.subgrids[key] ?? [] + subGrid.push(createNewGridItem(subGrid, id, data)) + app.subgrids[key] = subGrid + + + } + for (let i = 0; i < (data.numberOfSubgrids ?? 0); i++) { + app.subgrids[`${id}-${i}`] = [] } return id @@ -124,8 +125,10 @@ export function getAllSubgridsAndComponentIds( let components: string[] = [component.id] if (app.subgrids && component.numberOfSubgrids) { for (let i = 0; i < component.numberOfSubgrids; i++) { - const subgrid = app.subgrids[`${component.id}-${i}`] + const key = `${component.id}-${i}` + const subgrid = app.subgrids[key] if (subgrid) { + subgrids.push(key) for (const item of subgrid) { let [recSubgrids, recComponents] = getAllSubgridsAndComponentIds(app, item.data) subgrids.push(...recSubgrids) diff --git a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte index 737f2bb6e9..2cbdf0fcb6 100644 --- a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +++ b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte @@ -25,7 +25,7 @@ Select a script on the left panel {/if} - {#each allItems($app.grid, $app.subgrids) as gridItem (gridItem.data.id)} + {#each $app.grid as gridItem (gridItem.data.id)} {#if gridItem.data.id === selectedScriptComponentId} + {/if} + + {#if gridItem.data.type === 'tablecomponent'} + {#each gridItem.data.actionButtons as actionButton, index (index)} + {#if actionButton.id === selectedScriptComponentId} + + {/if} + {/each} + {/if} + {/each} + {/each} + {/if} + {#each $app.unusedInlineScripts as unusedInlineScript, index (index)} {#if `unused-${index}` === selectedScriptComponentId}