From c6f88e2679efe78e5319665ea754c19d7b2ed138 Mon Sep 17 00:00:00 2001 From: Emmy Leke Date: Fri, 16 Dec 2022 19:01:49 +0100 Subject: [PATCH] Add tab block to compose --- .../compose/src/assets/PageBlocks/Tabs.png | Bin 0 -> 163292 bytes .../compose/src/assets/PageBlocks/index.js | 1 + .../Admin/Page/Builder/Selector.vue | 18 +- .../compose/src/components/Chart/index.vue | 4 +- .../compose/src/components/Common/Grid.vue | 42 ++- .../components/PageBlocks/Configurator.vue | 17 + .../src/components/PageBlocks/TabsBase.vue | 87 +++++ .../PageBlocks/TabsConfigurator.vue | 337 ++++++++++++++++++ .../src/components/PageBlocks/index.js | 4 + client/web/compose/src/lib/tabs.js | 8 + .../compose/src/views/Admin/Pages/Builder.vue | 239 ++++++++++--- lib/js/src/compose/helpers/idgen.ts | 4 + lib/js/src/compose/types/page-block/base.ts | 29 ++ .../types/page-block/calendar/page-block.ts | 2 + lib/js/src/compose/types/page-block/chart.ts | 6 +- lib/js/src/compose/types/page-block/index.ts | 5 +- .../src/compose/types/page-block/progress.ts | 2 +- .../types/page-block/record-revisions.ts | 1 + lib/js/src/compose/types/page-block/tabs.ts | 53 +++ locale/en/corteza-webapp-compose/block.yaml | 53 +++ locale/en/corteza-webapp-compose/page.yaml | 1 + server/compose/types/page.go | 4 +- 22 files changed, 849 insertions(+), 68 deletions(-) create mode 100644 client/web/compose/src/assets/PageBlocks/Tabs.png create mode 100644 client/web/compose/src/components/PageBlocks/TabsBase.vue create mode 100644 client/web/compose/src/components/PageBlocks/TabsConfigurator.vue create mode 100644 client/web/compose/src/lib/tabs.js create mode 100644 lib/js/src/compose/helpers/idgen.ts create mode 100644 lib/js/src/compose/types/page-block/tabs.ts diff --git a/client/web/compose/src/assets/PageBlocks/Tabs.png b/client/web/compose/src/assets/PageBlocks/Tabs.png new file mode 100644 index 0000000000000000000000000000000000000000..17023c94df772a6ded9b06ec4816b523abddfdaa GIT binary patch literal 163292 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

#}yKZnb|sd)!LeI)x(g7nS$K}C}aavi83 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 literal 0 HcmV?d00001 diff --git a/client/web/compose/src/assets/PageBlocks/index.js b/client/web/compose/src/assets/PageBlocks/index.js index 5cbb221c9..bc457aac6 100644 --- a/client/web/compose/src/assets/PageBlocks/index.js +++ b/client/web/compose/src/assets/PageBlocks/index.js @@ -15,4 +15,5 @@ export const Report = require('./Report.png') export const Progress = require('./Progress.png') export const Nylas = require('./Nylas.jpg') export const Geometry = require('./Geometry.png') +export const Tabs = require('./Tabs.png') export const Navigation = require('./Navigation.png') diff --git a/client/web/compose/src/components/Admin/Page/Builder/Selector.vue b/client/web/compose/src/components/Admin/Page/Builder/Selector.vue index ca4a8aaff..698f6d520 100644 --- a/client/web/compose/src/components/Admin/Page/Builder/Selector.vue +++ b/client/web/compose/src/components/Admin/Page/Builder/Selector.vue @@ -8,7 +8,7 @@ [], + }, }, data () { @@ -149,6 +154,11 @@ export default { block: new compose.PageBlockGeometry(), image: images.Geometry, }, + { + label: this.$t('tabs.label'), + block: new compose.PageBlockTab(), + image: images.Tabs, + }, { label: this.$t('navigation.label'), block: new compose.PageBlockNavigation(), @@ -157,5 +167,11 @@ export default { ], } }, + + methods: { + isOptionDisabled (type) { + return (!this.recordPage && type.recordPageOnly) || this.disabledKinds.includes(type.block.kind) + }, + }, } diff --git a/client/web/compose/src/components/Chart/index.vue b/client/web/compose/src/components/Chart/index.vue index 496a9c62e..cad39a814 100644 --- a/client/web/compose/src/components/Chart/index.vue +++ b/client/web/compose/src/components/Chart/index.vue @@ -1,5 +1,7 @@

+ + + + {{ $t('general.tabbed.label') }} + + @@ -215,6 +228,10 @@ export default { { value: 'fullscreen', text: this.$t('general.magnifyOptions.fullscreen') }, ] }, + + showTabOption () { + return this.block.kind !== 'Tabs' && this.block.meta !== undefined + }, }, methods: { diff --git a/client/web/compose/src/components/PageBlocks/TabsBase.vue b/client/web/compose/src/components/PageBlocks/TabsBase.vue new file mode 100644 index 000000000..a6bcabad3 --- /dev/null +++ b/client/web/compose/src/components/PageBlocks/TabsBase.vue @@ -0,0 +1,87 @@ + + + diff --git a/client/web/compose/src/components/PageBlocks/TabsConfigurator.vue b/client/web/compose/src/components/PageBlocks/TabsConfigurator.vue new file mode 100644 index 000000000..cfb980aa3 --- /dev/null +++ b/client/web/compose/src/components/PageBlocks/TabsConfigurator.vue @@ -0,0 +1,337 @@ + + + + + diff --git a/client/web/compose/src/components/PageBlocks/index.js b/client/web/compose/src/components/PageBlocks/index.js index e4082b1d0..71434d440 100644 --- a/client/web/compose/src/components/PageBlocks/index.js +++ b/client/web/compose/src/components/PageBlocks/index.js @@ -38,6 +38,8 @@ import GeometryBase from './GeometryBase' import GeometryConfigurator from './GeometryConfigurator/index' import NavigationConfigurator from './Navigation/Configurator' import NavigationBase from './Navigation/Base' +import TabsBase from './TabsBase' +import TabsConfigurator from './TabsConfigurator' /** * List of all known page block components @@ -79,6 +81,8 @@ const Registry = { NylasConfigurator, GeometryBase, GeometryConfigurator, + TabsBase, + TabsConfigurator, NavigationConfigurator, NavigationBase, } diff --git a/client/web/compose/src/lib/tabs.js b/client/web/compose/src/lib/tabs.js new file mode 100644 index 000000000..c1b12455b --- /dev/null +++ b/client/web/compose/src/lib/tabs.js @@ -0,0 +1,8 @@ +import { NoID } from '@cortezaproject/corteza-js' +/** + * If block has no ID, it is a new block and we need to use tempID + * to find it in the list of blocks. +*/ +export function fetchID (block) { + return block.blockID === NoID ? block.meta.tempID : block.blockID +} diff --git a/client/web/compose/src/views/Admin/Pages/Builder.vue b/client/web/compose/src/views/Admin/Pages/Builder.vue index 967cb207e..89e0a4b89 100644 --- a/client/web/compose/src/views/Admin/Pages/Builder.vue +++ b/client/web/compose/src/views/Admin/Pages/Builder.vue @@ -149,7 +149,7 @@ :visible="showCreator" body-class="p-0 border-top-0" header-class="p-3 pb-0 border-bottom-0" - @ok="updateBlocks" + @ok="$event => updateBlocks()" @hide="editor = undefined" > + @@ -246,6 +275,7 @@ import PageBlock from 'corteza-webapp-compose/src/components/PageBlocks' import EditorToolbar from 'corteza-webapp-compose/src/components/Admin/EditorToolbar' import { compose, NoID } from '@cortezaproject/corteza-js' import Configurator from 'corteza-webapp-compose/src/components/PageBlocks/Configurator' +import { fetchID } from 'corteza-webapp-compose/src/lib/tabs.js' export default { i18nOptions: { @@ -284,6 +314,7 @@ export default { blocks: [], board: null, unsavedBlocks: new Set(), + id: null, } }, @@ -370,6 +401,7 @@ export default { cloneTooltip () { return this.disableClone ? this.$t('tooltip.saveAsCopy') : '' }, + }, watch: { @@ -392,6 +424,12 @@ export default { }, }, + created () { + this.$root.$on('tab-editRequest', this.fulfilEditRequest) + this.$root.$on('tab-createRequest', this.fulfilCreateRequest) + this.$root.$on('tabChange', this.untabBlock) + }, + mounted () { window.addEventListener('paste', this.pasteBlock) }, @@ -406,6 +444,8 @@ export default { destroyed () { window.removeEventListener('paste', this.pasteBlock) + this.$root.$off('tab-editRequest', this.fulfilEditRequest) + this.$root.$off('tab-createRequest', this.fulfilCreateRequest) }, methods: { @@ -418,6 +458,39 @@ export default { loadPages: 'page/load', }), + fulfilEditRequest (blockID) { + // this ensures whatever changes in tabs is not lost before we lose its configurator + // because we are reusing that modal component + this.updateBlocks() + this.blocks.find((block, i) => fetchID(block) === blockID && this.editBlock(i)) + }, + + fulfilCreateRequest (block) { + this.updateBlocks(block) + }, + + untabBlock (block) { + const where = this.tabLocation(block) + + if (!where.length) return + + where.forEach(({ block, index }) => { + const { tabs } = block.options + tabs.splice(index, 1) + }) + }, + + tabLocation (tabbedBlock) { + const where = [] + this.blocks.forEach((block, i) => { + if (block.kind !== 'Tabs') return + const { tabs } = block.options + const index = tabs.findIndex(({ blockID }) => blockID === fetchID(tabbedBlock)) + where.push({ block, index }) + }) + return where + }, + addBlock (block, index = undefined) { this.$bvModal.hide('createBlockSelector') this.editor = { index, block: compose.PageBlockMaker(block) } @@ -428,8 +501,44 @@ export default { }, deleteBlock (index) { + /** + * If the block is tabbed, we need to remove it from the tabs when it is deleted. + * We find where it is tabbed then remove it from its tabs. + * We don't bother checking if it is actually tabbed because you cannot delete a + * manually tabed block that is not added to a Tabs block. + */ + if (this.blocks[index].meta.tabbed) { + const whereIsItTabbed = this.blocks.filter((block) => block.kind === 'Tabs' && block.options.tabs.some(({ blockID }) => blockID === fetchID(this.blocks[index]))) + whereIsItTabbed.forEach((block) => { + block.options.tabs = block.options.tabs.filter(({ blockID }) => blockID !== fetchID(this.blocks[index])) + }) + } + + /** + * First we get all the tabs that are tabbed in other Tabs blocks. + * The reduce eliminates duplicates as we only need reps of what is tabbed + * We check what needs to be freed by comparing allTabs to the tabs of the block + * being deleted. + */ + if (this.blocks[index].kind === 'Tabs') { + const allTabs = this.blocks.filter((block) => block.kind === 'Tabs' && fetchID(block) !== fetchID(this.blocks[index])) + .map(({ options }) => options.tabs).flat().reduce((unique, o) => { + if (!unique.some(tab => tab.blockID === o.blockID)) { + unique.push(o) + } + return unique + }, []).map(({ blockID }) => blockID) + + const tobefreed = this.blocks[index].options.tabs.filter(({ blockID }) => !allTabs.includes(blockID)) + tobefreed.forEach(({ blockID }) => { + this.blocks.find((b) => fetchID(b) === blockID).meta.tabbed = false + }) + } + this.blocks.splice(index, 1) this.page.blocks = this.blocks + + if (this.editor) this.editor = undefined this.unsavedBlocks.add(index) }, @@ -441,22 +550,71 @@ export default { this.unsavedBlocks.add(index) }, - updateBlocks () { - const block = compose.PageBlockMaker(this.editor.block) + generateUID () { + return Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36) + }, + + updateBlocks (block = this.editor.block) { + block = compose.PageBlockMaker(block) this.page.blocks = this.blocks - /** - * Check if an existing block has been updated or a new block has been added - */ if (this.editor.index !== undefined) { - this.page.blocks.splice(this.editor.index, 1, block) - this.unsavedBlocks.add(this.editor.index) + const oldBlock = this.blocks[this.editor.index] + + if (oldBlock.meta.tabbed === true && this.editor.block.meta.tabbed === false) { + this.untabBlock(this.editor.block) + } + + if (this.editor.block.kind !== block.kind) { + this.page.blocks.push(block) + const tab = { + blockID: fetchID(block), + title: block.title, + } + this.$root.$emit('builder-createRequestFulfilled', { tab }) + } else { + this.page.blocks.splice(this.editor.index, 1, block) + this.unsavedBlocks.add(this.editor.index) + } } else { this.page.blocks.push(block) this.unsavedBlocks.add(this.page.blocks.length - 1) } - this.editor = undefined + if (block.kind === 'Tabs') { + block.options.tabs = block.options.tabs.filter(t => t.blockID !== null) + block.options.tabs.forEach((tab) => { + this.page.blocks.find(b => fetchID(b) === tab.blockID).meta.tabbed = true + }) + } + + if (this.editor.block.kind === block.kind) { + this.editor = undefined + } + }, + + cloneBlock (index) { + this.appendBlock({ ...this.blocks[index].clone() }, this.$t('notification:page.cloneSuccess')) + }, + + appendBlock (block, msg) { + if (this.blocks.length) { + // ensuring we append the block to the end of the page + // eslint-disable-next-line + const maxY = this.blocks.map((block) => block.xywh[1]).reduce((acc, val) => { + return acc > val ? acc : val + }, 0) + block.xywh = [0, maxY + 2, 3, 3] + } + this.editor = { index: undefined, block: compose.PageBlockMaker(block) } + this.updateBlocks() + if (!this.editor) { + msg && this.toastSuccess(msg) + return true + } else { + msg && this.toastErrorHandler(this.$t('notification:page.duplicateFailed')) + return false + } }, async handleSave ({ closeOnSuccess = false, previewOnSuccess = false } = {}) { @@ -493,6 +651,32 @@ export default { const mergedPage = new compose.Page({ namespaceID, ...page, blocks: this.blocks }) this.updatePage(mergedPage).then((page) => { + // get the Tabs Block that still has tabs with tempIDs + const tabsWithTempIDs = this.page.blocks.filter(b => b.kind === 'Tabs').filter(b => b.options.tabs.some(t => t.blockID.startsWith('tempID-'))) + + if (!tabsWithTempIDs.length) return page + + page.blocks.forEach(b => { + if (b.kind !== 'Tabs') return + + tabsWithTempIDs.find(t => t.meta.tempID === b.meta.tempID).options.tabs.forEach((t, j) => { + if (!t.blockID.startsWith('tempID-')) return false + + // find a block with the same tempID that should be updated by now and get its blockID + const updatedBlock = page.blocks.find(block => block.meta.tempID === t.blockID) + + if (!updatedBlock) return false + + const tab = { + // fetchID gets the blockID using the found block + blockID: fetchID(updatedBlock), + title: updatedBlock.title, + } + b.options.tabs.splice(j, 1, tab) + }) + }) + return this.updatePage(page) + }).then((page) => { this.unsavedBlocks.clear() this.toastSuccess(this.$t('notification:page.saved')) if (closeOnSuccess) { @@ -549,12 +733,8 @@ export default { return true }, - cloneBlock (index) { - this.appendBlock({ ...this.blocks[index] }, this.$t('notification:page.cloneSuccess')) - }, - async copyBlock (index) { - const parsedBlock = JSON.stringify(this.blocks[index]) + const parsedBlock = JSON.stringify(this.blocks[index].clone()) navigator.clipboard.writeText(parsedBlock).then(() => { this.toastSuccess(this.$t('notification:page.copySuccess')) this.toastInfo(this.$t('notification:page.blockWaiting')) @@ -585,27 +765,6 @@ export default { } }, - appendBlock (block, msg) { - if (this.blocks.length) { - // ensuring we append the block to the end of the page - const maxY = this.blocks.map((block) => block.xywh[1]).reduce((acc, val) => { - return acc > val ? acc : val - }, 0) - block.xywh = [0, maxY + 2, 3, 3] - } - - // Doing this to avoid blockID duplicates when saved - block.blockID = NoID - this.editor = { index: undefined, block: compose.PageBlockMaker(block) } - this.updateBlocks() - - if (!this.editor) { - this.toastSuccess(msg) - } else { - this.toastErrorHandler(this.$t('notification:page.duplicateFailed')) - } - }, - // Trigger browser dialog on page leave to prevent unsaved changes checkUnsavedBlocks (next) { next(!this.unsavedBlocks.size || window.confirm(this.$t('build.unsavedChanges'))) diff --git a/lib/js/src/compose/helpers/idgen.ts b/lib/js/src/compose/helpers/idgen.ts new file mode 100644 index 000000000..8873d5c55 --- /dev/null +++ b/lib/js/src/compose/helpers/idgen.ts @@ -0,0 +1,4 @@ +export function generateUID (): string { + let uid = Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36) + return `tempID-${uid}` +} \ No newline at end of file diff --git a/lib/js/src/compose/types/page-block/base.ts b/lib/js/src/compose/types/page-block/base.ts index 3906c1972..e393bd9c8 100644 --- a/lib/js/src/compose/types/page-block/base.ts +++ b/lib/js/src/compose/types/page-block/base.ts @@ -1,5 +1,6 @@ import { merge } from 'lodash' import { Apply } from '../../../cast' +import { generateUID } from '../../helpers/idgen' interface PageBlockStyleVariants { [_: string]: string; @@ -19,6 +20,11 @@ interface PageBlockStyle { border?: PageBlockStyleBorder; } +interface PageBlockMeta { + tabbed?: boolean; + tempID?: string; +} + export type PageBlockInput = PageBlock | Partial const defaultXYWH = [0, 2000, 3, 3] @@ -34,6 +40,11 @@ export class PageBlock { public options = {} + public meta: PageBlockMeta = { + tabbed: false, + tempID: undefined, + } + public style: PageBlockStyle = { variants: { headerText: 'dark', @@ -48,6 +59,7 @@ export class PageBlock { constructor (i?: PageBlockInput) { this.apply(i) + this.setTempID() } apply (i?: PageBlockInput): void { @@ -75,12 +87,29 @@ export class PageBlock { if (i.style) { this.style = merge({}, this.style, i.style) } + + if (i.meta) { + this.meta = merge({}, this.meta, i.meta) + } } // Returns Page Block configuration errors validate (): Array { return [] } + + setTempID (): void { + this.meta.tempID = this.meta.tempID || generateUID() + } + + clone(): PageBlockInput { + const clone = new PageBlock() + clone.kind = this.kind + clone.title = this.title + clone.style = merge({}, this.style) + clone.options = merge({}, this.options) + return clone + } } export const Registry = new Map() diff --git a/lib/js/src/compose/types/page-block/calendar/page-block.ts b/lib/js/src/compose/types/page-block/calendar/page-block.ts index c22241977..12f14ed93 100644 --- a/lib/js/src/compose/types/page-block/calendar/page-block.ts +++ b/lib/js/src/compose/types/page-block/calendar/page-block.ts @@ -35,6 +35,7 @@ class CalendarOptions { public feeds: Array = [] public header: Partial = {} public locale = 'en-gb' + public tabbed = false public refreshRate = 0 public showRefresh = false public magnifyOption = '' @@ -75,6 +76,7 @@ export class PageBlockCalendar extends PageBlock { ) this.options.locale = o.locale || 'en-gb' + this.options.tabbed = o.tabbed || false } /** diff --git a/lib/js/src/compose/types/page-block/chart.ts b/lib/js/src/compose/types/page-block/chart.ts index 0b6e4dc8c..ce5df51a8 100644 --- a/lib/js/src/compose/types/page-block/chart.ts +++ b/lib/js/src/compose/types/page-block/chart.ts @@ -17,14 +17,14 @@ interface Options { } const defaults: Readonly = Object.freeze({ - chartID: '', + chartID: NoID, refreshRate: 0, showRefresh: false, magnifyOption: '', drillDown: { enabled: false, - blockID: '' - } + blockID: '', + }, }) export class PageBlockChart extends PageBlock { diff --git a/lib/js/src/compose/types/page-block/index.ts b/lib/js/src/compose/types/page-block/index.ts index c99b6789d..398bd69cc 100644 --- a/lib/js/src/compose/types/page-block/index.ts +++ b/lib/js/src/compose/types/page-block/index.ts @@ -15,10 +15,11 @@ export { PageBlockComment } from './comment' export { PageBlockReport } from './report' export { PageBlockProgress } from './progress' export { PageBlockNylas } from './nylas' -export { PageBlockGeometry } from './geometry' export { PageBlockNavigation } from './navigation' +export { PageBlockTab } from './tabs' +export { PageBlockGeometry } from './geometry' -export function PageBlockMaker (i: { kind: string }): T { +export function PageBlockMaker(i: { kind: string }): T { const PageBlockTemp = Registry.get(i.kind) if (PageBlockTemp === undefined) { throw new Error(`unknown block kind '${i.kind}'`) diff --git a/lib/js/src/compose/types/page-block/progress.ts b/lib/js/src/compose/types/page-block/progress.ts index 9e97e9136..f42bef46c 100644 --- a/lib/js/src/compose/types/page-block/progress.ts +++ b/lib/js/src/compose/types/page-block/progress.ts @@ -103,7 +103,7 @@ export class PageBlockProgress extends PageBlock { } if (o.display) { - this.options.display = { ...this.options.display, ...o.display } + this.options.display = o.display } } diff --git a/lib/js/src/compose/types/page-block/record-revisions.ts b/lib/js/src/compose/types/page-block/record-revisions.ts index 8d399a89e..001960176 100644 --- a/lib/js/src/compose/types/page-block/record-revisions.ts +++ b/lib/js/src/compose/types/page-block/record-revisions.ts @@ -16,6 +16,7 @@ interface Options { // referenced fields (records, users) we want to expand expRefFields: string[]; + refreshRate: number; showRefresh: boolean; magnifyOption: string; diff --git a/lib/js/src/compose/types/page-block/tabs.ts b/lib/js/src/compose/types/page-block/tabs.ts new file mode 100644 index 000000000..4b27a4c58 --- /dev/null +++ b/lib/js/src/compose/types/page-block/tabs.ts @@ -0,0 +1,53 @@ +import { PageBlock, PageBlockInput, Registry } from './base' + +const kind = 'Tabs' + +interface Style { + appearance: string; + alignment: string; + fillJustify: string; +} + +interface Tab { + blockID: string; + title: string; +} + +interface Options { + style: Style; + tabs: Tab[]; +} + +const defaults: Readonly = Object.freeze({ + style: { + appearance: 'tabs', + alignment: 'left', + fillJustify: 'none', + }, + tabs: [], +}) + +export class PageBlockTab extends PageBlock { + readonly kind = kind + + options: Options = { ...defaults } + + constructor (i?: PageBlockInput) { + super(i) + this.applyOptions(i?.options as Partial) + } + + applyOptions (o?: Partial): void { + if (!o) return + + if (o.tabs) { + this.options.tabs = o.tabs + } + + if (o.style) { + this.options.style = o.style + } + } +} + +Registry.set(kind, PageBlockTab) diff --git a/locale/en/corteza-webapp-compose/block.yaml b/locale/en/corteza-webapp-compose/block.yaml index 7857ebf9b..9731ffd98 100644 --- a/locale/en/corteza-webapp-compose/block.yaml +++ b/locale/en/corteza-webapp-compose/block.yaml @@ -123,6 +123,8 @@ general: modal: Modal fullscreen: Fullscreen wrap: Display block as a card + tabbed: + label: Tabbed refresh: label: Refresh auto: Auto refresh @@ -694,3 +696,54 @@ geometry: lockBounds: Lock bounds topLeft: Bounds top left lowerRight: Bounds lower right + +tabs: + alertTitle: Set a title for your block + title: Tabs + addTab: + Add + selectBlock: Choose a block + noTabs: No tabs have been made + noTabsBase: No tabs have been made yet + displayTitle: Display Options + preview: Live example + newBlockModal: Add new block + form: + title: Set a title for your tab + placeholder: Tab a block + style: + appearance: + tabs: Tabs + pills: Pills + small: Small + alignment: + left: Left + center: Center + right: Right + fillJustify: + fill: Fill + justified: Justify + none: None + verticalHorizontal: + vertical: Vertical + horizontal: Horizontal + tabPosition: + top: Top + bottom: Bottom + table: + columns: + title: + label: Title + block: + label: Block + tooltip: + edit: Edit block + changeTab: Change tab + addTab: Add tab + cancel: Switch to view mode + newBlock: Add new block + delete: Delete tab + selectBlock: Select a block to tab + move: Move tab + title: Tab title + tabCondition: You can't make tabs until you add this block + label: Tabs diff --git a/locale/en/corteza-webapp-compose/page.yaml b/locale/en/corteza-webapp-compose/page.yaml index 171eb3a82..0f677d714 100644 --- a/locale/en/corteza-webapp-compose/page.yaml +++ b/locale/en/corteza-webapp-compose/page.yaml @@ -33,6 +33,7 @@ label: pageBuilder: Page builder permissions: Permissions saveAndClose: Save and close + delete: Delete Block loading: Loading moduleEdit: Edit module navigation: diff --git a/server/compose/types/page.go b/server/compose/types/page.go index 7e5b1fe9c..84073e46f 100644 --- a/server/compose/types/page.go +++ b/server/compose/types/page.go @@ -3,11 +3,12 @@ package types import ( "database/sql/driver" "encoding/json" - "github.com/cortezaproject/corteza/server/pkg/sql" "strconv" "strings" "time" + "github.com/cortezaproject/corteza/server/pkg/sql" + "github.com/cortezaproject/corteza/server/pkg/filter" "github.com/cortezaproject/corteza/server/pkg/locale" "github.com/spf13/cast" @@ -58,6 +59,7 @@ type ( Style PageBlockStyle `json:"style,omitempty"` Kind string `json:"kind"` XYWH [4]int `json:"xywh"` // x,y,w,h + Meta map[string]any `json:"meta,omitempty"` // Warning: value of this field is now handled via resource-translation facility // struct field is kept for the convenience for now since it allows us