diff --git a/addons/mass_mailing/static/src/img/blocks/block_footer_separator.png b/addons/mass_mailing/static/src/img/blocks/block_footer_separator.png
deleted file mode 100755
index 6af266fca5c..00000000000
Binary files a/addons/mass_mailing/static/src/img/blocks/block_footer_separator.png and /dev/null differ
diff --git a/addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png b/addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png
deleted file mode 100755
index 73b5a29ea59..00000000000
Binary files a/addons/mass_mailing/static/src/img/blocks/block_footer_tag_line.png and /dev/null differ
diff --git a/addons/mass_mailing/static/src/img/blocks/block_image.png b/addons/mass_mailing/static/src/img/blocks/block_image.png
deleted file mode 100755
index e918a8d70f1..00000000000
Binary files a/addons/mass_mailing/static/src/img/blocks/block_image.png and /dev/null differ
diff --git a/addons/mass_mailing/static/src/img/blocks/block_image_text.png b/addons/mass_mailing/static/src/img/blocks/block_image_text.png
deleted file mode 100755
index de9e18f37c3..00000000000
Binary files a/addons/mass_mailing/static/src/img/blocks/block_image_text.png and /dev/null differ
diff --git a/addons/mass_mailing/static/src/img/blocks/block_paragraph.png b/addons/mass_mailing/static/src/img/blocks/block_paragraph.png
deleted file mode 100755
index bfba996c54a..00000000000
Binary files a/addons/mass_mailing/static/src/img/blocks/block_paragraph.png and /dev/null differ
diff --git a/addons/mass_mailing/static/src/img/blocks/block_steps.png b/addons/mass_mailing/static/src/img/blocks/block_steps.png
deleted file mode 100755
index e977a1059e5..00000000000
Binary files a/addons/mass_mailing/static/src/img/blocks/block_steps.png and /dev/null differ
diff --git a/addons/mass_mailing/static/src/img/blocks/block_three_cols.png b/addons/mass_mailing/static/src/img/blocks/block_three_cols.png
deleted file mode 100755
index cd72e7b8168..00000000000
Binary files a/addons/mass_mailing/static/src/img/blocks/block_three_cols.png and /dev/null differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/books.jpg b/addons/mass_mailing/static/src/img/snippets_demo/books.jpg
new file mode 100644
index 00000000000..3f30038177e
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/books.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/clothes.jpg b/addons/mass_mailing/static/src/img/snippets_demo/clothes.jpg
new file mode 100644
index 00000000000..6ce62d27038
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/clothes.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg b/addons/mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg
new file mode 100644
index 00000000000..9561a605bc9
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/essentials_oils.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/furniture.jpg b/addons/mass_mailing/static/src/img/snippets_demo/furniture.jpg
new file mode 100644
index 00000000000..8d33dc6be00
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/furniture.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/multimedia.jpg b/addons/mass_mailing/static/src/img/snippets_demo/multimedia.jpg
new file mode 100644
index 00000000000..9fa60a94225
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/multimedia.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg
new file mode 100644
index 00000000000..c54b0378064
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_blockquote_cover.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_cover.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_cover.jpg
new file mode 100755
index 00000000000..e60c3b155b6
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_cover.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg
new file mode 100644
index 00000000000..b46aba6ee28
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_masonry_block_1.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg
new file mode 100755
index 00000000000..f6007c0d2a2
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_1.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg
new file mode 100755
index 00000000000..f6e893d2d56
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_2.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg
new file mode 100644
index 00000000000..59f260edb45
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_media_list_3.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_1.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_1.png
new file mode 100755
index 00000000000..cfced4e5745
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_1.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_2.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_2.png
new file mode 100755
index 00000000000..75f56c0ce16
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_2.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_3.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_3.png
new file mode 100755
index 00000000000..ee28c154012
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_3.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_4.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_4.png
new file mode 100755
index 00000000000..a9d30a83aef
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_4.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_5.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_5.png
new file mode 100755
index 00000000000..e4801a37a0d
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_5.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_references_6.png b/addons/mass_mailing/static/src/img/snippets_demo/s_references_6.png
new file mode 100644
index 00000000000..896d3d7e709
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_references_6.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_1.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_1.png
new file mode 100644
index 00000000000..a7a887c5d71
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_1.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_2.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_2.png
new file mode 100644
index 00000000000..52316d5268e
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_2.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_3.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_3.png
new file mode 100644
index 00000000000..45bc32e6ab3
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_3.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_4.png b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_4.png
new file mode 100644
index 00000000000..7b1dcb484d4
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/s_team_member_4.png differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/services.jpg b/addons/mass_mailing/static/src/img/snippets_demo/services.jpg
new file mode 100644
index 00000000000..126a83020ff
Binary files /dev/null and b/addons/mass_mailing/static/src/img/snippets_demo/services.jpg differ
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/size_large.svg b/addons/mass_mailing/static/src/img/snippets_demo/size_large.svg
new file mode 100644
index 00000000000..13541780689
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_demo/size_large.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/size_medium.svg b/addons/mass_mailing/static/src/img/snippets_demo/size_medium.svg
new file mode 100644
index 00000000000..00b3a3d43d0
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_demo/size_medium.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_demo/size_small.svg b/addons/mass_mailing/static/src/img/snippets_demo/size_small.svg
new file mode 100644
index 00000000000..aaa36a67385
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_demo/size_small.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_bottom.svg b/addons/mass_mailing/static/src/img/snippets_options/align_bottom.svg
new file mode 100644
index 00000000000..d54b039c2e1
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/align_bottom.svg
@@ -0,0 +1,11 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_bottom_right.svg b/addons/mass_mailing/static/src/img/snippets_options/align_bottom_right.svg
new file mode 100644
index 00000000000..9cea3be7ce4
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/align_bottom_right.svg
@@ -0,0 +1,11 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_middle.svg b/addons/mass_mailing/static/src/img/snippets_options/align_middle.svg
new file mode 100644
index 00000000000..a2aaa6c390b
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/align_middle.svg
@@ -0,0 +1,12 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_middle_right.svg b/addons/mass_mailing/static/src/img/snippets_options/align_middle_right.svg
new file mode 100644
index 00000000000..9ee12c3bd04
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/align_middle_right.svg
@@ -0,0 +1,11 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_stretch.svg b/addons/mass_mailing/static/src/img/snippets_options/align_stretch.svg
new file mode 100644
index 00000000000..026e0486a62
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/align_stretch.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_top.svg b/addons/mass_mailing/static/src/img/snippets_options/align_top.svg
new file mode 100644
index 00000000000..5e5be9a1db0
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/align_top.svg
@@ -0,0 +1,11 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/align_top_right.svg b/addons/mass_mailing/static/src/img/snippets_options/align_top_right.svg
new file mode 100644
index 00000000000..ed84020e788
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/align_top_right.svg
@@ -0,0 +1,11 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/content_width_full.svg b/addons/mass_mailing/static/src/img/snippets_options/content_width_full.svg
new file mode 100644
index 00000000000..4620dce4d03
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/content_width_full.svg
@@ -0,0 +1,9 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/content_width_normal.svg b/addons/mass_mailing/static/src/img/snippets_options/content_width_normal.svg
new file mode 100644
index 00000000000..2a6b08a8fe0
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/content_width_normal.svg
@@ -0,0 +1,12 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/content_width_small.svg b/addons/mass_mailing/static/src/img/snippets_options/content_width_small.svg
new file mode 100644
index 00000000000..f52d357bf14
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/content_width_small.svg
@@ -0,0 +1,11 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/image_left.svg b/addons/mass_mailing/static/src/img/snippets_options/image_left.svg
new file mode 100644
index 00000000000..66fc80d9d10
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/image_left.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/image_right.svg b/addons/mass_mailing/static/src/img/snippets_options/image_right.svg
new file mode 100644
index 00000000000..8cc4ddca000
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/image_right.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_image_text.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_image_text.svg
new file mode 100644
index 00000000000..57c4406d9f5
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_image_text.svg
@@ -0,0 +1,45 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image.svg
new file mode 100644
index 00000000000..3b96357e8ee
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image.svg
@@ -0,0 +1,44 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image_text.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image_text.svg
new file mode 100644
index 00000000000..4a603044b80
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_text_image_text.svg
@@ -0,0 +1,29 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_texts.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_texts.svg
new file mode 100644
index 00000000000..5911b6a50ba
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_alternate_texts.svg
@@ -0,0 +1,26 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_default.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_default.svg
new file mode 100644
index 00000000000..dafa27f6df5
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_default.svg
@@ -0,0 +1,37 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_image_texts_image.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_image_texts_image.svg
new file mode 100644
index 00000000000..d5d29510504
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_image_texts_image.svg
@@ -0,0 +1,36 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_images.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_images.svg
new file mode 100644
index 00000000000..7be2c0394a6
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_images.svg
@@ -0,0 +1,24 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_mosaic.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_mosaic.svg
new file mode 100644
index 00000000000..64c55638eb1
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_mosaic.svg
@@ -0,0 +1,55 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_reversed.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_reversed.svg
new file mode 100644
index 00000000000..d064c03d946
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_reversed.svg
@@ -0,0 +1,37 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/masonry_template_texts_image_texts.svg b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_texts_image_texts.svg
new file mode 100644
index 00000000000..a2ea025e33b
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/masonry_template_texts_image_texts.svg
@@ -0,0 +1,39 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2.svg
new file mode 100644
index 00000000000..f83de7d4c46
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2_right.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2_right.svg
new file mode 100644
index 00000000000..70519f1f284
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_2_right.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3.svg
new file mode 100644
index 00000000000..475877a2c03
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3_right.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3_right.svg
new file mode 100644
index 00000000000..215a3115c70
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_3_right.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4.svg
new file mode 100644
index 00000000000..dd6e24c70c9
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4_right.svg b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4_right.svg
new file mode 100644
index 00000000000..219233dcc53
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_options/media_layout_1_4_right.svg
@@ -0,0 +1,10 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_alert.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_alert.svg
new file mode 100644
index 00000000000..c6a1acbd916
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_alert.svg
@@ -0,0 +1,36 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_blockquote.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_blockquote.svg
new file mode 100644
index 00000000000..d583795e404
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_blockquote.svg
@@ -0,0 +1,37 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_call_to_action.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_call_to_action.svg
new file mode 100644
index 00000000000..8fd18dfafd0
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_call_to_action.svg
@@ -0,0 +1,53 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_color_blocks_2.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_color_blocks_2.svg
new file mode 100644
index 00000000000..48b7b20c1c2
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_color_blocks_2.svg
@@ -0,0 +1,66 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_company_team.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_company_team.svg
new file mode 100644
index 00000000000..c62a9e65ac9
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_company_team.svg
@@ -0,0 +1,36 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_comparisons.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_comparisons.svg
new file mode 100644
index 00000000000..8178f99ea25
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_comparisons.svg
@@ -0,0 +1,73 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_cover.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_cover.svg
new file mode 100644
index 00000000000..6fb7174f172
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_cover.svg
@@ -0,0 +1,40 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_features.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features.svg
new file mode 100644
index 00000000000..fcfa1fe7f92
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features.svg
@@ -0,0 +1,36 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_features_grid.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features_grid.svg
new file mode 100644
index 00000000000..874ef6c0b93
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_features_grid.svg
@@ -0,0 +1,65 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_hr.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_hr.svg
new file mode 100644
index 00000000000..b9197424891
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_hr.svg
@@ -0,0 +1,22 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_image_text.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_image_text.svg
new file mode 100644
index 00000000000..9353ed759d2
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_image_text.svg
@@ -0,0 +1,53 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_masonry_block.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_masonry_block.svg
new file mode 100644
index 00000000000..36c6e1b8a76
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_masonry_block.svg
@@ -0,0 +1,126 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_media_list.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_media_list.svg
new file mode 100644
index 00000000000..c059743fb2e
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_media_list.svg
@@ -0,0 +1,90 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_numbers.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_numbers.svg
new file mode 100644
index 00000000000..49c901482ea
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_numbers.svg
@@ -0,0 +1,53 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_picture.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_picture.svg
new file mode 100644
index 00000000000..d33e7670f04
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_picture.svg
@@ -0,0 +1,53 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_product_list.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_product_list.svg
new file mode 100644
index 00000000000..cc162fc3948
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_product_list.svg
@@ -0,0 +1,88 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_rating.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_rating.svg
new file mode 100644
index 00000000000..911434f4e0b
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_rating.svg
@@ -0,0 +1,47 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_references.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_references.svg
new file mode 100644
index 00000000000..dbb249306d8
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_references.svg
@@ -0,0 +1,111 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_showcase.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_showcase.svg
new file mode 100644
index 00000000000..40dcdf57292
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_showcase.svg
@@ -0,0 +1,86 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_block.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_block.svg
new file mode 100644
index 00000000000..a91d5d58f64
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_block.svg
@@ -0,0 +1,19 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_highlight.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_highlight.svg
new file mode 100644
index 00000000000..77c432f5165
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_highlight.svg
@@ -0,0 +1,36 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_image.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_image.svg
new file mode 100644
index 00000000000..7f335fc330c
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_text_image.svg
@@ -0,0 +1,53 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_three_columns.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_three_columns.svg
new file mode 100644
index 00000000000..7b2fdafbf7a
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_three_columns.svg
@@ -0,0 +1,109 @@
+
diff --git a/addons/mass_mailing/static/src/img/snippets_thumbs/s_title.svg b/addons/mass_mailing/static/src/img/snippets_thumbs/s_title.svg
new file mode 100644
index 00000000000..ca12e48db39
--- /dev/null
+++ b/addons/mass_mailing/static/src/img/snippets_thumbs/s_title.svg
@@ -0,0 +1,8 @@
+
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_banner.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_banner.jpg
new file mode 100644
index 00000000000..e6a85a38b43
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_banner.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_event.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_event.jpg
new file mode 100644
index 00000000000..91fff96b8b4
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_event.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image.jpg
new file mode 100644
index 00000000000..3ca5ebb5e6c
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image_text.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image_text.jpg
new file mode 100644
index 00000000000..87251f5f46a
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_image_text.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_text_image.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_text_image.jpg
new file mode 100644
index 00000000000..10f6102fd82
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_text_image.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_1.jpg
new file mode 100644
index 00000000000..fa939c89aae
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_1.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_2.jpg
new file mode 100644
index 00000000000..35a8006b9c1
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_2.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_3.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_3.jpg
new file mode 100644
index 00000000000..e33e667921c
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_three_cols_3.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_1.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_1.jpg
new file mode 100644
index 00000000000..9a55e53533b
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_1.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_2.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_2.jpg
new file mode 100644
index 00000000000..38c77b3c178
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_block_two_cols_2.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_default_image_logo.png b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_logo.png
new file mode 100644
index 00000000000..1f5169a218f
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_default_image_logo.png differ
diff --git a/addons/mass_mailing/static/src/img/theme_empty/s_masonry_block_default_image_1.jpg b/addons/mass_mailing/static/src/img/theme_empty/s_masonry_block_default_image_1.jpg
new file mode 100644
index 00000000000..b46aba6ee28
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_empty/s_masonry_block_default_image_1.jpg differ
diff --git a/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_large.png b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_large.png
new file mode 100644
index 00000000000..14f920681ab
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_large.png differ
diff --git a/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_small.png b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_small.png
new file mode 100644
index 00000000000..d19535fff7d
Binary files /dev/null and b/addons/mass_mailing/static/src/img/theme_imgs/empty_thumb_small.png differ
diff --git a/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js b/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js
index c9b5eba6fc2..0f9257f736c 100644
--- a/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js
+++ b/addons/mass_mailing/static/src/js/mailing_mailing_view_form_full_width.js
@@ -40,7 +40,6 @@ const MassMailingFullWidthFormController = FormController.extend({
* template is picked.
*
* @private
- * @param {JQuery} $iframe
*/
_resizeMailingEditorIframe() {
const VERTICAL_OFFSET = 12; // Vertical offset picked for visual design purposes.
@@ -105,7 +104,7 @@ const MassMailingFullWidthFormController = FormController.extend({
* @private
*/
_onDomUpdated() {
- const data = { $iframe: this.$('iframe.wysiwyg_iframe, iframe.o_readonly') };
+ const data = { $iframe: this.$('iframe.wysiwyg_iframe:visible, iframe.o_readonly:visible') };
this._onIframeUpdated({ data });
},
/**
diff --git a/addons/mass_mailing/static/src/js/mass_mailing_snippets.js b/addons/mass_mailing/static/src/js/mass_mailing_snippets.js
index 9d7a5992944..b4c4cae9a62 100644
--- a/addons/mass_mailing/static/src/js/mass_mailing_snippets.js
+++ b/addons/mass_mailing/static/src/js/mass_mailing_snippets.js
@@ -63,7 +63,7 @@ options.registry.mass_mailing_sizing_x = options.Class.extend({
return def;
},
change_width: function (event, target, target_width, offset, grow) {
- target.css("width", grow ? (event.pageX - offset) : (offset + target_width - event.pageX));
+ target.css("width", Math.round(grow ? (event.pageX - offset) : (offset + target_width - event.pageX)));
this.trigger_up('cover_update');
},
get_int_width: function (el) {
@@ -81,52 +81,6 @@ options.registry.mass_mailing_sizing_x = options.Class.extend({
},
});
-options.registry.mass_mailing_table_item = options.Class.extend({
- onClone: function (options) {
- this._super.apply(this, arguments);
-
- // If we cloned a td or th element...
- if (options.isCurrent && this.$target.is("td, th")) {
- // ... and that the td or th element was alone on its row ...
- if (this.$target.siblings().length === 1) {
- var $tr = this.$target.parent();
- $tr.clone().empty().insertAfter($tr).append(this.$target); // ... move the clone in a new row instead
- return;
- }
-
- // ... if not, if the clone neighbor is an empty cell, remove this empty cell (like if the clone content had been put in that cell)
- var $next = this.$target.next();
- if ($next.length && $next.text().trim() === "") {
- $next.remove();
- return;
- }
-
- // ... if not, insert an empty col in each other row, at the index of the clone
- var width = this.$target.width();
- var $trs = this.$target.closest("table").children("thead, tbody, tfoot").addBack().children("tr").not(this.$target.parent());
- _.each($trs.children(":nth-child(" + this.$target.index() + ")"), function (col) {
- $(col).after($("
", {style: "width: " + width + "px;"}));
- });
- }
- },
- onRemove: function () {
- this._super.apply(this, arguments);
-
- // If we are removing a td or th element which was not alone on its row ...
- if (this.$target.is("td, th") && this.$target.siblings().length > 0) {
- var $trs = this.$target.closest("table").children("thead, tbody, tfoot").addBack().children("tr").not(this.$target.parent());
- if ($trs.length) { // ... if there are other rows in the table ...
- var $last_tds = $trs.children(":last-child");
- if (_.reduce($last_tds, function (memo, td) { return memo + (td.innerHTML || ""); }, "").trim() === "") {
- $last_tds.remove(); // ... remove the potential full empty column in the table
- } else {
- this.$target.parent().append("
"); // ... else, if there is no full empty column, append an empty col in the current row
- }
- }
- }
- },
-});
-
// Adding compatibility for the outlook compliance of mailings.
// Commit of such compatibility : a14f89c8663c9cafecb1cc26918055e023ecbe42
options.registry.BackgroundImage = options.registry.BackgroundImage.extend({
diff --git a/addons/mass_mailing/static/src/js/mass_mailing_widget.js b/addons/mass_mailing/static/src/js/mass_mailing_widget.js
index c17abbf7d6c..dc6df098917 100644
--- a/addons/mass_mailing/static/src/js/mass_mailing_widget.js
+++ b/addons/mass_mailing/static/src/js/mass_mailing_widget.js
@@ -15,6 +15,11 @@ var MassMailingFieldHtml = FieldHtml.extend({
jsLibs: [
'/mass_mailing/static/src/js/mass_mailing_link_dialog_fix.js',
'/mass_mailing/static/src/js/mass_mailing_snippets.js',
+ '/mass_mailing/static/src/snippets/s_blockquote/options.js',
+ '/mass_mailing/static/src/snippets/s_masonry_block/options.js',
+ '/mass_mailing/static/src/snippets/s_media_list/options.js',
+ '/mass_mailing/static/src/snippets/s_showcase/options.js',
+ '/mass_mailing/static/src/snippets/s_rating/options.js',
],
custom_events: _.extend({}, FieldHtml.prototype.custom_events, {
@@ -67,18 +72,26 @@ var MassMailingFieldHtml = FieldHtml.extend({
self._isDirty = self.wysiwyg.isDirty();
self._doAction();
+ // fix outlook image rendering bug (this change will be kept in both
+ // fields)
+ _.each(['width', 'height'], function (attribute) {
+ $editable.find('img').attr(attribute, function () {
+ return $(this)[attribute]();
+ }).css(attribute, function () {
+ return $(this).get(0).style[attribute] || attribute === 'width' ? $(this)[attribute]() + 'px' : 'auto';
+ });
+ });
+
convertInline.attachmentThumbnailToLinkImg($editable);
convertInline.fontToImg($editable);
convertInline.classToStyle($editable);
-
- // fix outlook image rendering bug
- _.each(['width', 'height'], function (attribute) {
- $editable.find('img[style*="width"], img[style*="height"]').attr(attribute, function () {
- return $(this)[attribute]();
- }).css(attribute, function () {
- return $(this).get(0).style[attribute] || 'auto';
- });
- });
+ convertInline.bootstrapToTable($editable);
+ convertInline.cardToTable($editable);
+ convertInline.listGroupToTable($editable);
+ convertInline.addTables($editable);
+ convertInline.formatTables($editable);
+ convertInline.normalizeColors($editable);
+ convertInline.normalizeRem($editable);
self.trigger_up('field_changed', {
dataPointID: self.dataPointID,
@@ -111,6 +124,17 @@ var MassMailingFieldHtml = FieldHtml.extend({
// Private
//--------------------------------------------------------------------------
+ /**
+ * @override
+ */
+ _createWysiwygIntance: async function () {
+ await this._super(...arguments);
+ // Data is removed on save but we need the mailing and its body to be
+ // named so they are handled properly by the snippets menu.
+ this.$content.find('.o_layout').addBack().data('name', 'Mailing');
+ // We don't want to drop snippets directly within the wysiwyg.
+ this.$content.removeClass('o_editable').addClass('o_not_editable')
+ },
/**
* Returns true if the editable area is empty.
*
@@ -146,13 +170,6 @@ var MassMailingFieldHtml = FieldHtml.extend({
}
return this._super.apply(this, arguments);
},
- /**
- * @override
- */
- _renderReadonly: function () {
- this.value = this.recordData[this.nodeOptions['inline-field']];
- return this._super.apply(this, arguments);
- },
/**
* @override
@@ -223,6 +240,9 @@ var MassMailingFieldHtml = FieldHtml.extend({
$img.attr("src", src);
});
+ $container.find('.o_mail_block_cover .oe_img_bg').each(function () {
+ $(this).css('background-image', `url('/mass_mailing_themes/static/src/img/theme_${themeParams.name}/s_default_image_block_banner.jpg')`);
+ });
},
/**
* Switch themes or import first theme.
@@ -252,26 +272,17 @@ var MassMailingFieldHtml = FieldHtml.extend({
} else {
// This wrapper structure is the only way to have a responsive
// and centered fixed-width content column on all mail clients
- $new_wrapper = $('
Color blocks are a simple and effective way to present and highlight your content. Choose an image or a color for the background. You can even resize and duplicate the blocks to create your own layout. Add images or icons to customize the blocks.
Color blocks are a simple and effective way to present and highlight your content. Choose an image or a color for the background. You can even resize and duplicate the blocks to create your own layout. Add images or icons to customize the blocks.
+ Founder and chief visionary, Tony is the driving force behind the company. He loves
+ to keep his hands full by participating in the development of the software,
+ marketing, and customer experience strategies.
+
+
+
+
+
+
+
+
+
+
+
+
+
Mich Stark, COO
+
Mich loves taking on challenges. With his multi-year experience as Commercial Director in the software industry, Mich has helped the company to get where it is today. Mich is among the best minds.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Aline Turner, CTO
+
Aline is one of the iconic people in life who can say they love what they do. She mentors 100+ in-house developers and looks after the community of thousands of developers.
+
+
+
+
+
+
+
+
+
+
+
+
Iris Joe, CFO
+
Iris, with her international experience, helps us easily understand the numbers and improves them. She is determined to drive success and delivers her professional acumen to bring the company to the next level.
Use this snippet to build various types of components that feature a left- or right-aligned image alongside textual content. Duplicate the element to create a list that fits your needs.
Speakers from all over the world will join our experts to give inspiring talks on various topics. Stay on top of the latest business management trends & technologies
+
+
+
+
+
+
+
+
+
+
Post heading
+
Use this component for creating a list of featured elements to which you want to bring attention.
Adapt these three columns to fit your design need. To duplicate, delete or move columns, select the column and use the top icons to perform your action.
+
+
+
+
+
+
+
+
Feature Two
+
To add a fourth column, reduce the size of these three columns using the right icon of each block. Then, duplicate one of the columns to create a new one as a copy.
+
+
+
+
+
+
+
+
Feature Three
+
Delete the above image or replace it with a picture that illustrates your message. Click on the picture to change its rounded corner style.