1
0
Fork 0
mirror of synced 2024-10-05 12:34:50 +13:00

Merge branch 'side-panel' of github.com:Budibase/budibase into cheeks-lab-day-spreadsheet

This commit is contained in:
Andrew Kingston 2022-11-24 14:49:20 +00:00
commit 17b0647e74
5 changed files with 18 additions and 16 deletions

View file

@ -23,7 +23,7 @@ export const DEFINITIONS: MigrationDefinition[] = [
},
{
type: MigrationType.APP,
name: MigrationName.TABLE_SETTINGS,
name: MigrationName.TABLE_SETTINGS_LINKS_TO_ACTIONS,
},
{
type: MigrationType.GLOBAL,

View file

@ -5189,7 +5189,7 @@
},
"sidepanel": {
"name": "Side Panel",
"icon": "AdDisplay",
"icon": "RailRight",
"hasChildren": true,
"illegalChildren": [
"section"

View file

@ -39,25 +39,25 @@ export const run = async (appDb: any) => {
}
// Recursively update any relevant components and mutate the screen docs
screens.forEach((screen: any) => {
migrateTableSettings(screen.props, screen)
for (let screen of screens) {
const changed = migrateTableSettings(screen.props)
// Save screen if we updated it
if (screen.touched) {
delete screen.touched
appDb.put(screen)
if (changed) {
await appDb.put(screen)
console.log(
`Screen ${screen.routing?.route} contained table settings which were migrated`
)
}
})
}
}
// Recursively searches and mutates a screen doc to migrate table component
// and table block settings
const migrateTableSettings = (component: any, screen: any) => {
const migrateTableSettings = (component: any) => {
let changed = false
if (!component) {
return
return changed
}
// Migration 1: migrate table row click settings
@ -70,7 +70,7 @@ const migrateTableSettings = (component: any, screen: any) => {
const column = linkColumn || "_id"
const action = convertLinkSettingToAction(linkURL, !!linkPeek, column)
if (action) {
screen.touched = true
changed = true
component.onClick = action
if (component._component.endsWith("/tableblock")) {
component.clickBehaviour = "actions"
@ -93,7 +93,7 @@ const migrateTableSettings = (component: any, screen: any) => {
!!titleButtonPeek
)
if (action) {
screen.touched = true
changed = true
component.onClickTitleButton = action
component.titleButtonClickBehaviour = "actions"
}
@ -102,8 +102,10 @@ const migrateTableSettings = (component: any, screen: any) => {
// Recurse down the tree as needed
component._children?.forEach((child: any) => {
migrateTableSettings(child, screen)
const childChanged = migrateTableSettings(child)
changed = changed || childChanged
})
return changed
}
// Util ti convert the legacy settings into a navigation action structure

View file

@ -74,10 +74,10 @@ export const buildMigrations = () => {
})
break
}
case MigrationName.TABLE_SETTINGS: {
case MigrationName.TABLE_SETTINGS_LINKS_TO_ACTIONS: {
serverMigrations.push({
...definition,
appOpts: { all: true },
appOpts: { dev: true },
fn: tableSettings.run,
})
break

View file

@ -44,7 +44,7 @@ export enum MigrationName {
EVENT_GLOBAL_BACKFILL = "event_global_backfill",
EVENT_INSTALLATION_BACKFILL = "event_installation_backfill",
GLOBAL_INFO_SYNC_USERS = "global_info_sync_users",
TABLE_SETTINGS = "table_settings",
TABLE_SETTINGS_LINKS_TO_ACTIONS = "table_settings_links_to_actions",
// increment this number to re-activate this migration
SYNC_QUOTAS = "sync_quotas_1",
}