flectra/addons/web_editor/static/src/xml/editor.xml

399 lines
21 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve">
<!--=================-->
<!-- Base components -->
<!--=================-->
<!-- Editor top bar which contains the summernote tools and save/discard buttons -->
<t t-name="web_editor.editorbar">
<div id="web_editor-top-edit">
<div id="web_editor-toolbars"/>
<form class="navbar-form text-muted">
<button type="button" class="btn btn-sm btn-default" data-action="cancel"><i class="fa fa-times"/> Discard</button>
<button type="button" class="btn btn-sm btn-primary" data-action="save"><i class="fa fa-floppy-o"/> Save</button>
</form>
</div>
</t>
<!-- Custom checkbox (material-design-like toggle) -->
<t t-name="web_editor.components.switch">
<label class="o_switch" t-att-for="id">
<input type="checkbox" t-att-id="id"/>
<span/>
<t t-if="label"><t t-esc="label"/></t>
</label>
</t>
<!--=================-->
<!-- Edition Dialogs -->
<!--=================-->
<!-- Alt Dialog (allows to change alt and title of page images) -->
<form t-name="web_editor.dialog.alt" action="#" class="form-horizontal">
<div class="form-group">
<label class="col-sm-3 control-label" for="alt">Description (alt tag)</label>
<div class="col-sm-8">
<input class="form-control" id="alt" required="required" t-att-value="widget.alt" type="text"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="title">Tooltip</label>
<div class="col-sm-8">
<input class="form-control" id="title" required="required" t-att-value="widget.title" type="text"/>
</div>
</div>
</form>
<!-- Media Dialog (allows to choose an img/pictogram/video) -->
<div t-name="web_editor.dialog.media">
<ul class="nav nav-tabs">
<li class="active"><a href="#editor-media-image" data-toggle="tab">Image</a></li>
<li><a href="#editor-media-document" data-toggle="tab">Document</a></li>
<li><a href="#editor-media-icon" data-toggle="tab">Pictogram</a></li>
<li><a href="#editor-media-video" data-toggle="tab">Video</a></li>
<li class="search">
<ul class="pager mb0 mt0">
<li class="previous">
<a class="btn btn-default disabled" href="#"><i class="fa fa-angle-left"/>&#32;Previous</a>
</li>
<li class="next">
<a class="btn btn-default disabled" href="#">Next&#32;<i class="fa fa-angle-right"/></a>
</li>
</ul>
</li>
<li class="search">
<div class="form-group">
<input class="form-control" id="icon-search" type="search"/>
<span class="fa fa-search"/>
</div>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane fade in active" id="editor-media-image"/>
<div class="tab-pane fade" id="editor-media-document"/>
<div class="tab-pane fade" id="editor-media-icon"/>
<div class="tab-pane fade" id="editor-media-video"/>
</div>
</div>
<!-- Image choosing part of the Media Dialog -->
<t t-name="web_editor.dialog.image">
<div>
<form method="POST"
action="/web_editor/attachment/add"
enctype="multipart/form-data"
target="fileframe"
class="form-inline">
<input type="hidden" name="csrf_token" t-att-value="csrf_token"/>
<input t-if="widget.options.res_id" type="hidden" name="res_id" t-att-value="widget.options.res_id"/>
<input t-if="widget.options.res_model" type="hidden" name="res_model" t-att-value="widget.options.res_model"/>
<div class="well">
<div class="form-group pull-left">
<input type="file" name="upload" t-att-accept="widget.accept" multiple="multiple" style="position: absolute; opacity: 0; width: 1px; height: 1px;"/>
<input type="hidden" name="disable_optimization" value=""/>
<div class="btn-group">
<button class="btn btn-primary filepicker" type="button">Upload an image</button>
<button class="btn btn-primary dropdown-toggle" data-toggle="dropdown" type="button">
<span class="caret"/>
<span class="sr-only">Alternate Upload</span>
</button>
<ul class="dropdown-menu" role="menu">
<li>
<a class="js_disable_optimization">Upload image without optimization</a>
</li>
</ul>
</div>
<button class="btn hidden wait" disabled="disabled" type="button">Uploading...</button>
</div>
<div>
<span class="text-muted">— or — </span>
<label for="iamgeurl">Add an image URL</label>
<div class="form-group btn-group">
<input class="form-control url pull-left" id="iamgeurl" name="url" placeholder="https://www.flectrahq.com/logo.png" style="width: 320px;" type="text"/>
<button class="btn btn-default" type="submit">Add</button>
</div>
</div>
</div>
<input type="hidden" name="func"/>
<div class="help-block"/>
<div class="existing-attachments">
<t t-call="web_editor.dialog.image.existing"/>
</div>
</form>
</div>
<iframe class="hidden" name="fileframe" src="about:blank"/>
</t>
<t t-name="web_editor.dialog.image.existing">
<div class="modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog select-image">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-title">Select a Picture</h3>
</div>
<div class="modal-body has-error">
<div class="existing-attachments"/>
<div class="help-block"/>
</div>
<div class="modal-footer">
<a data-dismiss="modal" href="#" aria-hidden="true">Discard</a>
</div>
</div>
</div>
</div>
</t>
<t t-name="web_editor.dialog.image.existing.content">
<div class="existing-attachments">
<div class="row mt16" t-as="row" t-foreach="rows">
<div class="col-sm-2 o_existing_attachment_cell" t-as="attachment" t-foreach="row">
<i t-if="attachment.res_model === 'ir.ui.view'" class="fa fa-times o_existing_attachment_remove" title="This file is a public view attachment" t-att-data-id="attachment.id"/>
<i t-else="" class="fa fa-times o_existing_attachment_remove" title="This file is attached to the current record" t-att-data-id="attachment.id"/>
<div class="o_attachment_border" t-att-style="attachment.res_model === 'ir.ui.view' ? null : 'border: 1px solid #5cb85c;'"><div t-att-data-src="attachment.src" t-att-data-url="attachment.url" t-att-alt="attachment.name" t-att-title="attachment.name" t-att-data-id="attachment.id" t-att-data-mimetype="attachment.mimetype" class="o_image"/></div>
</div>
</div>
</div>
</t>
<t t-name="web_editor.dialog.image.existing.error">
<div class="help-block">
<p>The image could not be deleted because it is used in the
following pages or views:</p>
<ul t-as="view" t-foreach="views">
<li>
<a t-attf-href="/web#model=ir.ui.view&amp;id=#{view.id}">
<t t-esc="view.name"/>
</a>
</li>
</ul>
</div>
</t>
<!-- Icon choosing part of the Media Dialog -->
<t t-name="web_editor.dialog.font-icons">
<form action="#">
<input type="hidden" id="fa-icon"/>
<input type="hidden" id="fa-size" value="fa-1x"/>
<div class="font-icons-icons">
<t t-call="web_editor.dialog.font-icons.icons">
<t t-set="iconsParser" t-value="widget.iconsParser"/>
</t>
</div>
</form>
</t>
<t t-name="web_editor.dialog.font-icons.icons">
<t t-as="data" t-foreach="iconsParser">
<span t-as="cssData" t-att-data-id="cssData[2]" t-att-title="cssData[3].join(', ')" t-attf-class="#{data.base} font-icons-icon #{cssData[2]}" t-attf-data-alias=",#{cssData[3]}," t-foreach="data.cssData"/>
</t>
</t>
<!-- Video choosing part of the Media Dialog -->
<t t-name="web_editor.dialog.video">
<form action="#" class="form-inline well">
<div class="o_video_dialog_form">
<div class="form-group" id="o_video_form_group">
<label class="mt8" for="o_video_text">Video code <small class="text-muted">(URL or Embed)</small></label>
<textarea class="form-control url" id="o_video_text" placeholder="Copy-paste your URL or embed code here"/>
<label class="control-label o_validate_feedback" for="o_video_text"><i class="fa fa-check"/><i class="fa fa-exclamation-triangle"/></label>
</div>
<div class="text-right">
<small class="text-muted">Accepts <b><i>Youtube</i></b>, <b><i>Instagram</i></b>, <b><i>Vine.co</i></b>, <b><i>Vimeo</i></b>, <b><i>Dailymotion</i></b> and <b><i>Youku</i></b> videos</small>
</div>
<div class="o_video_dialog_options hidden mt48">
<small class="text-muted">Options</small>
<ul class="list-group">
<li class="list-group-item o_yt_option o_vim_option o_dm_option">
<label class="o_switch mb0"><input id="o_video_autoplay" type="checkbox"/><span/>Autoplay</label>
</li>
<li class="list-group-item o_yt_option o_vim_option">
<label class="o_switch mb0"><input id="o_video_loop" type="checkbox"/><span/>Loop</label>
</li>
<li class="list-group-item o_yt_option o_dm_option">
<label class="o_switch mb0"><input id="o_video_hide_controls" type="checkbox"/><span/>Hide player controls</label>
</li>
<li class="list-group-item o_yt_option">
<label class="o_switch mb0"><input id="o_video_hide_fullscreen" type="checkbox"/><span/>Hide fullscreen button</label>
</li>
<li class="list-group-item o_yt_option">
<label class="o_switch mb0"><input id="o_video_hide_yt_logo" type="checkbox"/><span/>Hide Youtube logo</label>
</li>
<li class="list-group-item o_dm_option">
<label class="o_switch mb0"><input id="o_video_hide_dm_logo" type="checkbox"/><span/>Hide Dailymotion logo</label>
</li>
<li class="list-group-item o_dm_option">
<label class="o_switch mb0"><input id="o_video_hide_dm_share" type="checkbox"/><span/>Hide sharing button</label>
</li>
</ul>
</div>
</div>
<div id="video-preview">
<div class="o_video_dialog_preview_text small mt16 mb8 hidden">Preview</div>
<div class="media_iframe_video">
<div class="media_iframe_video_size"/>
<iframe class="o_video_dialog_iframe" allowfullscreen="allowfullscreen" frameborder="0" src=""/>
</div>
</div>
</form>
</t>
<!-- Link Dialog (allows to choose a style and content for a link on the page) -->
<div t-name="web_editor.dialog.link" class="o_link_dialog">
<div class="row">
<form class="col-md-8 form-horizontal">
<div class="form-group">
<label class="control-label col-sm-3" for="o_link_dialog_label_input">Link Label</label>
<div class="col-sm-9">
<input class="form-control" id="o_link_dialog_label_input" required="required"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="o_link_dialog_url_input">URL or Email</label>
<div class="col-sm-9">
<input class="form-control url email-address url-source" id="o_link_dialog_url_input" required="required"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">Size</label>
<div class="col-sm-9">
<select class="form-control col-sm-3 link-style">
<option value="btn-xs">Extra Small</option>
<option value="btn-sm">Small</option>
<option value="" selected="selected">Medium</option>
<option value="btn-lg">Large</option>
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">Color</label>
<div class="col-sm-9">
<div class="o_link_dialog_color">
<label t-attf-class="o_link_dialog_color_item o_btn_preview btn btn-link text-center" data-color="">
<span>L</span>
<input class="hidden link-style" name="link-style-type" type="radio" value=""/>
<i class="fa"/>
</label>
<t t-foreach="['btn-primary', 'btn-default', 'btn-success', 'btn-info', 'btn-warning', 'btn-danger', 'btn-alpha', 'btn-beta', 'btn-gamma', 'btn-delta', 'btn-epsilon']" t-as="color">
<label t-attf-class="o_link_dialog_color_item o_btn_preview btn #{color}" t-att-data-color="color">
<input class="hidden link-style" name="link-style-type" type="radio" t-att-value="color"/>
<i class="fa"/>
</label>
</t>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<label class="o_switch">
<input class="window-new" type="checkbox"/>
<span/>
Open in new window
</label>
</div>
</div>
</form>
<div class="col-md-4 o_link_dialog_preview">
<div class="form-group text-center">
<label>Preview</label>
<div style="overflow: auto; max-width: 100%; max-height: 200px;">
<a href="#" id="link-preview"/>
</div>
</div>
</div>
</div>
</div>
<!--=================-->
<!-- Snippet options -->
<!--=================-->
<!-- Background position option dialog -->
<div t-name="web_editor.dialog.background_position" class="o_bg_img_opt_modal">
<label class="radio-inline"><input type="radio" name="o_bg_img_opt" value="cover"/> Cover</label>
<label class="radio-inline"><input type="radio" name="o_bg_img_opt" value="contain"/> Contain</label>
<label class="radio-inline"><input type="radio" name="o_bg_img_opt" value="custom"/> Custom</label>
<div class="o_bg_img_opt" data-value="cover">
<div class="o_bg_img_opt_cover_edition">
<h6>Assign a focal point that will always be visible</h6>
<div class="o_bg_img_opt_object">
<span class="grid grid-1"/>
<span class="grid grid-2"/>
<span class="grid grid-3"/>
<span class="grid grid-4"/>
<span class="o_focus_point"/>
<div class="o_bg_img_opt_ui_info">X: <span class="o_x"/> Y: <span class="o_y"/></div>
</div>
</div>
</div>
<div class="o_bg_img_opt" data-value="contain">
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label" for="repeatInput">Repeat</label>
<div class="col-sm-5">
<div class="checkbox">
<label>
<input type="checkbox" id="o_bg_img_opt_contain_repeat"/>
</label>
</div>
</div>
</div>
</form>
</div>
<form class="o_bg_img_opt form-horizontal" data-value="custom">
<fieldset>
<legend>Background size</legend>
<p>Sets the width and height of the background image in percent of the parent element.</p>
<div class="form-group">
<label class="col-sm-3 control-label" for="o_bg_img_opt_custom_size_x">Background width</label>
<div class="col-sm-5">
<div class="input-group">
<input type="number" min="0" max="100" class="form-control input-sm" id="o_bg_img_opt_custom_size_x" placeholder="auto"/>
<div class="input-group-addon">%</div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="o_bg_img_opt_custom_size_y">Background height</label>
<div class="col-sm-5">
<div class="input-group">
<input type="number" min="0" max="100" class="form-control input-sm" id="o_bg_img_opt_custom_size_y" placeholder="auto"/>
<div class="input-group-addon">%</div>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>Background position</legend>
<p>Set the starting position of the background image.</p>
<div class="form-group">
<label class="col-sm-3 control-label" for="o_bg_img_opt_custom_pos_x">Horizontal</label>
<div class="col-sm-5">
<div class="input-group">
<input type="number" min="0" max="100" class="form-control input-sm" id="o_bg_img_opt_custom_pos_x" placeholder="auto"/>
<div class="input-group-addon">%</div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="o_bg_img_opt_custom_pos_y">Vertical</label>
<div class="col-sm-5">
<div class="input-group">
<input type="number" min="0" max="100" class="form-control input-sm" id="o_bg_img_opt_custom_pos_y" placeholder="auto"/>
<div class="input-group-addon">%</div>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>Background repeat</legend>
<p>Define if/how the background image will be repeated</p>
<select class="form-control" id="o_bg_img_opt_custom_repeat">
<option value="">No repeat</option>
<option value="o_bg_img_opt_repeat">Repeat both</option>
<option value="o_bg_img_opt_repeat_x">Repeat x</option>
<option value="o_bg_img_opt_repeat_y">Repeat y</option>
</select>
</fieldset>
</form>
</div>
</templates>