Merge branch 'side-panel' of github.com:Budibase/budibase into cheeks-lab-day-spreadsheet
This commit is contained in:
commit
17b0647e74
|
@ -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,
|
||||
|
|
|
@ -5189,7 +5189,7 @@
|
|||
},
|
||||
"sidepanel": {
|
||||
"name": "Side Panel",
|
||||
"icon": "AdDisplay",
|
||||
"icon": "RailRight",
|
||||
"hasChildren": true,
|
||||
"illegalChildren": [
|
||||
"section"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue