diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/web_editor/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/web_editor/views')
| -rw-r--r-- | addons/web_editor/views/editor.xml | 263 | ||||
| -rw-r--r-- | addons/web_editor/views/snippets.xml | 377 |
2 files changed, 640 insertions, 0 deletions
diff --git a/addons/web_editor/views/editor.xml b/addons/web_editor/views/editor.xml new file mode 100644 index 00000000..3d87ba2d --- /dev/null +++ b/addons/web_editor/views/editor.xml @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + +<template id="wysiwyg_iframe_editor_assets" name="Editor assets for wysiwyg iframe content" groups="base.group_user"> + <t t-call-assets="web.assets_common"/> + <t t-call-assets="web.assets_frontend" t-js="false"/> + <t t-call-assets="web_editor.assets_wysiwyg"/> +</template> + +<template id="compiled_assets_wysiwyg" name="Wysiwyg Editor" groups="base.group_user,base.group_portal"> + <t t-call-assets="web_editor.assets_wysiwyg"/> +</template> + +<template id="web_editor.assets_wysiwyg" name="Wysiwyg Editor Assets"> + <!-- lib --> + + <t t-call-assets="web_editor.assets_summernote"/> + + <link rel="stylesheet" type="text/css" href="/web_editor/static/lib/cropperjs/cropper.css"/> + <script type="text/javascript" src="/web_editor/static/lib/cropperjs/cropper.js"/> + <script type="text/javascript" src="/web_editor/static/lib/jquery-cropper/jquery-cropper.js"/> + <script type="text/javascript" src="/web_editor/static/lib/jQuery.transfo.js"/> + <script type="text/javascript" src="/web/static/lib/nearest/jquery.nearest.js"/> + <script type="text/javascript" src="/web_editor/static/lib/webgl-image-filter/webgl-image-filter.js"/> + + <!-- odoo utils --> + + <t t-call="web._assets_helpers"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/bootstrap_overridden.scss"/> + </t> + + <!-- integration --> + + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/wysiwyg.scss"/> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/wysiwyg_iframe.scss"/> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/wysiwyg_snippets.scss"/> + + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/fonts.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/base.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/editor/editor.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/editor/rte.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/editor/rte.summernote.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/editor/image_processing.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/editor/custom_colors.js"/> + + <!-- widgets & plugins --> + + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/media.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/dialog.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/alt_dialog.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/color_palette.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/image_crop_widget.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/widgets/widgets.js"/> + + <script type="text/javascript" src="/web_editor/static/src/js/editor/snippets.editor.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/editor/snippets.options.js"/> + + <!-- Launcher --> + <script type="text/javascript" src="/web_editor/static/lib/jabberwock/jabberwock.js"/> + <link rel="stylesheet" type="text/css" href="/web_editor/static/lib/jabberwock/jabberwock.css"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/wysiwyg_translate_attributes.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/wysiwyg.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/wysiwyg_snippets.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/wysiwyg_iframe.js"/> +</template> + +<template id="assets_summernote" name="Summernote"> + <script type="text/javascript" src="/web_editor/static/lib/summernote/src/js/enable_summernote.js"/> + <script type="text/javascript"> + (function () { + "use strict"; + odoo.define('jquery', function () {return $;}); + + var uniqId = 0; + odoo.__define__ = window.define; + window.define = function (id) { + if (!odoo.__enable_summernote__) return; + var args = Array.prototype.slice.call(arguments); + var factorie = args.pop(); + var id = args[0]; + + if (id instanceof Array) { + var name = "summernote_factorie_" + (++uniqId); + odoo[name] = factorie; + + var head = ''; + var fn = 'var fn = odoo.'+name+';\ndelete odoo.'+name+';\n'; + fn += 'return fn('; + for (var k=0; k<id.length; k++) { + head += 'var a'+(++uniqId)+' = require("'+id[k]+'");\n'; + fn += 'a'+uniqId+', '; + } + fn += 'null);'; + + odoo.define(odoo.website_next_define, new Function('require', head + fn)); + } else { + odoo.define(id, factorie); + } + }; + })(); + </script> + <t t-set="summer_js_files" t-value="['core/async', 'core/func', 'core/agent', 'core/list', + 'core/dom', 'core/key', 'core/range', 'editing/Bullet', 'editing/History', 'editing/Style', + 'editing/Table', 'editing/Typing', 'module/Editor', 'module/Button', 'module/Clipboard', + 'module/Codeview', 'module/DragAndDrop', 'module/Fullscreen', 'module/Handle', + 'module/HelpDialog', 'module/ImageDialog', 'module/LinkDialog', 'module/Popover', + 'module/Statusbar', 'module/Toolbar', 'Renderer', 'EventHandler', 'defaults', 'summernote']" /> + <t t-foreach="summer_js_files" t-as="file"> + <script>odoo.website_next_define = 'summernote/<t t-esc="file" />';</script> + <script type="text/javascript" t-attf-src="/web_editor/static/lib/summernote/src/js/{{ file }}.js"></script> + </t> + <script type="text/javascript" src="/web_editor/static/src/js/editor/summernote.js" /> + <script type="text/javascript"> + window.define = odoo.__define__; + delete odoo.__define__; + delete odoo.website_next_define; + delete odoo.__enable_summernote__; + </script> + <link rel="stylesheet" type="text/css" href="/web_editor/static/lib/summernote/src/css/summernote.css"/> +</template> + +<template id="_assets_primary_variables" inherit_id="web._assets_primary_variables"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/web_editor.variables.scss"/> + </xpath> +</template> + +<template id="_assets_13_0_color_system_support_primary_variables" inherit_id="web_editor._assets_primary_variables" active="False"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/13_0_color_system_support_primary_variables.scss"/> + </xpath> +</template> + +<template id="_assets_secondary_variables" inherit_id="web._assets_secondary_variables"> + <xpath expr="//link" position="before"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/secondary_variables.scss"/> + </xpath> +</template> + +<template id="assets_common" inherit_id="web.assets_common" name="Web Editor Common Assets (used in backend interface and website)"> + <xpath expr="script[last()]" position="after"> + <script type="text/javascript" src="/web_editor/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/common/ace.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/common/utils.js"/> + <script type="text/javascript" src="/web_editor/static/src/js/wysiwyg/root.js"/> + </xpath> +</template> + +<template id="_assets_backend_helpers" inherit_id="web._assets_backend_helpers"> + <xpath expr="//link" position="before"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/bootstrap_overridden_backend.scss"/> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/bootstrap_overridden.scss"/> + </xpath> +</template> + +<template id="assets_backend" inherit_id="web.assets_backend" name="Web Editor Backend Assets (used in backend interface)"> + <xpath expr="link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/web_editor.common.scss"/> <!-- not in common because compiled differently with context --> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/web_editor.backend.scss"/> + </xpath> + <xpath expr="script[last()]" position="after"> + <script type="text/javascript" src="/web_editor/static/src/js/frontend/loader.js" /> + <script type="text/javascript" src="/web_editor/static/src/js/backend/field_html.js" /> + <script type="text/javascript" src="/web_editor/static/src/js/backend/convert_inline.js" /> + </xpath> +</template> + +<template id="_assets_frontend_helpers" inherit_id="web._assets_frontend_helpers"> + <xpath expr="//link" position="before"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/bootstrap_overridden.scss"/> + </xpath> +</template> + +<template id="_assets_frontend_minimal_js" inherit_id="web._assets_frontend_minimal_js"> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/web_editor/static/src/js/frontend/loader_loading.js"/> + </xpath> +</template> + +<template id="assets_frontend" inherit_id="web.assets_frontend" name="Web Editor Frontend Assets (used in public odoo)" priority="15"> + <xpath expr="//link[last()]" position="after"> + <link rel="stylesheet" type="text/scss" href="/web_editor/static/src/scss/web_editor.common.scss"/> <!-- not in common because compiled differently with context --> + <link rel="stylesheet" type ="text/scss" href="/web_editor/static/src/scss/web_editor.frontend.scss"/> + </xpath> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript" src="/web_editor/static/src/js/frontend/loader.js"/> + </xpath> +</template> + +<template id="qunit_suite" inherit_id="web.qunit_suite_tests"> + <xpath expr="//script[last()]" position="after"> + <script type="text/javascript"> + odoo.define('web_editor.wysiwyg.root.test', function (require) { + 'use strict'; + var WysiwygRoot = require('web_editor.wysiwyg.root'); + if (WysiwygRoot) { + WysiwygRoot.include({ + assetLibs: null // We need to add the asset because tests performed overwrites (Dialog, Unbreakable...) + }); + } + }); + </script> + <t t-call="web_editor.assets_wysiwyg"/> + + <script type="text/javascript" src="/web_editor/static/tests/test_utils.js"/> + <script type="text/javascript" src="/web_editor/static/tests/field_html_tests.js"/> + </xpath> +</template> + +<template id="assets_edit_html_field" name="Wysiwyg Editor Assets for html field (style-inline)" groups="base.group_user,base.group_portal"> + <t t-call-assets="web.assets_common" t-js="false"/> + <t t-call-assets="web_editor.assets_wysiwyg" t-js="false"/> +</template> + +<!-- + The web_editor.colorpicker template regroups section of colorpicker menu for website customization + (text foreground/background but also snippet background color option). + As it is presentend below, the colorpicker tag regroups a set of .o_colorpicker_section with name, + icon-class and icon-content as data. These will be used to build the colorpicker dropdowns. + + Redefinition can edit section content, add sections or even remove them. If no section is found when + building a colorpicker dropdown, the template content will be used without changes as the colorpicker + dropdown content. + + Sections should contain a set of button with a data-color attribute. When selecting such a button to + edit style, the "bg-x" class or the "text-x" will be automatically added. + + If a color is no longer used you need to add the d-none class to it and not remove it from this file !! + Else you will no longer be able to use them. +--> +<template id="web_editor.colorpicker" name="Color-Picker" groups="base.group_user"> + <colorpicker> + <div class="o_colorpicker_section" data-name="theme"> + <button t-foreach="5" t-as="i" t-attf-data-color="o-color-#{i + 1}"></button> + </div> + <div class="o_colorpicker_section" data-name="common"> + <button data-color="black"></button> + <button data-color="900"></button> + <button data-color="800"></button> + <button data-color="700" class="d-none"></button> + <button data-color="600"></button> + <button data-color="500" class="d-none"></button> + <button data-color="400"></button> + <button data-color="300" class="d-none"></button> + <button data-color="200"></button> + <button data-color="100"></button> + <button data-color="white"></button> + </div> + <div class="o_colorpicker_section" data-name="transparent_grayscale"> + <button data-color="black-15"></button> + <button data-color="black-25"></button> + <button data-color="black-50"></button> + <button data-color="black-75"></button> + <button data-color="white-25"></button> + <button data-color="white-50"></button> + <button data-color="white-75"></button> + <button data-color="white-85"></button> + </div> + </colorpicker> +</template> +</odoo> diff --git a/addons/web_editor/views/snippets.xml b/addons/web_editor/views/snippets.xml new file mode 100644 index 00000000..35eea6ce --- /dev/null +++ b/addons/web_editor/views/snippets.xml @@ -0,0 +1,377 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> +<template id="snippets" groups="base.group_user"> + <form class="o_we_website_top_actions d-none"> + <button type="button" class="btn btn-primary" name="save" data-action="save" accesskey="s">Save</button> + <button type="button" class="btn btn-secondary" name="cancel" data-action="cancel" accesskey="j">Discard</button> + <button type="button" class="btn btn-secondary" name="mobile" data-action="mobile">Mobile preview</button> + </form> + <div id="snippets_menu"> + <button type="button" tabindex="1" class="o_we_add_snippet_btn active text-uppercase" accesskey="1"> + <span>Blocks</span> + </button> + <t t-set="customize_title">Click in the page to customize</t> + <button type="button" tabindex="2" class="o_we_customize_snippet_btn text-uppercase" + t-att-data-title="customize_title" + disabled="disabled"> + <span>Style</span> + </button> + </div> + + <div class="o_snippet_search_filter"> + <input type="text" class="o_snippet_search_filter_input" placeholder="Search..."/> + <i role="button" class="fa fa-times o_snippet_search_filter_reset d-none"/> + </div> + + <div id="o_scroll"> + <div id="snippet_custom" class="o_panel d-none"> + <div class="o_panel_header">Custom</div> + <div id="snippet_custom_body" class="o_panel_body"/> + </div> + <t id="default_snippets"> + <div id="snippet_structure" class="o_panel"> + <div class="o_panel_header">First Panel</div> + <div class="o_panel_body"> + <t t-snippet="web_editor.s_hr" t-thumbnail="/website/static/src/img/snippets_thumbs/s_separator.png"/> + </div> + </div> + </t> + </div> + + <div id="snippet_options" class="d-none"> + <t t-call="web_editor.snippet_options"/> + </div> +</template> + +<template id="snippet_options_image_optimization_widgets"> + <div class="o_we_external_warning d-none"> + <we-title title="Quality options are unavailable for external images. If you want to change this image's quality, please first download it from the original source and upload it in Odoo."> + <i class="fa fa-warning" /> External Image + </we-title> + </div> + + <t t-set="filter_label">Filter</t> + <we-select t-att-string="indent and (' ⌙ %s' % filter_label) or filter_label"> + <we-button data-gl-filter="">None</we-button> + <we-button data-gl-filter="blur">Blur</we-button> + <we-button data-gl-filter="1977">1977</we-button> + <we-button data-gl-filter="aden">Aden</we-button> + <we-button data-gl-filter="brannan">Brannan</we-button> + <we-button data-gl-filter="earlybird">EarlyBird</we-button> + <we-button data-gl-filter="inkwell">Inkwell</we-button> + <we-button data-gl-filter="maven">Maven</we-button> + <we-button data-gl-filter="toaster">Toaster</we-button> + <we-button data-gl-filter="walden">Walden</we-button> + <we-button data-gl-filter="valencia">Valencia</we-button> + <we-button data-gl-filter="xpro">Xpro</we-button> + <we-button data-gl-filter="custom" data-name="custom_glfilter_opt">Custom</we-button> + </we-select> + <t t-set="color_label">Color</t> + <t t-set="saturation_label">Saturation</t> + <t t-set="contrast_label">Contrast</t> + <t t-set="brightness_label">Brightness</t> + <t t-set="sepia_label">Sepia</t> + <t t-set="blur_label">Blur</t> + <we-row t-att-string="indent and (' ⌙ %s' % color_label) or ('⌙ %s' % color_label)"> + <we-select data-filter-property="blend" data-dependencies="custom_glfilter_opt"> + <we-button data-custom-filter="normal">Normal</we-button> + <we-button data-custom-filter="overlay">overlay</we-button> + <we-button data-custom-filter="screen">screen</we-button> + <we-button data-custom-filter="multiply">multiply</we-button> + <we-button data-custom-filter="lighter">add</we-button> + <we-button data-custom-filter="exclusion">exclusion</we-button> + <we-button data-custom-filter="darken">darken</we-button> + <we-button data-custom-filter="lighten">lighten</we-button> + </we-select> + <we-colorpicker data-dependencies="custom_glfilter_opt" data-custom-filter="" data-filter-property="filterColor" data-excluded="common, theme"/> + </we-row> + <we-range t-att-string="indent and (' ⌙ %s' % saturation_label) or ('⌙ %s' % saturation_label)" + data-dependencies="custom_glfilter_opt" + data-custom-filter="" + data-filter-property="saturation" + data-min="-100" + data-step="10"/> + <we-range t-att-string="indent and (' ⌙ %s' % contrast_label) or ('⌙ %s' % contrast_label)" + data-dependencies="custom_glfilter_opt" + data-custom-filter="" + data-filter-property="contrast" + data-min="-100" + data-step="10"/> + <we-range t-att-string="indent and (' ⌙ %s' % brightness_label) or ('⌙ %s' % brightness_label)" + data-dependencies="custom_glfilter_opt" + data-custom-filter="" + data-filter-property="brightness" + data-min="-100" + data-step="10"/> + <we-range t-att-string="indent and (' ⌙ %s' % sepia_label) or ('⌙ %s' % sepia_label)" + data-dependencies="custom_glfilter_opt" + data-custom-filter="" + data-filter-property="sepia" + data-step="5"/> + <we-range t-att-string="indent and (' ⌙ %s' % blur_label) or ('⌙ %s' % blur_label)" + data-dependencies="custom_glfilter_opt" + data-custom-filter="" + data-filter-property="blur" + data-max="2000" + data-step="100"/> + + <t t-set="width_label">Width</t> + <we-select t-att-string="indent and (' ⌙ %s' % width_label) or width_label" data-name="width_select_opt"/> + + <t t-set="quality_label">Quality</t> + <we-range t-att-string="indent and (' ⌙ %s' % quality_label) or quality_label" data-set-quality=""/> + + <div class="o_we_image_weight d-none"><small/><b/></div> +</template> + +<template id="snippet_options_background_color_widget"> + <we-colorpicker title="Color" + data-name="bg_color_opt" + data-select-style="" + data-css-property="background-color" + data-color-prefix="bg-" + t-att-data-with-combinations="with_color_combinations and 'true' or None" + t-att-data-css-compatible="css_compatible and 'true' or None"/> +</template> + +<template id="snippet_options_background_options"> + <div t-att-data-js="with_colors and with_color_combinations and 'ColoredLevelBackground' or 'BackgroundToggler'" + t-att-data-selector="selector" + t-att-data-exclude="exclude" + t-att-data-target="target"> + <we-row t-if="with_colors or with_images" string="Background" class="o_we_full_row"> + <t t-if="with_colors" t-call="web_editor.snippet_options_background_color_widget"/> + <t t-if="with_images"> + <we-button title="Image" class="ml-auto" + data-name="bg_image_toggle_opt" + t-att-data-dependencies="images_dependencies" + data-toggle-bg-image="true" + data-no-preview="true"> + <i class="fa fa-fw fa-camera"/> + </we-button> + <we-button title="Filter" + data-name="bg_filter_toggle_opt" + data-dependencies="bg_image_toggle_opt" + data-toggle-bg-filter="true" + data-no-preview="true"> + <i class="fa fa-fw fa-paint-brush"/> + </we-button> + <we-button title="Shape" + data-toggle-bg-shape="true" + t-att-data-dependencies="images_dependencies" + data-no-preview="true" + data-img="/web_editor/static/src/img/snippets_options/bg_shape.svg"/> + </t> + </we-row> + </div> + <t t-if="with_images"> + <div data-js="BackgroundImage" + t-att-data-selector="selector" + t-att-data-exclude="exclude" + t-att-data-target="target"> + <we-row string="⌙ Image"> + <we-imagepicker title="Edit image" + data-background="" + data-name="bg_image_opt" + data-dependencies="bg_image_opt"/> + </we-row> + <we-colorpicker string=" ⌙ Dynamic color" data-dynamic-color="true" data-name="dynamic_color_opt"/> + </div> + + <div data-js="BackgroundPosition" + t-att-data-selector="selector" + t-att-data-exclude="exclude" + t-att-data-target="target"> + <we-row string=" ⌙ Position"><!--   --> + <we-select data-no-preview="true"> + <we-button data-background-type="cover">Cover</we-button> + <we-button data-background-type="repeat-pattern" data-name="background_repeat_opt">Repeat pattern</we-button> + </we-select> + <we-button title="Background Position" data-background-position-overlay="true" data-no-preview="true"> + <i class="fa fa-fw fa-crosshairs"/> + </we-button> + </we-row> + <we-multi data-css-property="background-size" data-dependencies="background_repeat_opt"> + <!--   --> + <we-input string=" ⌙ Width" data-select-style="auto" placeholder="auto" data-unit="px"/> + <we-input string=" ⌙ Height" data-select-style="auto" placeholder="auto" data-unit="px"/> + </we-multi> + </div> + + <div data-js="BackgroundOptimize" + t-att-data-selector="selector" + t-att-data-exclude="exclude" + t-att-data-target="target"> + <t t-call="web_editor.snippet_options_image_optimization_widgets"> + <t t-set="indent" t-value="True"/> + </t> + </div> + + <!-- Color filter --> + <div data-option-name="colorFilter" + t-att-data-selector="selector" + t-att-data-exclude="exclude" + t-att-data-target="target"> + <we-colorpicker string="⌙ Color filter" + data-select-style="true" + data-css-property="background-color" + data-color-prefix="bg-" + data-apply-to=".o_we_bg_filter"/> + </div> + + <div data-js="BackgroundShape" string="Shape" + t-att-data-selector="selector" + t-att-data-exclude="exclude" + t-att-data-target="target"> + <we-select-pager class="o_we_shape_menu" string="⌙ Shape" data-dependencies="!shape_none_opt" data-name="bg_shape_opt"> + <!-- Invisible None button to be used for select's placeholder text --> + <we-button data-shape="" data-name="shape_none_opt"/> + <we-select-page string="Origins"> + <we-button data-shape="web_editor/Origins/01" data-select-label="Origins 01"/> + <we-button data-shape="web_editor/Origins/02" data-select-label="Origins 02"/> + <we-button data-shape="web_editor/Origins/03" data-select-label="Origins 03"/> + <we-button data-shape="web_editor/Origins/04" data-select-label="Origins 04"/> + <we-button data-shape="web_editor/Origins/05" data-select-label="Origins 05"/> + <we-button data-shape="web_editor/Origins/06" data-select-label="Origins 06"/> + <we-button data-shape="web_editor/Origins/07" data-select-label="Origins 07"/> + <we-button data-shape="web_editor/Origins/08" data-select-label="Origins 08"/> + <we-button data-shape="web_editor/Origins/09" data-select-label="Origins 09"/> + <we-button data-shape="web_editor/Origins/10" data-select-label="Origins 10"/> + <we-button data-shape="web_editor/Origins/11" data-select-label="Origins 11"/> + <we-button data-shape="web_editor/Origins/12" data-select-label="Origins 12"/> + <we-button data-shape="web_editor/Origins/13" data-select-label="Origins 13"/> + <we-button data-shape="web_editor/Origins/14" data-select-label="Origins 14"/> + <we-button data-shape="web_editor/Origins/15" data-select-label="Origins 15"/> + </we-select-page> + <we-select-page string="Blocks & Rainy"> + <we-button data-shape="web_editor/Blocks/03" data-select-label="Blocks 03"/> + <we-button data-shape="web_editor/Blocks/04" data-select-label="Blocks 04"/> + <we-button data-shape="web_editor/Rainy/01" data-select-label="Rainy 01"/> + <we-button data-shape="web_editor/Rainy/02" data-select-label="Rainy 02"/> + <we-button data-shape="web_editor/Rainy/06" data-select-label="Rainy 06"/> + <we-button data-shape="web_editor/Rainy/07" data-select-label="Rainy 07"/> + <we-button data-shape="web_editor/Blocks/02_001" data-select-label="Blocks 02"/> + <we-button data-shape="web_editor/Blocks/01_001" data-select-label="Blocks 01"/> + <we-button data-shape="web_editor/Rainy/03" data-select-label="Rainy 03"/> + <we-button data-shape="web_editor/Rainy/04" data-select-label="Rainy 04"/> + <we-button data-shape="web_editor/Rainy/05_001" data-select-label="Rainy 05"/> + <we-button data-shape="web_editor/Rainy/08" data-select-label="Rainy 08"/> + <we-button data-shape="web_editor/Rainy/09" data-select-label="Rainy 09"/> + </we-select-page> + <we-select-page string="Wavy"> + <we-button data-shape="web_editor/Wavy/01" data-select-label="Wavy 01"/> + <we-button data-shape="web_editor/Wavy/02" data-select-label="Wavy 02"/> + <we-button data-shape="web_editor/Wavy/03" data-select-label="Wavy 03"/> + <we-button data-shape="web_editor/Wavy/04" data-select-label="Wavy 04"/> + <we-button data-shape="web_editor/Wavy/05" data-select-label="Wavy 05"/> + <we-button data-shape="web_editor/Wavy/06_001" data-select-label="Wavy 06"/> + <we-button data-shape="web_editor/Wavy/07" data-select-label="Wavy 07"/> + <we-button data-shape="web_editor/Wavy/08" data-select-label="Wavy 08"/> + <we-button data-shape="web_editor/Wavy/09" data-select-label="Wavy 09"/> + <we-button data-shape="web_editor/Wavy/10" data-select-label="Wavy 10"/> + <we-button data-shape="web_editor/Wavy/11" data-select-label="Wavy 11"/> + <we-button data-shape="web_editor/Wavy/12" data-select-label="Wavy 12"/> + <we-button data-shape="web_editor/Wavy/13" data-select-label="Wavy 13"/> + <we-button data-shape="web_editor/Wavy/14" data-select-label="Wavy 14"/> + <we-button data-shape="web_editor/Wavy/15" data-select-label="Wavy 15"/> + <we-button data-shape="web_editor/Wavy/16" data-select-label="Wavy 16"/> + <we-button data-shape="web_editor/Wavy/17" data-select-label="Wavy 17"/> + <we-button data-shape="web_editor/Wavy/18" data-select-label="Wavy 18"/> + <we-button data-shape="web_editor/Wavy/19" data-select-label="Wavy 19"/> + <we-button data-shape="web_editor/Wavy/20" data-select-label="Wavy 20"/> + <we-button data-shape="web_editor/Wavy/21" data-select-label="Wavy 21"/> + <we-button data-shape="web_editor/Wavy/22" data-select-label="Wavy 22"/> + <we-button data-shape="web_editor/Wavy/23" data-select-label="Wavy 23"/> + </we-select-page> + <we-select-page string="Blobs"> + <we-button data-shape="web_editor/Blobs/01" data-select-label="Blobs 01"/> + <we-button data-shape="web_editor/Blobs/02" data-select-label="Blobs 02"/> + <we-button data-shape="web_editor/Blobs/03" data-select-label="Blobs 03"/> + <we-button data-shape="web_editor/Blobs/04" data-select-label="Blobs 04"/> + <we-button data-shape="web_editor/Blobs/05" data-select-label="Blobs 05"/> + <we-button data-shape="web_editor/Blobs/06" data-select-label="Blobs 06"/> + <we-button data-shape="web_editor/Blobs/07" data-select-label="Blobs 07"/> + <we-button data-shape="web_editor/Blobs/08" data-select-label="Blobs 08"/> + <we-button data-shape="web_editor/Blobs/09" data-select-label="Blobs 09"/> + <we-button data-shape="web_editor/Blobs/10" data-select-label="Blobs 10"/> + <we-button data-shape="web_editor/Blobs/11" data-select-label="Blobs 11"/> + <we-button data-shape="web_editor/Blobs/12" data-select-label="Blobs 12"/> + </we-select-page> + <we-select-page string="Bold"> + <we-button data-shape="web_editor/Bold/01" data-select-label="Bold 01"/> + <we-button data-shape="web_editor/Bold/02" data-select-label="Bold 02"/> + <we-button data-shape="web_editor/Bold/03" data-select-label="Bold 03"/> + <we-button data-shape="web_editor/Bold/04" data-select-label="Bold 04"/> + <we-button data-shape="web_editor/Bold/05_001" data-select-label="Bold 05"/> + <we-button data-shape="web_editor/Bold/06_001" data-select-label="Bold 06"/> + <we-button data-shape="web_editor/Bold/07" data-select-label="Bold 07"/> + <we-button data-shape="web_editor/Bold/08" data-select-label="Bold 08"/> + <we-button data-shape="web_editor/Bold/09" data-select-label="Bold 09"/> + <we-button data-shape="web_editor/Bold/10_001" data-select-label="Bold 10"/> + <we-button data-shape="web_editor/Bold/11_001" data-select-label="Bold 11"/> + <we-button data-shape="web_editor/Bold/12" data-select-label="Bold 12"/> + </we-select-page> + <we-select-page string="Airy & Zigs"> + <we-button data-shape="web_editor/Airy/01" data-select-label="Airy 01"/> + <we-button data-shape="web_editor/Airy/02" data-select-label="Airy 02"/> + <we-button data-shape="web_editor/Airy/03" data-select-label="Airy 03"/> + <we-button data-shape="web_editor/Airy/04" data-select-label="Airy 04"/> + <we-button data-shape="web_editor/Airy/05" data-select-label="Airy 05"/> + <we-button data-shape="web_editor/Airy/06" data-select-label="Airy 06"/> + <we-button data-shape="web_editor/Airy/07" data-select-label="Airy 07"/> + <we-button data-shape="web_editor/Airy/08" data-select-label="Airy 08"/> + <we-button data-shape="web_editor/Airy/09" data-select-label="Airy 09"/> + <we-button data-shape="web_editor/Airy/10" data-select-label="Airy 10"/> + <we-button data-shape="web_editor/Airy/11" data-select-label="Airy 11"/> + <we-button data-shape="web_editor/Airy/12" data-select-label="Airy 12"/> + <we-button data-shape="web_editor/Airy/13" data-select-label="Airy 13"/> + <we-button data-shape="web_editor/Airy/14" data-select-label="Airy 14"/> + <we-button data-shape="web_editor/Zigs/01" data-select-label="Zigs 01"/> + <we-button data-shape="web_editor/Zigs/02" data-select-label="Zigs 02"/> + <we-button data-shape="web_editor/Zigs/03" data-select-label="Zigs 03"/> + <we-button data-shape="web_editor/Zigs/04" data-select-label="Zigs 04"/> + <we-button data-shape="web_editor/Zigs/05" data-select-label="Zigs 05"/> + </we-select-page> + </we-select-pager> + <we-row string=" ⌙ Flip"><!--   --> + <we-button data-flip-x="true" data-no-preview="true" data-dependencies="!shape_none_opt"><i class="fa fa-fw fa-arrows-h"/></we-button> + <we-button data-flip-y="true" data-no-preview="true" data-dependencies="!shape_none_opt"><i class="fa fa-fw fa-arrows-v"/></we-button> + </we-row> + <we-row string=" ⌙ Colors" data-name="colors"> + <we-colorpicker data-select-style="" data-css-property="background-color" data-color-prefix="bg-" data-apply-to="> .o_we_shape"/> + </we-row> + </div> + </t> +</template> + +<!-- options (data-selector, data-drop-in, data-drop-near, data-js to link js object ) --> +<template id="snippet_options"> + <!-- t-field --> + <div data-js='many2one' + data-selector="[data-oe-many2one-model]:not([data-oe-readonly])" + data-no-check="true"/> + + <div data-selector=".s_hr" + data-drop-near="p, h1, h2, h3, blockquote, .s_hr"/> + + <div data-js="VersionControl" + data-selector="[data-snippet]"/> + + <div data-js="ImageOptimize" + data-selector="img"> + <t t-call="web_editor.snippet_options_image_optimization_widgets"/> + </div> + + <div data-js="DynamicSvg" data-selector="img"> + <we-colorpicker string="Dynamic color" data-color="true"/> + </div> +</template> + +<!-- default block --> +<template id="s_hr" name="Separator"> + <div class="s_hr pt32 pb32"> + <hr class="s_hr_1px s_hr_solid w-100 mx-auto"/> + </div> +</template> + +</odoo> |
