Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
636f355
feat: add Block Categories entity to Page Builder app
neatbyte-vnobis May 10, 2022
523217a
ci: add tests for Block Categories API
neatbyte-vnobis May 10, 2022
d8a6b1c
ci: add lifecycle tests for Block Categories
neatbyte-vnobis May 10, 2022
5d5b326
fix: Add Block Category slug field validation
neatbyte-vnobis May 18, 2022
7a7f98e
fix: Fix RegExp warning
neatbyte-vnobis May 18, 2022
e2746d2
feat: Add new API slug validator; Add/update block category tests;
neatbyte-vnobis May 22, 2022
b6073fb
Merge pull request #2447 from webiny/blockCategories
neatbyte-vnobis May 30, 2022
8f3d7a9
Merge branch 'next' into page-builder-blocks-v2
neatbyte-vnobis May 30, 2022
8a9bce7
feat: add API for Page Builder Block creation (#2458)
neatbyte-vnobis Jun 9, 2022
e8d98db
fix: fix validation for empty string slug value (#2486)
neatbyte-vnobis Jun 16, 2022
8ead3ee
feat: page builder blocks v2 read operations (#2487)
neatbyte-vnobis Jun 16, 2022
14155ba
feat: update and delete operations for Page Blocks (#2494)
neatbyte-vnobis Jun 21, 2022
35f5b72
fix: check for existing Page Blocks before Block Category delete oper…
neatbyte-vnobis Jun 21, 2022
cf75eb3
fix: fix not working where filter (#2511)
neatbyte-vnobis Jul 15, 2022
01aefbf
Page builder blocks v2 UI list page blocks (#2496)
neatbyte-vnobis Jul 15, 2022
5357248
feat: switch page builder to use new blocks (#2545)
neatbyte-vnobis Jul 21, 2022
e560ac9
Merge branch 'next' into page-builder-blocks-v2
neatbyte-vnobis Jul 28, 2022
0f4be0e
Fix merge issues/conflicts
neatbyte-vnobis Jul 28, 2022
4887c0b
fix: fix merge issues/conflicts
neatbyte-vnobis Jul 28, 2022
86181b3
Merge branch 'page-builder-blocks-v2' of github.com:webiny/webiny-js …
neatbyte-vnobis Aug 8, 2022
9ce8cde
feat: add Block Editor integration (#2568)
neatbyte-vnobis Aug 24, 2022
018150f
feat: add icon and description fields to Block Categories (#2590)
neatbyte-vnobis Aug 25, 2022
93eca36
fix: remove unused icons plugin (#2597)
neatbyte-vnobis Sep 12, 2022
a255d65
fix: fix Blocks list page refresh bug (#2596)
neatbyte-vnobis Sep 12, 2022
440ec5b
feat: blocks as refs (#2618)
neatbyte-vnobis Sep 14, 2022
6939d35
feat: update generated pages on block update (#2598)
neatbyte-vnobis Sep 28, 2022
d073a04
feat: remove "save" button for ref blocks (#2634)
neatbyte-vnobis Sep 28, 2022
9e5bb90
feat: make getElementTree composable (#2633)
neatbyte-vnobis Sep 28, 2022
d6c5916
test: add API test for resolved ref blocks, remove not required ref b…
neatbyte-vnobis Oct 5, 2022
c93962c
fix: fix not refreshed Navigator tree for editors (#2644)
neatbyte-vnobis Oct 5, 2022
ea4298c
feat: page block variables feature (#2672)
neatbyte-vnobis Oct 17, 2022
9897678
fix: fix not refreshed list of blocks inside page builder (#2689)
neatbyte-vnobis Oct 25, 2022
5aba0b8
feat: refactored Block Variables with plugins usage (#2734)
neatbyte-vnobis Nov 1, 2022
e451839
fix: fix page background bleeds into the form (#2744)
neatbyte-vnobis Nov 2, 2022
03f0569
fix: fix too big favicon image editor (#2745)
neatbyte-vnobis Nov 4, 2022
4443b49
fix: fix missing error message when deleting a Page Category that alr…
neatbyte-vnobis Nov 4, 2022
755b5de
fix: fix incorrect error thrown by the createCategory Mutation (#2748)
neatbyte-vnobis Nov 4, 2022
c031558
fix: fix incorrect label on Pages export (#2750)
neatbyte-vnobis Nov 4, 2022
51038bf
fix: fix breaking page rendering if main menu absent (#2743)
neatbyte-vnobis Nov 4, 2022
9d6c51c
fix: when pasting text, ensure it's pasted in a new row
neatbyte-vnobis Nov 4, 2022
2467c85
fix: remove padding from selected grid cells (#2746)
neatbyte-vnobis Nov 4, 2022
214502b
fix: fix long page title bleeds into control options (#2755)
neatbyte-vnobis Nov 4, 2022
526827a
fix(app-page-builder): move resolvePageBlocks to the app sdk
Pavel910 Nov 5, 2022
874fa2a
fix(app-page-builder): remove zoom log
Pavel910 Nov 5, 2022
3704491
fix(app-page-builder): pass variable value as memo dependency
Pavel910 Nov 5, 2022
06dd8a1
fix(app-page-builder): remove console.logs
Pavel910 Nov 5, 2022
82d06bb
fix(api-page-builder): add support for element processors
Pavel910 Nov 5, 2022
0e0d088
fix(api-page-builder): revert import path
Pavel910 Nov 5, 2022
956625a
fix(app-page-builder): avoid nested p in Text element
Pavel910 Nov 7, 2022
1dca332
fix(api-page-builder): clone resolved block data
Pavel910 Nov 7, 2022
2147440
fix: fix too strict Iframe component validation (#2756)
neatbyte-vnobis Nov 7, 2022
7e8efe9
fix: fix image default mobile/table alignment (#2757)
neatbyte-vnobis Nov 7, 2022
d0d3e28
fix: fix corrupted undo state after deleting a block (#2758)
neatbyte-vnobis Nov 8, 2022
171f6a9
fix: fix root cause of failing test (#2770)
neatbyte-vnobis Nov 11, 2022
fface19
fix: fix issue with px/% changes and cursor position (#2747)
neatbyte-vnobis Nov 14, 2022
fa52207
feat: allow Grid customization according to a viewport size (#2763)
neatbyte-vnobis Nov 14, 2022
4b9d640
fix: fix Button link behavior with URLs without http/https (#2767)
neatbyte-vnobis Nov 14, 2022
d4af713
fix: keep heading content when heading type is changed (#2771)
neatbyte-vnobis Nov 18, 2022
5325cbc
feat(app-page-builder): rename Media to Embeds (#2772)
neatbyte-vnobis Nov 18, 2022
df6c805
fix: fix Image component shadow (#2762)
neatbyte-vnobis Nov 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 8 additions & 14 deletions apps/admin/src/plugins/pageBuilder/editorPlugins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,30 +9,27 @@ import list from "@webiny/app-page-builder/editor/plugins/elements/list";
import quote from "@webiny/app-page-builder/editor/plugins/elements/quote";
import icon from "@webiny/app-page-builder/editor/plugins/elements/icon";
import button from "@webiny/app-page-builder/editor/plugins/elements/button";
import soundcloud from "@webiny/app-page-builder/editor/plugins/elements/media/soundcloud";
import vimeo from "@webiny/app-page-builder/editor/plugins/elements/media/vimeo";
import youtube from "@webiny/app-page-builder/editor/plugins/elements/media/youtube";
import iframe from "@webiny/app-page-builder/editor/plugins/elements/media/iframe";
import soundcloud from "@webiny/app-page-builder/editor/plugins/elements/embeds/soundcloud";
import vimeo from "@webiny/app-page-builder/editor/plugins/elements/embeds/vimeo";
import youtube from "@webiny/app-page-builder/editor/plugins/elements/embeds/youtube";
import iframe from "@webiny/app-page-builder/editor/plugins/elements/embeds/iframe";
import pinterest from "@webiny/app-page-builder/editor/plugins/elements/social/pinterest";
import twitter from "@webiny/app-page-builder/editor/plugins/elements/social/twitter";
import codesandbox from "@webiny/app-page-builder/editor/plugins/elements/code/codesandbox";
import pagesList from "@webiny/app-page-builder/editor/plugins/elements/pagesList";
import imagesList from "@webiny/app-page-builder/editor/plugins/elements/imagesList";
import heading from "@webiny/app-page-builder/editor/plugins/elements/heading";
// Icons
import icons from "@webiny/app-page-builder/editor/plugins/icons";
// Element groups
import basicGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/basic";
import layoutGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/layout";
import mediaGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/media";
import embedsGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/embeds";
import formGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/form";
import socialGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/social";
import codeGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/code";
import savedGroup from "@webiny/app-page-builder/editor/plugins/elementGroups/saved";
// Blocks
import gridBlock from "@webiny/app-page-builder/editor/plugins/blocks/gridBlock";
// Block categories
import blocksCategories from "@webiny/app-page-builder/editor/plugins/blocksCategories";
import emptyBlock from "@webiny/app-page-builder/pageEditor/plugins/blocks/emptyBlock";
// Toolbar
import addElement from "@webiny/app-page-builder/editor/plugins/toolbar/addElement";
import navigator from "@webiny/app-page-builder/editor/plugins/toolbar/navigator";
Expand Down Expand Up @@ -68,7 +65,7 @@ export default [
document(),
grid(),
block(),
gridBlock,
emptyBlock,
cell(),
heading(),
paragraph(),
Expand All @@ -88,18 +85,15 @@ export default [
pagesList(),
// grid presets
...gridPresets,
// Icons
icons,
// Element groups
basicGroup,
formGroup,
layoutGroup,
mediaGroup,
embedsGroup,
socialGroup,
codeGroup,
savedGroup,
// Block categories
blocksCategories,
// Toolbar
addElement,
navigator(),
Expand Down
2 changes: 2 additions & 0 deletions apps/admin/src/plugins/pageBuilder/renderPlugins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import align from "@webiny/app-page-builder/render/plugins/elementSettings/align
import animation from "@webiny/app-page-builder/render/plugins/elementSettings/animation";
import background from "@webiny/app-page-builder/render/plugins/elementSettings/background";
import border from "@webiny/app-page-builder/render/plugins/elementSettings/border";
import gridSettings from "@webiny/app-page-builder/render/plugins/elementSettings/grid";
import height from "@webiny/app-page-builder/render/plugins/elementSettings/height";
import width from "@webiny/app-page-builder/render/plugins/elementSettings/width";
import shadow from "@webiny/app-page-builder/render/plugins/elementSettings/shadow";
Expand Down Expand Up @@ -65,6 +66,7 @@ export default [
animation,
background,
border,
gridSettings,
height,
width,
shadow,
Expand Down
1 change: 1 addition & 0 deletions apps/theme/formBuilder/styles/theme.scss
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
display: flex;
width: 100%;
padding: 0;
background-color: var(--webiny-theme-color-surface, #ffffff);
}

.webiny-fb-form-layout-column {
Expand Down
2 changes: 1 addition & 1 deletion apps/theme/pageBuilder/components/Menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ declare global {
export const hasMenuItems = (data: GetPublishMenuQueryResponse): boolean => {
return Boolean(
data &&
Array.isArray(data.pageBuilder.getPublicMenu.data.items) &&
Array.isArray(data.pageBuilder.getPublicMenu.data?.items) &&
data.pageBuilder.getPublicMenu.data.items.length
);
};
Expand Down
2 changes: 2 additions & 0 deletions apps/theme/pageBuilder/styles/base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@

justify-content: var(--desktop-justify-content);
align-items: var(--desktop-align-items);

box-shadow: var(--box-shadow);
}
// Some styles need more specificity
.webiny-pb-media-query--desktop .webiny-pb-base-page-element-style {
Expand Down
3 changes: 2 additions & 1 deletion apps/theme/pageBuilder/styles/elements/image.scss
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@ img {
}

.webiny-pb-page-element-image {
overflow: hidden;
box-sizing: border-box;
box-shadow: none !important;
//display: flex; removed because of testimonial #2
img {
max-width: 100%;
box-shadow: var(--box-shadow);
}
}
// make images center align on mobile
Expand Down
59 changes: 18 additions & 41 deletions apps/theme/pageBuilder/styles/elements/layout.scss
Original file line number Diff line number Diff line change
Expand Up @@ -27,72 +27,49 @@
.webiny-pb-layout-grid {
width: 100%;
display: flex;
flex-direction: row;
}

&-cell {
.webiny-pb-media-query--desktop .webiny-pb-layout-grid {
flex-direction: var(--desktop-flex-direction, "row");

&-cell {
@for $current from 1 to 13 {
&-#{$current} {
width: math.percentage(math.div(1, 12) * $current);
width: var(--desktop-cell-width, math.percentage(math.div(1, 12) * $current));
}
}

& img {
width: auto;
height: auto;
}
}
}

.webiny-pb-media-query--desktop .webiny-pb-layout-grid {
flex-direction: row;
// flex: 100% 1; // removed because Content #2
}
.webiny-pb-media-query--tablet .webiny-pb-layout-grid {
flex-direction: row;
// flex: 100% 1; // removed because Content #2
}
.webiny-pb-media-query--mobile-landscape .webiny-pb-layout-grid {
flex-direction: column;
max-width: 100% !important;
//width: 100% !important; // added for Content #6
//width: auto !important; // set to auto for CTA #9
flex: 0 auto !important;
flex-direction: var(--tablet-flex-direction, "row");

&-cell {
flex-grow: 1;

@for $current from 1 to 13 {
&-#{$current} {
width: 100%;
width: var(--tablet-cell-width, math.percentage(math.div(1, 12) * $current));
}
}
}
}
.webiny-pb-media-query--mobile-landscape .webiny-pb-layout-grid {
flex-direction: var(--mobile-landscape-flex-direction, "column");

& img {
width: auto;
height: auto;
&-cell {
@for $current from 1 to 13 {
&-#{$current} {
width: var(--mobile-landscape-cell-width, math.percentage(math.div(1, 12) * $current));
}
}
}
}
.webiny-pb-media-query--mobile-portrait .webiny-pb-layout-grid {
flex-direction: column;
max-width: 100% !important;
//width: 100% !important; // added for Content #6
//width: auto !important; // set to auto for CTA #9
flex: 0 auto !important;
flex-direction: var(--mobile-portrait-flex-direction, "column");

&-cell {
flex-grow: 1;

@for $current from 1 to 13 {
&-#{$current} {
width: 100%;
width: var(--mobile-portrait-cell-width, math.percentage(math.div(1, 12) * $current));
}
}

& img {
width: auto;
height: auto;
}
}
}
2 changes: 2 additions & 0 deletions apps/website/src/plugins/pageBuilder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import align from "@webiny/app-page-builder/render/plugins/elementSettings/align
import animation from "@webiny/app-page-builder/render/plugins/elementSettings/animation";
import background from "@webiny/app-page-builder/render/plugins/elementSettings/background";
import border from "@webiny/app-page-builder/render/plugins/elementSettings/border";
import gridSettings from "@webiny/app-page-builder/render/plugins/elementSettings/grid";
import height from "@webiny/app-page-builder/render/plugins/elementSettings/height";
import width from "@webiny/app-page-builder/render/plugins/elementSettings/width";
import shadow from "@webiny/app-page-builder/render/plugins/elementSettings/shadow";
Expand Down Expand Up @@ -91,6 +92,7 @@ export default [
animation,
background,
border,
gridSettings,
height,
width,
shadow,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import { Entity, Table } from "dynamodb-toolbox";
import { Attributes } from "~/types";

interface Params {
table: Table;
entityName: string;
attributes: Attributes;
}

export const createBlockCategoryEntity = (params: Params): Entity<any> => {
const { entityName, attributes, table } = params;
return new Entity({
name: entityName,
table,
attributes: {
PK: {
partitionKey: true
},
SK: {
sortKey: true
},
TYPE: {
type: "string"
},
name: {
type: "string"
},
slug: {
type: "string"
},
icon: {
type: "string"
},
description: {
type: "string"
},
createdOn: {
type: "string"
},
createdBy: {
type: "map"
},
tenant: {
type: "string"
},
locale: {
type: "string"
},
...(attributes || {})
}
});
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import { Entity, Table } from "dynamodb-toolbox";
import { Attributes } from "~/types";

interface Params {
table: Table;
entityName: string;
attributes: Attributes;
}

export const createPageBlockEntity = (params: Params): Entity<any> => {
const { entityName, attributes, table } = params;
return new Entity({
name: entityName,
table,
attributes: {
PK: {
partitionKey: true
},
SK: {
sortKey: true
},
TYPE: {
type: "string"
},
id: {
type: "string"
},
name: {
type: "string"
},
blockCategory: {
type: "string"
},
content: {
type: "map"
},
preview: {
type: "map"
},
createdOn: {
type: "string"
},
createdBy: {
type: "map"
},
tenant: {
type: "string"
},
locale: {
type: "string"
},
...(attributes || {})
}
});
};
Loading