Commit Graph

56 Commits

Author SHA1 Message Date
Mike Jolley
edf3c84628 Use create post helper 2024-05-07 12:08:48 +01:00
Mike Jolley
4c534f40e7 wp_insert_post in tests 2024-05-07 12:08:48 +01:00
Mike Jolley
ca7a89ca06 Update block used in tests 2024-05-07 12:08:48 +01:00
Mike Jolley
21441ecc4a Update tests to match new template markup 2024-05-01 11:15:27 +01:00
Rostislav Wolny
f6c9308adc Fix mocks in FlexLayoutRendererTest
[MAILPOET-6014]
2024-05-01 11:15:27 +01:00
Rostislav Wolny
dd93d92a8e Fix issues caused by posts not being saved and CSS inliner change
[MAILPOET-6014]
2024-05-01 11:15:27 +01:00
Rostislav Wolny
e6aef6f0a5 Update ContentRenderer:testItInlinesContentStyles test
This new inliner library adds a space between the rule and value
[MAILPOET-6014]
2024-05-01 11:15:27 +01:00
Rostislav Wolny
76c60aa5e0 Update BlocksRegistryTest
- testItAllowsToReplaceRendererViaFilter is no longer needed as we removed the filter
- testItRemovesAllBlockRenderers this responsibility was moved to ContentRenderer
[MAILPOET-6014]
2024-05-01 11:15:27 +01:00
Mike Jolley
c321eb282e Refactor renderers to use template JSON 2024-05-01 11:15:27 +01:00
Mike Jolley
1220641417 Adjust font size tests 2024-04-22 12:43:17 +01:00
Rostislav Wolny
b8396140ac Remove paragraph renderer
[MAILPOET-5798]
2024-04-18 12:45:15 +02:00
Mike Jolley
3f2b96f3a6 Introduce block to handle email content 2024-04-10 11:42:50 +02:00
Mike Jolley
7325785e6b Add ID to emailPost 2024-04-10 11:42:50 +02:00
Mike Jolley
fa73d97ae9 Mock getEmailStyles 2024-04-10 11:42:50 +02:00
Mike Jolley
b4acac7c52 Refactor renderers to use templates 2024-04-10 11:42:50 +02:00
Jan Lysý
4c3f86e552 Update integration tests
[MAILPOET-5640]
2024-03-22 17:19:44 +01:00
Jan Lysý
2ea6bca7a3 Update renderer integration test
[MAILPOET-5640]
2024-03-15 16:57:41 +01:00
Rostislav Wolny
39aa76d4d0 Improve typehints and use typed properties in ContentRenderer and test
[MAILPOET-5798]
2024-03-15 10:28:48 +01:00
Rostislav Wolny
4071175178 Move ContentRenderer to the Renderer/ContentRenderer namespace
[MAILPOET-5798]
2024-03-15 10:28:48 +01:00
Rostislav Wolny
8f20b4bfa9 Simplify code in RendererTest using WP_HTML_Tag_Processor
[MAILPOET-5798]
2024-03-15 10:28:48 +01:00
Rostislav Wolny
8b09fd6183 Add basic integration test for ContentRenderer
[MAILPOET-5798]
2024-03-15 10:28:48 +01:00
Rostislav Wolny
2c5857e89b Split renderer into content renderer and renderer
Content renderer - renders the content of the email post
Renderer - places the content into the email HTML template and generates text version
[MAILPOET-5798]
2024-03-15 10:28:48 +01:00
Rostislav Wolny
1eb0c07fed Add border color classes to CSS for the renderer
[MAILPOET-5919]
2024-03-12 08:38:56 +01:00
Rostislav Wolny
a7153d70c3 Add getVariablesValuesMap to the theme controller
This commit adds a method that returns map of CSS variables and their values defined based on the theme.json
It is a preparation step for a postprocessor that will use this map to replace variables with values in final HTML.
There are many clients that don't support CSS variables
[MAILPOET-5918]
2024-03-05 16:03:49 +01:00
Jan Lysý
db8dac03d2 Prepare styles in store for sidebar
[MAILPOET-5638]
2024-03-01 16:36:52 +01:00
Rostislav Wolny
8629df7684 Remove unnecessary code for activation twentynineteen theme
After we updated the oldest supported WP and PHP versions, we don't need this theme anymore.
When I checked recent builds, I notice we are getting:

Error: The 'twentynineteen' theme could not be found.

So it already works for some time without the theme being activated.
[MAILPOET-5925]
2024-02-28 10:38:10 -06:00
Rostislav Wolny
5f2b5e4bd4 Add support for the site theme's color palette
[MAILPOET-5741]
2024-02-28 09:01:20 +01:00
Rostislav Wolny
b724ef4ac2 Extract Theme related methods from SettingsController as ThemeController
I want to avoid the SettingsController becoming some kind of a god class
so in this step, I extracted themejson-related stuff to an extra class.

In the future, we should also move methods for manipulating CSS to a helper.
[MAILPOET-5741]
2024-02-28 09:01:20 +01:00
Rostislav Wolny
875fde56e9 Add colors from palette support to the button
[MAILPOET-5741]
2024-02-28 09:01:20 +01:00
Rostislav Wolny
4b55bb5bb3 Move default core/button styles configuration to integration
[MAILPOET-5814]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
cd274c0738 Add basic style for buttons
Default background rendering has to be handled on the button renderer level
because of a specific markup for Outlook (bgcolor attribute). Default text color and paddings are
handled via CSS inlining. That's why they are tested in RendererTest

I used the same background color and font color as the one defined for the button
element in WP core theme.json, and I also used similar padding values
(In core they use "calc(0.667em + 2px) calc(1.333em + 2px)")
[MAILPOET-5814]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
0e04a892c2 Inline style declaration from font-size classes
This is needed for cases where we don't touch the HTML output
to insert font size from the preprocessor (e.g., list item)
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
a472df257a Replace font size slugs with values in typography preprocessor
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
d62f3c1938 Render email main font family CSS rules in the content wrapper
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
07e6940162 Add the basic list of font families
Add basic font families. For now, we use know-how from the current editor
and we use the same list of fonts as were used in the current editor
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
e8bb1b5ac0 Refactor font family rendering using CSS inlining
We don't reset font family on any level, so there is no need to
bubble the setting using a preprocessor and render the inline styles
explicitly in every block.

In this commit, I change how font-family settings are distributed/rendered
in the email renderer. In the new approach, we rely on class names defining font-family
and a generated CSS sheet with font-family definitions.
We apply the font-family CSS by inlining CSS rules for families in the later phase of
rendering after all individual blocks are processed.
[MAILPOET-5740]
2024-01-23 16:47:48 +01:00
Rostislav Wolny
b2c17fcdf4 Fix formatting and add return type hints to buttons related tests
[MAILPOET-5644]
2024-01-08 09:21:16 +01:00
Rostislav Wolny
c5ad2405aa Add Flex Renderer test
[MAILPOET-5644]
2024-01-08 09:21:16 +01:00
Oluwaseun Olorunsola
d05b38bf89 Fix failing test
MAILPOET-5643
2023-11-17 09:49:06 +01:00
Rostislav Wolny
219a12578a Simplify API for registering email block renderers
This commit makes the cleanup of filters for block rendering in emails automatic.
[MAILPOET-5645]
2023-11-10 08:44:08 +01:00
Jan Lysý
5644cab9e3 Refactor BlocksRegistry to pass dependencies as an argument
For better extensibility of 3rd party developers, I refactored to pass Settings Controller as an argument.
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
2ce6fd8688 Remove BlocksRenderer and fix tests
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
0ac72d43e6 Merge StylesController to SettingsController
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Jan Lysý
41c0f1e9d8 Fix Renderer integration test
[MAILPOET-5591]
2023-11-09 09:06:33 +01:00
Rodrigo Primo
0d2f6e0776 Replace expect()->stringContainsString() with verify()->stringContainsString()
codeception/verify 2.1 removed support for expect()->stringContainsString() so we need
to replace it with verify()->stringContainsString().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
709be1d541 Replace expect()->null() with verify()->null()
codeception/verify 2.1 removed support for expect()->null() so we need
to replace it with verify()->null().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rodrigo Primo
afe378ba22 Replace expect()->equals() with verify()->equals()
codeception/verify 2.1 removed support for expect()->equals() so we need
to replace it with verify()->equals().

[MAILPOET-5664]
2023-10-24 08:58:22 +03:00
Rostislav Wolny
e9a5658be5 Cleanup post editor approach code
[MAILPOET-5637]
2023-10-17 16:06:06 +02:00
Rostislav Wolny
ca40766c2f Allow null for WP_Block_Editor_Context in email editor callbacks
There are cases when the second parameter is null.
[MAILPOET-5624]
2023-10-09 11:33:11 +02:00
Rostislav Wolny
af32b36af2 Initialize editor hooks only if the new editor feature is active
[MAILPOET-5624]
2023-10-09 11:33:11 +02:00