[MERGE] *: new web_editor/website + assets improvements
Read sub-commits for more details.
This commit is contained in:
@@ -312,15 +312,6 @@
|
||||
.o_mail_navbar_dropdown {
|
||||
width: 350px;
|
||||
padding: 0;
|
||||
@media (max-width: @screen-xs-max) {
|
||||
background-color: white!important;
|
||||
max-height: none!important;
|
||||
position: fixed!important;
|
||||
top: @navbar-height;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.o_spinner {
|
||||
.o-flex-display();
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
#email_theme_list, #email_template_list {
|
||||
clear: both;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#email_theme_list > div, #email_template_list > div {
|
||||
width: 200px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.theme_thumbnail{
|
||||
position:inherit;
|
||||
margin-top:15px;
|
||||
}
|
||||
.theme_thumbnail div{
|
||||
-webkit-transition: opacity 0.5s;
|
||||
transition: opacity 0.5s;
|
||||
}
|
||||
.theme_thumbnail img.img{
|
||||
height: 180px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.modal-body .theme_thumbnail img.img{
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.theme_thumbnail div.overlay{
|
||||
z-index: 2;
|
||||
max-height: 135px;
|
||||
position:absolute;
|
||||
padding:25% 0;
|
||||
opacity: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.theme_thumbnail div.overlay p{
|
||||
color:#616161;
|
||||
font-weight:bold;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
.theme_thumbnail:hover>img.img{
|
||||
opacity:0.3;
|
||||
}
|
||||
.theme_thumbnail:hover>div.overlay{
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.email_head {
|
||||
border-width: 0px 0px 2px 0px;
|
||||
}
|
||||
.email_head div{
|
||||
font-size:14px;
|
||||
}
|
||||
.email_head .popover-title{
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.template_name{
|
||||
width: 160px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.email_template *{
|
||||
-webkit-transition: opacity 0.5s;
|
||||
transition: opacity 0.5s;
|
||||
}
|
||||
.email_template:hover .template_thumbnail{
|
||||
opacity:0.3;
|
||||
}
|
||||
.email_template:hover .template_options{
|
||||
opacity:1;
|
||||
}
|
||||
|
||||
/***************************/
|
||||
|
||||
#templates{
|
||||
margin-top: 50px;
|
||||
width: 98%;
|
||||
}
|
||||
#choose_template{
|
||||
display: none;
|
||||
margin: 5px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
z-index: 2000;
|
||||
}
|
||||
#choose_template span{
|
||||
padding: 1px 5px;
|
||||
height: 24px;
|
||||
}
|
||||
#templates .template_preview_border{
|
||||
overflow: hidden !important;
|
||||
border: 2px solid grey;
|
||||
height: 300px;
|
||||
}
|
||||
#email_template_list > div{
|
||||
overflow: hidden;
|
||||
height: 300px;
|
||||
}
|
||||
#email_template_list .theme_thumbnail div.overlay{
|
||||
max-height: 300px;
|
||||
}
|
||||
#templates .template_preview{
|
||||
-webkit-transform: scale(.33);
|
||||
-ms-transform: scale(.33);
|
||||
transform: scale(.33);
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
.theme_thumbnail:hover>.template_preview{
|
||||
opacity:0.3;
|
||||
}
|
||||
@@ -165,7 +165,7 @@ web_editor.Class.include({
|
||||
}
|
||||
var $editable = $("#editable_area");
|
||||
$(".o_table_handler").remove();
|
||||
$editable.parent().add("#oe_snippets, #templates, .note-popover").toggleClass("hidden");
|
||||
$editable.add("#oe_snippets, #templates, .note-popover").toggleClass("hidden");
|
||||
$("#choose_template").children().toggleClass("hidden");
|
||||
$("body").trigger("resize");
|
||||
$(window.top).trigger('resize');
|
||||
@@ -177,7 +177,7 @@ web_editor.Class.include({
|
||||
var $editable = $("#editable_area");
|
||||
this.rte.historyRecordUndo($editable);
|
||||
$editable.html( $(event.target).closest(".theme_thumbnail").find(".js_content").html() );
|
||||
$editable.parent().add("#oe_snippets, #templates, .note-popover").toggleClass("hidden");
|
||||
$editable.add("#oe_snippets, #templates, .note-popover").toggleClass("hidden");
|
||||
$("#choose_template").children().toggleClass("hidden");
|
||||
setTimeout(function () {
|
||||
$("body").trigger("resize");
|
||||
@@ -191,8 +191,8 @@ web_editor.Class.include({
|
||||
event.preventDefault();
|
||||
},
|
||||
set_snippet_theme: function (theme) {
|
||||
$("#o_left_bar .o_panel_body > div").addClass("hidden");
|
||||
$("#o_left_bar .o_panel_body > div."+theme).removeClass("hidden");
|
||||
$("#oe_snippets .o_panel_body > div").addClass("hidden");
|
||||
$("#oe_snippets .o_panel_body > div."+theme).removeClass("hidden");
|
||||
$("#editable_area").trigger("content_changed");
|
||||
},
|
||||
get_snippet_template: function (mailing_model) {
|
||||
@@ -225,7 +225,7 @@ snippets_editor.Class.include({
|
||||
clean_for_save: function () {
|
||||
this._super();
|
||||
var $editable = $("#editable_area");
|
||||
var theme = ($("#o_left_bar .o_panel_body > div:not(.hidden)").attr("class") || "").replace(/^\s*|\s*o_mail_block[^\s]+\s*|\s*oe_snippet\s*|\s*ui-draggable\s*|\s*$/g, '');
|
||||
var theme = ($("#oe_snippets .o_panel_body > div:not(.hidden)").attr("class") || "").replace(/^\s*|\s*o_mail_block[^\s]+\s*|\s*oe_snippet\s*|\s*ui-draggable\s*|\s*$/g, '');
|
||||
var $theme = $("#editable_area [data-snippet-theme]").removeAttr("data-snippet-theme").removeData("snippet-theme");
|
||||
$editable.children().first().attr("data-snippet-theme", theme);
|
||||
$editable.find(":not(br):hidden").remove();
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
|
||||
#email_theme_list, #email_template_list {
|
||||
clear: both;
|
||||
text-align: center;
|
||||
|
||||
> div {
|
||||
width: 200px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
.theme_thumbnail {
|
||||
position: inherit;
|
||||
margin-top: 15px;
|
||||
|
||||
div {
|
||||
.o-transition(opacity, 0.5s);
|
||||
|
||||
&.overlay {
|
||||
z-index: 2;
|
||||
max-height: 135px;
|
||||
position:absolute;
|
||||
padding:25% 0;
|
||||
opacity: 0;
|
||||
width: 100%;
|
||||
|
||||
p {
|
||||
color:#616161;
|
||||
font-weight:bold;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
}
|
||||
}
|
||||
img.img {
|
||||
width: auto;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
> img.img {
|
||||
opacity:0.3;
|
||||
}
|
||||
> div.overlay {
|
||||
opacity: 1;
|
||||
}
|
||||
> .template_preview {
|
||||
opacity:0.3;
|
||||
}
|
||||
}
|
||||
}
|
||||
.modal-body .theme_thumbnail img.img {
|
||||
height: 100px;
|
||||
}
|
||||
.email_head {
|
||||
border-width: 0px 0px 2px 0px;
|
||||
div {
|
||||
font-size:14px;
|
||||
}
|
||||
.popover-title {
|
||||
font-weight:bold;
|
||||
}
|
||||
}
|
||||
.template_name {
|
||||
width: 160px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.email_template * {
|
||||
.o-transition(opacity, 0.5s);
|
||||
&:hover {
|
||||
.template_thumbnail {
|
||||
opacity:0.3;
|
||||
}
|
||||
.template_options {
|
||||
opacity:1;
|
||||
}
|
||||
}
|
||||
}
|
||||
#templates {
|
||||
margin: -@odoo-navbar-height 0 0 -@o-we-sidebar-width;
|
||||
padding: 10px @odoo-horizontal-padding;
|
||||
border: 1px solid @odoo-brand-secondary;
|
||||
background-color: white;
|
||||
|
||||
.template_preview_border {
|
||||
overflow: hidden !important;
|
||||
border: 2px solid grey;
|
||||
height: 300px;
|
||||
}
|
||||
.template_preview {
|
||||
-webkit-transform: scale(.33);
|
||||
-ms-transform: scale(.33);
|
||||
transform: scale(.33);
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
}
|
||||
#choose_template {
|
||||
display: none;
|
||||
margin: 5px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
z-index: 2000;
|
||||
|
||||
span {
|
||||
padding: 1px 5px;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
#email_template_list {
|
||||
> div {
|
||||
overflow: hidden;
|
||||
height: 300px;
|
||||
}
|
||||
.theme_thumbnail div.overlay {
|
||||
max-height: 300px;
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<odoo>
|
||||
<template id="assets_editor" inherit_id="web_editor.assets_editor">
|
||||
<xpath expr="link[last()]" position="after">
|
||||
<link rel="stylesheet" type="text/less" href="/mass_mailing/static/src/less/mass_mailing_editor.less"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<!-- Template Choice page -->
|
||||
<template id="FieldTextHtmlInline" name="Editor layout">
|
||||
|
||||
<t t-set="head">
|
||||
<t t-if="enable_editor">
|
||||
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor_thumb.css" type="text/css"/>
|
||||
<script type="text/javascript" src="/mass_mailing/static/src/js/mass_mailing_editor.js"></script>
|
||||
</t>
|
||||
@@ -23,10 +25,9 @@
|
||||
</t>
|
||||
|
||||
<t t-call="web_editor.layout">
|
||||
<div>
|
||||
<div t-if="not edit_translations" id="editable_area" class="o_editable" t-att-data-oe-model="model" t-att-data-oe-field="field" t-att-data-oe-id="res_id" data-oe-type="html"><t t-raw="content"/></div>
|
||||
<div t-if="edit_translations" id="editable_area"><t t-raw="content"/></div>
|
||||
</div>
|
||||
<div t-if="not edit_translations" id="editable_area" class="o_editable" t-att-data-oe-model="model" t-att-data-oe-field="field" t-att-data-oe-id="res_id" data-oe-type="html"><t t-raw="content"/></div>
|
||||
<div t-if="edit_translations" id="editable_area"><t t-raw="content"/></div>
|
||||
|
||||
<div id="templates" class="o_not_editable o_css_editor hidden" t-if="enable_editor">
|
||||
<h1 class="page-header mt16 email_head panel-primary">
|
||||
Select a theme
|
||||
@@ -51,13 +52,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="FieldTextHtmlPopupContent" name="Editor layout">
|
||||
<t t-set="head">
|
||||
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_editor_thumb.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="/mass_mailing/static/src/css/mass_mailing_popup.css" type="text/css"/>
|
||||
</t>
|
||||
@@ -77,7 +76,4 @@
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,512 +1,510 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="email_designer_snippets">
|
||||
<ul>
|
||||
<li class="active">
|
||||
<a href="#email_designer_default_headers" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-justify fa-stack-1x" style="margin-top: -0.15em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-up fa-stack-1x text-muted" style="margin-top: 0.25em; display: inline-block; font-size: 0.6em;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#email_designer_default_body" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-left fa-stack-1x" style="margin-top: 0.05em;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#email_designer_default_extra" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-left fa-stack-1x" style="display: inline-block; height: 0.93em; margin-top: 0.3em; overflow: hidden;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#email_designer_default_footer" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-justify fa-stack-1x" style=" margin-top: 0.7em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-down fa-stack-1x text-muted" style="display: inline-block; font-size: 0.6em; margin-top: -0.15em;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<odoo>
|
||||
<template id="email_designer_snippets" inherit_id="web_editor.snippets" primary="True">
|
||||
<xpath expr="//ul[@id='snippets_menu']" position="replace">
|
||||
<ul id="snippets_menu">
|
||||
<li class="active">
|
||||
<a href="#email_designer_default_headers" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-justify fa-stack-1x" style="margin-top: -0.15em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-up fa-stack-1x text-muted" style="margin-top: 0.25em; display: inline-block; font-size: 0.6em;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#email_designer_default_body" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-left fa-stack-1x" style="margin-top: 0.05em;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#email_designer_default_extra" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-left fa-stack-1x" style="display: inline-block; height: 0.93em; margin-top: 0.3em; overflow: hidden;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#email_designer_default_footer" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
<i class="fa fa-align-justify fa-stack-1x" style=" margin-top: 0.7em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-down fa-stack-1x text-muted" style="display: inline-block; font-size: 0.6em; margin-top: -0.15em;"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</xpath>
|
||||
|
||||
<div id="o_scroll">
|
||||
<xpath expr="//div[@id='o_scroll']" position="replace">
|
||||
<div id="o_scroll">
|
||||
<div id="email_designer_default_headers" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-justify fa-stack-1x" style="margin-top: -0.15em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-up fa-stack-1x" style="margin-top: 0.25em; display: inline-block; font-size: 0.6em;"></i>
|
||||
</span> Headers
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div name="Center Logo" class="basic_theme o_mail_block_header_center_logo">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;width:600px;color:inherit" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="text-align:center">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;">
|
||||
<img class="padding-medium" src="/logo.png" style="height:auto;max-width:600px;width:200px" alt="Your Logo" />
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="email_designer_default_headers" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-justify fa-stack-1x" style="margin-top: -0.15em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-up fa-stack-1x" style="margin-top: 0.25em; display: inline-block; font-size: 0.6em;"></i>
|
||||
</span> Headers
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div name="Center Logo" class="basic_theme o_mail_block_header_center_logo">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;width:600px;color:inherit" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="text-align:center">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;">
|
||||
<img class="padding-medium" src="/logo.png" style="height:auto;max-width:600px;width:200px" alt="Your Logo" />
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div name="Center Text" class="basic_theme o_mail_block_header_center_text">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;color:inherit;width:600px;color:inherit" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="text-align:center;font-size: 30px">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;color: inherit;">
|
||||
<strong>My Company</strong>
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Center Text" class="basic_theme o_mail_block_header_center_text">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;color:inherit;width:600px;color:inherit" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="text-align:center;font-size: 30px">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;color: inherit;">
|
||||
<strong>My Company</strong>
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Logo - Social" class="basic_theme o_mail_block_header_social">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="width:600px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td valign="center" width="270" style="padding:10px 10px 10px 5px;">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;">
|
||||
<img src="/logo.png" style="padding:10px;height:auto;max-width:600px;width:200px" alt="Your Logo" />
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td valign="center" width="270" style="padding:10px 15px 10px 10px">
|
||||
<table t-if="website" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:collapse;background:inherit;color:inherit">
|
||||
<div name="Logo - Social" class="basic_theme o_mail_block_header_social">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="width:600px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<a t-att-href="(website.social_facebook) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_facebook.png" style="height:auto;max-width:70px" alt="social icon"/></a>
|
||||
<td valign="center" width="270" style="padding:10px 10px 10px 5px;">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;">
|
||||
<img src="/logo.png" style="padding:10px;height:auto;max-width:600px;width:200px" alt="Your Logo" />
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_twitter) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_twitter.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_googleplus) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_googleplus.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_linkedin) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_linkedin.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a href="#"><img src="/mass_mailing/static/src/img/theme_imgs/social_rss.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
<td valign="center" width="270" style="padding:10px 15px 10px 10px">
|
||||
<table t-if="website" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<a t-att-href="(website.social_facebook) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_facebook.png" style="height:auto;max-width:70px" alt="social icon"/></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_twitter) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_twitter.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_googleplus) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_googleplus.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_linkedin) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_linkedin.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a href="#"><img src="/mass_mailing/static/src/img/theme_imgs/social_rss.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text - Social" class="basic_theme o_mail_block_header_text_social">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="width:600px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td valign="center" width="270" style="padding:10px 10px 10px 5px;font-size: 30px">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;color: inherit">
|
||||
<strong>My Company</strong>
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td valign="center" width="270" style="padding:10px 15px 10px 10px">
|
||||
<table t-if="website" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:collapse;background:inherit;color:inherit">
|
||||
<div name="Text - Social" class="basic_theme o_mail_block_header_text_social">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="width:600px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<a t-att-href="(website.social_facebook) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_facebook.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
<td valign="center" width="270" style="padding:10px 10px 10px 5px;font-size: 30px">
|
||||
&nbsp;
|
||||
<a t-att-href="(company_id.website) or '#'" style="text-decoration:none;color: inherit">
|
||||
<strong>My Company</strong>
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_twitter) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_twitter.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_googleplus) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_googleplus.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_linkedin) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_linkedin.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a href="#"><img src="/mass_mailing/static/src/img/theme_imgs/social_rss.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
<td valign="center" width="270" style="padding:10px 15px 10px 10px">
|
||||
<table t-if="website" border="0" cellpadding="0" cellspacing="0" align="right" style="border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<a t-att-href="(website.social_facebook) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_facebook.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_twitter) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_twitter.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_googleplus) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_googleplus.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_linkedin) or '#'"><img src="/mass_mailing/static/src/img/theme_imgs/social_linkedin.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a href="#"><img src="/mass_mailing/static/src/img/theme_imgs/social_rss.png" style="height:auto;max-width:70px" alt="social icon" /></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email_designer_default_body" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-left fa-stack-1x"></i>
|
||||
</span> Body
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div name="Title - Subtitle" class="basic_theme o_mail_block_title_sub">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;padding-bottom:10px">
|
||||
<p style="margin:0;font-size:36px">Check this out!</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size:20px; text-align:center; padding: 0 5px">
|
||||
<p style="margin:0">Come check out my stuff!</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email_designer_default_body" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-left fa-stack-1x"></i>
|
||||
</span> Body
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div name="Title - Subtitle" class="basic_theme o_mail_block_title_sub">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;padding-bottom:10px">
|
||||
<p style="margin:0;font-size:36px">Check this out!</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size:20px; text-align:center; padding: 0 5px">
|
||||
<p style="margin:0">Come check out my stuff!</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text-Image" class="basic_theme o_mail_block_text_image">
|
||||
<div style="padding:0px; margin:auto;width:600px;background-color:#fff;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" width="600" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="padding:20px;font-size:14px" class="col_mv bg-color">
|
||||
<p style="margin:0;font-size:30px">Your order has shipped!</p>
|
||||
<p style="margin:0">Dear Bob,</p>
|
||||
<p style="margin:0">
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
<a href="#" style="-webkit-user-select: none; padding: 6px 12px; font-size: 14px; line-height: 20px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; color: rgb(255, 255, 255); border: 1px solid rgb(228, 55, 37); text-decoration: none; display: inline-block; margin-bottom: 0px; font-weight: 400; text-align: center; vertical-align: middle; cursor: pointer; white-space: nowrap; background-image: none; background-color: rgb(231, 76, 60);">Your Order</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td style="padding-top:20px;padding-bottom:0;vertical-align:middle;width:200px;" class="bg-color col_mv">
|
||||
<table cellspacing="0" cellpadding="0" width="100%" style="border-collapse:collapse;background:inherit">
|
||||
<div name="Text-Image" class="basic_theme o_mail_block_text_image">
|
||||
<div style="padding:0px; margin:auto;width:600px;background-color:#fff;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" width="600" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="padding:20px;font-size:14px" class="col_mv bg-color">
|
||||
<p style="margin:0;font-size:30px">Your order has shipped!</p>
|
||||
<p style="margin:0">Dear Bob,</p>
|
||||
<p style="margin:0">
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
<a href="#" style="-webkit-user-select: none; padding: 6px 12px; font-size: 14px; line-height: 20px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; color: rgb(255, 255, 255); border: 1px solid rgb(228, 55, 37); text-decoration: none; display: inline-block; margin-bottom: 0px; font-weight: 400; text-align: center; vertical-align: middle; cursor: pointer; white-space: nowrap; background-image: none; background-color: rgb(231, 76, 60);">Your Order</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td style="padding-top:20px;padding-bottom:0;vertical-align:middle;width:200px;" class="bg-color col_mv">
|
||||
<table cellspacing="0" cellpadding="0" width="100%" style="border-collapse:collapse;background:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="vertical-align:middle;text-align:center">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Image Title" class="basic_theme o_mail_block_title_text">
|
||||
<div class="snippet_row bg-color" style="padding:0px; margin:auto;width:600px;background: #fff repeat top /100%;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit;width:600px">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="padding:20px">
|
||||
<p style="margin:0;font-size:30px">Your order has shipped!</p>
|
||||
<p style="margin:0;font-size:14px">
|
||||
Dear Bob,<br/>
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:center;width:200px;">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Content Image" class="basic_theme o_mail_block_text_image">
|
||||
<div style="padding:0px; margin:auto;width:600px;background-color:#fff;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" width="600" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="padding:20px" class="col_mv bg-color">
|
||||
<p style="margin:0;font-size:14px">
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
</td>
|
||||
<td style="text-align:center;vertical-align:middle;width:200px;" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Image Content" class="basic_theme o_mail_block_image_text">
|
||||
<div style="padding:0px; margin:auto;width:600px;background-color:#fff;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" width="600" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;vertical-align:middle;width:200px;" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td style="padding:20px" class="col_mv bg-color">
|
||||
<p style="margin:0;font-size:14px">
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Button" class="basic_theme o_mail_block_button">
|
||||
<div class="snippet_row bg-color" style="padding:0;width:600px;max-width:600px;margin:0 auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table style="width:600px;text-align:center;margin:0 auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td class="row" style="padding:10px 0;text-align:center">
|
||||
&nbsp;
|
||||
<a href="#" style="-webkit-user-select: none; padding: 6px 12px; font-size: 14px; line-height: 20px; color: rgb(255,255,255); border: none; text-decoration: none; display: inline-block; margin-bottom: 0px; font-weight: 400; text-align: center; vertical-align: middle; cursor: pointer; white-space: nowrap; background-image: none; background-color: rgb(101,101,101);border-radius:4px">My Account</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Three Columns" class="basic_theme o_mail_block_three_cols">
|
||||
<div style="padding:0px;width:600px;margin:auto;background-color:#fff;color:#000;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="width:100%;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="padding:30px 15px;width:33%;text-align:center;background-color:#fff;color:#777777;font-size:14px" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-check fa-3x"></span>
|
||||
&nbsp;
|
||||
<p style="margin:0;font-size:24px;font-weight:bold">Step 1</p>
|
||||
<p style="margin:0">
|
||||
We need you to update your account information. If there is ever a problem with your account, this information will make it easier for you to log back in.
|
||||
</p>
|
||||
</td>
|
||||
<td style="vertical-align:top; padding: 30px 15px; width:34%;text-align:center;background-color:#fff;color:#777777;font-size:14px" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-truck fa-3x"></span>
|
||||
&nbsp;
|
||||
<p style="margin:0;font-size:24px;font-weight:bold">Step 2</p>
|
||||
<p style="margin:0">
|
||||
We need you to update your account information. If there is ever a problem with your account, this information will make it easier for you to log back in.
|
||||
</p>
|
||||
</td>
|
||||
<td style="vertical-align:top; padding: 30px 15px; width:33%;text-align:center;background-color:#fff;color:#777777;font-size:14px" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-usd fa-3x"></span>
|
||||
&nbsp;
|
||||
<p style="margin:0;font-size:24px;font-weight:bold">Step 3</p>
|
||||
<p style="margin:0">
|
||||
We need you to update your account information. If there is ever a problem with your account, this information will make it easier for you to log back in.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text Block" class="basic_theme o_mail_block_simple_text">
|
||||
<div class="snippet_row bg-color" style="padding:0;width:600px;max-width:600px;margin:0 auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table style="width:100%;text-align:justify;margin:0 auto;background:inherit;color:inherit;border-collapse:collapse;color:inherit">
|
||||
<tr>
|
||||
<td style="padding:10px 30px;font-size:14px">
|
||||
<p style="margin:0">Dear ${object.name}</p>
|
||||
<p style="margin:0">Great stories have personality. Consider telling a great story that provides personality. Writing a story with personality for potential clients will assists with making a relationship connection. This shows up in small quirks like word choices or phrases. Write from your point of view, not from someone else's experience.<br/></p>
|
||||
<p style="margin:0">Great stories are for everyone even when only written for just one person. If you try to write with a wide general audience in mind, your story will ring false and be bland. No one will be interested. Write for one person. If it’s genuine for the one, it’s genuine for the rest.</p>
|
||||
<p style="margin:0">Kind Regards,</p>
|
||||
<p style="margin:0">Michael Fletcher</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email_designer_default_extra" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-left fa-stack-1x" style="display: inline-block; height: 0.93em; margin-top: 0.3em; overflow: hidden;"></i>
|
||||
</span> Extra
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div name="Separator" class="basic_theme o_mail_block_footer_seprator">
|
||||
<div style="padding:0px;width:600px;margin:auto;color:#777777;background-color:#FFFFFF">
|
||||
<table cellspacing="0" cellpadding="0" style="vertical-align:top;padding:0px;font-family:arial;font-size:12px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top" style="width:600px">
|
||||
<div>
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0;margin:15px auto;padding:0"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Tag Line" class="basic_theme o_mail_block_footer_tag_line">
|
||||
<div class="bg-color" style="padding:0px;width:600px;margin:auto;background:#fff;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;color:inherit;width:600px" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="text-align:center;padding:5px">
|
||||
<p style="margin:0;color:inherit;font-size:18px">Apps That Help You Grow Your Business</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email_designer_default_footer" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-justify fa-stack-1x" style=" margin-top: 0.7em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-down fa-stack-1x" style="display: inline-block; font-size: 0.6em; margin-top: -0.15em;"></i>
|
||||
</span> Footers
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div t-if="website" name="Social + Text" class="basic_theme o_mail_block_footer_social">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;color:inherit;width:600px" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="padding:10px 15px 10px 10px">
|
||||
<table border="0" cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;color:inherit">
|
||||
<tr>
|
||||
<td align="right">
|
||||
&nbsp;
|
||||
<a t-att-href="(website.social_facebook) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_facebook.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_twitter) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_twitter.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_googleplus) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_googleplus.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_linkedin) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_linkedin.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a href="#">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_rss.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size:12px;text-align:center;padding:10px">
|
||||
&nbsp;
|
||||
<a style="color:inherit" href="/unsubscribe_from_list">Unsubscribe</a> | <a style="color:inherit" href="/page/contactus">Contact</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text + Copyright" class="basic_theme o_mail_block_footer_copyright">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="margin:auto;width:600px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="font-size:12px;text-align:center;padding:10px">
|
||||
&nbsp;
|
||||
<a style="color:inherit" href="/unsubscribe_from_list">Unsubscribe</a>
|
||||
<t t-if="website"> | <a style="color:inherit" href="/page/contactus">Contact</a> </t>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size:12px;text-align:center;padding-bottom:10px">
|
||||
<p style="margin:0">© 2014 All Rights Reserved</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text Only" class="basic_theme o_mail_block_footer_text">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #fff repeat top /100%;color:#777777">
|
||||
<center>
|
||||
<table width="600" cellspacing="0" cellpadding="0" border="0" style="margin: 0 auto; width:600px; border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="vertical-align:middle;text-align:center">
|
||||
<td valign="middle" align="right" style="font-size:12px;padding:20px;text-align:center">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
<t t-if="website">
|
||||
<a style="color:inherit" href="/page/contactus">Contact Us</a> |
|
||||
<a style="color:inherit" t-att-href="(website.social_facebook) or '#'">Facebook</a> |
|
||||
<a style="color:inherit" t-att-href="(website.social_twitter) or '#'">Twitter</a> |
|
||||
<a style="color:inherit" href="#">Support</a> |
|
||||
</t>
|
||||
<a href="/unsubscribe_from_list" style="color:inherit">Unsubscribe</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
|
||||
<div name="Image Title" class="basic_theme o_mail_block_title_text">
|
||||
<div class="snippet_row bg-color" style="padding:0px; margin:auto;width:600px;background: #fff repeat top /100%;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit;width:600px">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="padding:20px">
|
||||
<p style="margin:0;font-size:30px">Your order has shipped!</p>
|
||||
<p style="margin:0;font-size:14px">
|
||||
Dear Bob,<br/>
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:center;width:200px;">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Content Image" class="basic_theme o_mail_block_text_image">
|
||||
<div style="padding:0px; margin:auto;width:600px;background-color:#fff;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" width="600" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="left" style="padding:20px" class="col_mv bg-color">
|
||||
<p style="margin:0;font-size:14px">
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
</td>
|
||||
<td style="text-align:center;vertical-align:middle;width:200px;" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Image Content" class="basic_theme o_mail_block_image_text">
|
||||
<div style="padding:0px; margin:auto;width:600px;background-color:#fff;color:#777777">
|
||||
<table cellpadding="0" cellspacing="0" width="600" style="margin:auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;vertical-align:middle;width:200px;" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-10x fa-music"></span>
|
||||
&nbsp;
|
||||
</td>
|
||||
<td style="padding:20px" class="col_mv bg-color">
|
||||
<p style="margin:0;font-size:14px">
|
||||
We would like you to know that your order has shipped! To track your order or make any changes please click the "my order" button below.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Button" class="basic_theme o_mail_block_button">
|
||||
<div class="snippet_row bg-color" style="padding:0;width:600px;max-width:600px;margin:0 auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table style="width:600px;text-align:center;margin:0 auto;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tr>
|
||||
<td class="row" style="padding:10px 0;text-align:center">
|
||||
&nbsp;
|
||||
<a href="#" style="-webkit-user-select: none; padding: 6px 12px; font-size: 14px; line-height: 20px; color: rgb(255,255,255); border: none; text-decoration: none; display: inline-block; margin-bottom: 0px; font-weight: 400; text-align: center; vertical-align: middle; cursor: pointer; white-space: nowrap; background-image: none; background-color: rgb(101,101,101);border-radius:4px">My Account</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Three Columns" class="basic_theme o_mail_block_three_cols">
|
||||
<div style="padding:0px;width:600px;margin:auto;background-color:#fff;color:#000;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="width:100%;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="padding:30px 15px;width:33%;text-align:center;background-color:#fff;color:#777777;font-size:14px" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-check fa-3x"></span>
|
||||
&nbsp;
|
||||
<p style="margin:0;font-size:24px;font-weight:bold">Step 1</p>
|
||||
<p style="margin:0">
|
||||
We need you to update your account information. If there is ever a problem with your account, this information will make it easier for you to log back in.
|
||||
</p>
|
||||
</td>
|
||||
<td style="vertical-align:top; padding: 30px 15px; width:34%;text-align:center;background-color:#fff;color:#777777;font-size:14px" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-truck fa-3x"></span>
|
||||
&nbsp;
|
||||
<p style="margin:0;font-size:24px;font-weight:bold">Step 2</p>
|
||||
<p style="margin:0">
|
||||
We need you to update your account information. If there is ever a problem with your account, this information will make it easier for you to log back in.
|
||||
</p>
|
||||
</td>
|
||||
<td style="vertical-align:top; padding: 30px 15px; width:33%;text-align:center;background-color:#fff;color:#777777;font-size:14px" class="col_mv bg-color">
|
||||
&nbsp;
|
||||
<span class="fa fa-usd fa-3x"></span>
|
||||
&nbsp;
|
||||
<p style="margin:0;font-size:24px;font-weight:bold">Step 3</p>
|
||||
<p style="margin:0">
|
||||
We need you to update your account information. If there is ever a problem with your account, this information will make it easier for you to log back in.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text Block" class="basic_theme o_mail_block_simple_text">
|
||||
<div class="snippet_row bg-color" style="padding:0;width:600px;max-width:600px;margin:0 auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table style="width:100%;text-align:justify;margin:0 auto;background:inherit;color:inherit;border-collapse:collapse;color:inherit">
|
||||
<tr>
|
||||
<td style="padding:10px 30px;font-size:14px">
|
||||
<p style="margin:0">Dear ${object.name}</p>
|
||||
<p style="margin:0">Great stories have personality. Consider telling a great story that provides personality. Writing a story with personality for potential clients will assists with making a relationship connection. This shows up in small quirks like word choices or phrases. Write from your point of view, not from someone else's experience.<br/></p>
|
||||
<p style="margin:0">Great stories are for everyone even when only written for just one person. If you try to write with a wide general audience in mind, your story will ring false and be bland. No one will be interested. Write for one person. If it’s genuine for the one, it’s genuine for the rest.</p>
|
||||
<p style="margin:0">Kind Regards,</p>
|
||||
<p style="margin:0">Michael Fletcher</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email_designer_default_extra" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-left fa-stack-1x" style="display: inline-block; height: 0.93em; margin-top: 0.3em; overflow: hidden;"></i>
|
||||
</span> Extra
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div name="Separator" class="basic_theme o_mail_block_footer_seprator">
|
||||
<div style="padding:0px;width:600px;margin:auto;color:#777777;background-color:#FFFFFF">
|
||||
<table cellspacing="0" cellpadding="0" style="vertical-align:top;padding:0px;font-family:arial;font-size:12px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top" style="width:600px">
|
||||
<div>
|
||||
<hr width="100%" style="background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0;margin:15px auto;padding:0"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Tag Line" class="basic_theme o_mail_block_footer_tag_line">
|
||||
<div class="bg-color" style="padding:0px;width:600px;margin:auto;background:#fff;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;color:inherit;width:600px" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="text-align:center;padding:5px">
|
||||
<p style="margin:0;color:inherit;font-size:18px">Apps That Help You Grow Your Business</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="email_designer_default_footer" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-align-justify fa-stack-1x" style=" margin-top: 0.7em; height: 0.9em; display: inline-block; overflow: hidden;"></i>
|
||||
<i class="fa fa-arrow-down fa-stack-1x" style="display: inline-block; font-size: 0.6em; margin-top: -0.15em;"></i>
|
||||
</span> Footers
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
<div t-if="website" name="Social + Text" class="basic_theme o_mail_block_footer_social">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #FFFFFF repeat top /100%;color:#777777">
|
||||
<table style="margin: 0 auto;border-collapse:collapse;background:inherit;color:inherit;width:600px" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="center" style="padding:10px 15px 10px 10px">
|
||||
<table border="0" cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;color:inherit">
|
||||
<tr>
|
||||
<td align="right">
|
||||
&nbsp;
|
||||
<a t-att-href="(website.social_facebook) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_facebook.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_twitter) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_twitter.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_googleplus) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_googleplus.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a t-att-href="(website.social_linkedin) or '#'">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_linkedin.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
</td>
|
||||
<td align="right" style="padding-left:5px">
|
||||
<a href="#">
|
||||
<img src="/mass_mailing/static/src/img/theme_imgs/social_rss.png" style="height:auto;max-width:70px" alt="social icon" />
|
||||
</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size:12px;text-align:center;padding:10px">
|
||||
&nbsp;
|
||||
<a style="color:inherit" href="/unsubscribe_from_list">Unsubscribe</a> | <a style="color:inherit" href="/page/contactus">Contact</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text + Copyright" class="basic_theme o_mail_block_footer_copyright">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #fff repeat top /100%;color:#777777">
|
||||
<table cellspacing="0" cellpadding="0" style="margin:auto;width:600px;border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="font-size:12px;text-align:center;padding:10px">
|
||||
&nbsp;
|
||||
<a style="color:inherit" href="/unsubscribe_from_list">Unsubscribe</a>
|
||||
<t t-if="website"> | <a style="color:inherit" href="/page/contactus">Contact</a> </t>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size:12px;text-align:center;padding-bottom:10px">
|
||||
<p style="margin:0">© 2014 All Rights Reserved</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="Text Only" class="basic_theme o_mail_block_footer_text">
|
||||
<div class="snippet_row bg-color" style="padding:0px;width:600px;margin:auto;background: #fff repeat top /100%;color:#777777">
|
||||
<center>
|
||||
<table width="600" cellspacing="0" cellpadding="0" border="0" style="margin: 0 auto; width:600px; border-collapse:collapse;background:inherit;color:inherit">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="middle" align="right" style="font-size:12px;padding:20px;text-align:center">
|
||||
&nbsp;
|
||||
<t t-if="website">
|
||||
<a style="color:inherit" href="/page/contactus">Contact Us</a> |
|
||||
<a style="color:inherit" t-att-href="(website.social_facebook) or '#'">Facebook</a> |
|
||||
<a style="color:inherit" t-att-href="(website.social_twitter) or '#'">Twitter</a> |
|
||||
<a style="color:inherit" href="#">Support</a> |
|
||||
</t>
|
||||
<a href="/unsubscribe_from_list" style="color:inherit">Unsubscribe</a>
|
||||
&nbsp;
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="snippet_options" class="hidden">
|
||||
<t t-call="web_editor.snippet_options"/>
|
||||
<t t-call="mass_mailing.snippet_options"/>
|
||||
</div>
|
||||
<xpath expr="//div[@id='snippet_options']" position="inside">
|
||||
<t t-call="mass_mailing.snippet_options"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
||||
@@ -23,8 +23,10 @@
|
||||
|
||||
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
|
||||
|
||||
<t t-call-assets="web.assets_common" t-css="false" />
|
||||
<t t-call-assets="web.assets_backend" t-css="false" />
|
||||
<t t-call-assets="web.assets_common" t-css="false"/>
|
||||
<t t-call-assets="web.assets_backend" t-css="false"/>
|
||||
<t t-call-assets="web_editor.summernote" t-css="false"/>
|
||||
<t t-call-assets="web_editor.assets_editor" t-css="false"/>
|
||||
<t t-call-assets="point_of_sale.assets"/>
|
||||
|
||||
<script type="text/javascript" id="loading-script" t-raw="init">
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
.o_editable:not(:empty)[data-oe-model="ir.ui.view"]:hover,
|
||||
.o_editable:not(:empty)[data-oe-model="ir.ui.view"] th:hover,
|
||||
.o_editable:not(:empty)[data-oe-model="ir.ui.view"] td:hover,
|
||||
.o_editable[data-oe-type][data-oe-model="ir.ui.view"]:hover,
|
||||
.o_editable[data-oe-type][data-oe-model="ir.ui.view"] th:hover,
|
||||
.o_editable[data-oe-type][data-oe-model="ir.ui.view"] td:hover {
|
||||
-moz-box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
-webkit-box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
.o_editable {
|
||||
&:not(:empty), &[data-oe-type] {
|
||||
&[date-oe-model="ir.ui.view"] {
|
||||
&, th, td {
|
||||
&:hover {
|
||||
-moz-box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
-webkit-box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
margin-top: 40px!important;
|
||||
}
|
||||
@@ -6,11 +6,13 @@ body {
|
||||
border-top: 1px solid black !important;
|
||||
}
|
||||
/* See https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1524 */
|
||||
.table-condensed > tbody > tr {
|
||||
page-break-inside: avoid !important;
|
||||
}
|
||||
.table-condensed > thead > tr > th {
|
||||
border-bottom: 1px solid black !important;
|
||||
.table-condensed {
|
||||
> thead > tr > th {
|
||||
border-bottom: 1px solid black !important;
|
||||
}
|
||||
> tbody > tr {
|
||||
page-break-inside: avoid !important;
|
||||
}
|
||||
}
|
||||
.zero_min_height {
|
||||
min-height: 0px !important;
|
||||
@@ -24,4 +26,3 @@ body {
|
||||
.hidden-print{
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -2,11 +2,16 @@
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="report.assets_common">
|
||||
<link href="/web/static/lib/bootstrap/css/bootstrap.css" rel="stylesheet"/>
|
||||
<link href="/website/static/src/css/website.css" rel="stylesheet"/>
|
||||
<link href="/web/static/lib/fontawesome/css/font-awesome.css" rel="stylesheet"/>
|
||||
<link href="/base/static/src/css/description.css" rel="stylesheet"/>
|
||||
<link href="/report/static/src/css/report.css" rel="stylesheet"/>
|
||||
<t t-call="web.less_helpers"/>
|
||||
|
||||
<link href="/web/static/src/less/import_bootstrap.less" rel="stylesheet" type="text/less"/>
|
||||
<link href="/base/static/src/css/description.css" rel="stylesheet" type="text/css"/>
|
||||
|
||||
<!-- FIXME remove website dependency ..? -->
|
||||
<link href="/website/static/src/less/website.wrapwrap.less" rel="stylesheet" type="text/less"/>
|
||||
<link href="/website/static/src/less/website.snippets.less" rel="stylesheet" type="text/less"/>
|
||||
|
||||
<link href="/report/static/src/less/report.less" rel="stylesheet" type="text/less"/>
|
||||
</template>
|
||||
|
||||
<template id="report.assets_pdf">
|
||||
@@ -14,7 +19,10 @@
|
||||
</template>
|
||||
|
||||
<template id="report.assets_editor">
|
||||
<link href="/report/static/src/css/report.editor.css" rel="stylesheet"/>
|
||||
<t t-call="web.less_helpers"/>
|
||||
|
||||
<link href="/report/static/src/less/report.editor.less" rel="stylesheet" type="text/less"/>
|
||||
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
|
||||
<script type="text/javascript" src='/report/static/src/js/report.editor.js' />
|
||||
</template>
|
||||
@@ -32,13 +40,21 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="initial-scale=1"/>
|
||||
<title><t t-esc="title or 'Odoo Report'"/></title>
|
||||
<t t-call-assets="report.assets_common"/>
|
||||
<t t-call-assets="web.assets_common" t-js="false"/>
|
||||
<t t-call-assets="report.assets_common" t-js="false"/>
|
||||
<t t-if="editable">
|
||||
<t t-call-assets="web_editor.assets_editor"/>
|
||||
<t t-call-assets="report.assets_editor"/>
|
||||
<t t-call-assets="web_editor.summernote" t-js="false"/>
|
||||
<t t-call-assets="web_editor.assets_editor" t-js="false"/>
|
||||
<t t-call-assets="report.assets_editor" t-js="false"/>
|
||||
</t>
|
||||
<t t-if="editable">
|
||||
<t t-call-assets="web.assets_common" t-css="false"/>
|
||||
<t t-call-assets="web_editor.summernote" t-css="false"/>
|
||||
<t t-call-assets="web_editor.assets_editor" t-css="false"/>
|
||||
<t t-call-assets="report.assets_editor" t-css="false"/>
|
||||
</t>
|
||||
</head>
|
||||
<body class="container" t-att-style="editable and 'margin-top: 40px;'">
|
||||
<body class="container">
|
||||
<div id="wrapwrap">
|
||||
<main>
|
||||
<t t-raw="0"/>
|
||||
@@ -163,8 +179,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html style="height: 0;">
|
||||
<head>
|
||||
<t t-call-assets="report.assets_pdf"/>
|
||||
<t t-call-assets="report.assets_common"/>
|
||||
<t t-call-assets="report.assets_pdf" t-js="false"/>
|
||||
<t t-call-assets="report.assets_common" t-js="false"/>
|
||||
<t t-call-assets="report.assets_pdf" t-css="false"/>
|
||||
<t t-call-assets="report.assets_common" t-css="false"/>
|
||||
<meta charset="utf-8"/>
|
||||
<t t-if="subst is True">
|
||||
<script>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
#theme_customize_modal {
|
||||
.modal-h5 {
|
||||
color: #ffffff;
|
||||
font-family: "Lato-Regular";
|
||||
font-weight: normal;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: normal;
|
||||
font-size: 14px;
|
||||
color: white;
|
||||
padding: 4px 0 4px 4px;
|
||||
background-color: #bdc3c7;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<odoo>
|
||||
<template id="assets_frontend" inherit_id="website.assets_frontend" name="Theme Default Assets Frontend">
|
||||
<xpath expr="link[last()]" position="after">
|
||||
<link rel="stylesheet" href="/theme_default/static/src/less/customize_modal.less"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="customize_modal" inherit_id="website.theme_customize" name="treehouse Customize Modal" priority="1">
|
||||
<xpath expr="div" position="replace">
|
||||
@@ -165,6 +169,4 @@
|
||||
<link href="/theme_default/static/src/less/option_font.less" rel="stylesheet" type="text/less"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
||||
@@ -172,21 +172,7 @@ var Tour = {
|
||||
if (snippet) {
|
||||
step.snippet = snippet[1];
|
||||
} else if (step.snippet) {
|
||||
step.element = '#o_left_bar '+step.snippet+' .oe_snippet_thumbnail';
|
||||
tour.steps.splice(index, 0, {
|
||||
id: index,
|
||||
waitNot: step.waitNot,
|
||||
waitFor: step.waitFor,
|
||||
title: _t("Move your mouse"),
|
||||
content: _t("Move your mouse here to open the insert block"),
|
||||
element: '#o_left_bar',
|
||||
onend: function () {
|
||||
$("#oe_snippets").addClass("o_open");
|
||||
}
|
||||
});
|
||||
step.waitNot = null;
|
||||
step.waitFor = null;
|
||||
index++;
|
||||
step.element = '#oe_snippets ' + step.snippet + ' .oe_snippet_thumbnail';
|
||||
}
|
||||
|
||||
step.id = index;
|
||||
|
||||
@@ -0,0 +1,174 @@
|
||||
|
||||
.o_main_navbar {
|
||||
position: relative;
|
||||
height: @odoo-navbar-height;
|
||||
border: 1px solid @odoo-navbar-inverse-link-hover-bg;
|
||||
background-color: @odoo-brand-primary;
|
||||
color: white;
|
||||
.box-shadow(0px 0px 8px @odoo-main-text-color);
|
||||
|
||||
> button {
|
||||
float: left;
|
||||
width: @odoo-navbar-height - 2;
|
||||
height: @odoo-navbar-height - 2;
|
||||
border: none;
|
||||
padding: 0;
|
||||
line-height: @odoo-navbar-height - 2;
|
||||
background-color: transparent;
|
||||
|
||||
font-size: 18px;
|
||||
.user-select(none);
|
||||
|
||||
&:hover, &:focus {
|
||||
background-color: @odoo-navbar-inverse-link-hover-bg;
|
||||
}
|
||||
&:focus, &:active, &:focus:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
&.o_menu_toggle {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
> ul {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
> li {
|
||||
position: relative;
|
||||
display: block;
|
||||
float: left;
|
||||
|
||||
> a {
|
||||
display: block;
|
||||
height: @odoo-navbar-height - 2;
|
||||
padding: 0 10px;
|
||||
color: white;
|
||||
line-height: @odoo-navbar-height - 2;
|
||||
|
||||
&:hover {
|
||||
background-color: @odoo-navbar-inverse-link-hover-bg;
|
||||
}
|
||||
|
||||
&:focus, &:active, &:focus:active {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.o_menu_systray {
|
||||
float: right;
|
||||
.open .dropdown-menu {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
.o_user_menu {
|
||||
float: right;
|
||||
.oe_topbar_avatar {
|
||||
height: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.o_menu_brand {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.open .dropdown-menu {
|
||||
max-height: 90vh; // the dropdown should not overstep the viewport
|
||||
overflow: auto;
|
||||
margin-top: 0;
|
||||
|
||||
.o-menu-indentation(@index) when (@index < 6) {
|
||||
> li.o_menu_header_lvl_@{index}, > li .o_menu_entry_lvl_@{index} {
|
||||
padding-left: @odoo-dropdown-hpadding + (@index - 2)*12px;
|
||||
}
|
||||
.o-menu-indentation(@index + 1);
|
||||
}
|
||||
.o-menu-indentation(3);
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.o-transition(height, 200ms, linear);
|
||||
|
||||
position: relative;
|
||||
height: @odoo-navbar-height;
|
||||
overflow: hidden;
|
||||
|
||||
> ul {
|
||||
> li {
|
||||
float: none;
|
||||
.dropdown-backdrop {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&.open .dropdown-menu {
|
||||
max-height: none;
|
||||
}
|
||||
}
|
||||
|
||||
&.o_menu_sections {
|
||||
width: 100%;
|
||||
|
||||
> li.open .dropdown-menu {
|
||||
position: static;
|
||||
float: none;
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
overflow: visible;
|
||||
|
||||
> li > a {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.o_menu_systray {
|
||||
.o-position-absolute(0px, @odoo-navbar-height - 2, auto, @odoo-navbar-height - 2);
|
||||
height: @odoo-navbar-height - 2;
|
||||
text-align: right;
|
||||
|
||||
> li {
|
||||
display: inline-block;
|
||||
|
||||
&.open .dropdown-menu {
|
||||
.o-position-absolute(@odoo-navbar-height, 0, 0, 0);
|
||||
position: fixed;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.o_user_menu .oe_topbar_name {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.o_menu_brand {
|
||||
float: none;
|
||||
margin: 0;
|
||||
border-bottom: 1px solid @odoo-navbar-inverse-link-hover-bg;
|
||||
color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
body.o_mobile_menu_opened {
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
height: 100vh;
|
||||
|
||||
.o_main_navbar {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,3 @@
|
||||
// ------------------------------------------------------------------
|
||||
// Margin
|
||||
// ------------------------------------------------------------------
|
||||
.utils-margin-loop(@index) when (@index < 256) {
|
||||
.o-mt@{index} {margin-top: @index px;}
|
||||
.o-mb@{index} {margin-bottom: @index px;}
|
||||
.o-mr@{index} {margin-right: @index px;}
|
||||
.o-ml@{index} {margin-left: @index px;}
|
||||
|
||||
.utils-margin-loop(@index * 2);
|
||||
}
|
||||
.utils-margin-loop(2);
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Padding
|
||||
// ------------------------------------------------------------------
|
||||
@@ -122,7 +109,6 @@
|
||||
}
|
||||
|
||||
// Background-size
|
||||
// https://css-tricks.com/perfect-full-page-background-image/
|
||||
.o-background-size(@size) {
|
||||
-webkit-background-size: @size;
|
||||
-moz-background-size: @size;
|
||||
@@ -130,6 +116,14 @@
|
||||
background-size: @size;
|
||||
}
|
||||
|
||||
// Background gradient
|
||||
.o-linear-gradient(@deg: 45deg, @start-color: #555, @end-color: #333) {
|
||||
background-repeat: repeat-x;
|
||||
background-image: -webkit-linear-gradient(@deg, @start-color, @end-color);
|
||||
background-image: -o-linear-gradient(@deg, @start-color, @end-color);
|
||||
background-image: linear-gradient(@deg, @start-color, @end-color);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Dropdowns
|
||||
// ------------------------------------------------------------------
|
||||
@@ -196,26 +190,6 @@
|
||||
transition: @property @duration @timing-function @transition-delay;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Animation
|
||||
// ------------------------------------------------------------------
|
||||
.o-animation(@name: none, @duration: 0s, @timing-function: ease, @delay: 0s, @iteration-count: 1, @direction: normal, @fill-mode: none, @play-state: running) {
|
||||
-webkit-animation: @name @duration @timing-function @delay @iteration-count @direction @fill-mode @play-state;
|
||||
-moz-animation: @name @duration @timing-function @delay @iteration-count @direction @fill-mode @play-state;
|
||||
-o-animation: @name @duration @timing-function @delay @iteration-count @direction @fill-mode @play-state;
|
||||
animation: @name @duration @timing-function @delay @iteration-count @direction @fill-mode @play-state;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Transition
|
||||
// ------------------------------------------------------------------
|
||||
.o-transition(@property: all, @duration: 0s, @timing-function: easy, @transition-delay: 0s) {
|
||||
-webkit-transition: @property @duration @timing-function @transition-delay;
|
||||
-moz-transition: @property @duration @timing-function @transition-delay;
|
||||
-o-transition: @property @duration @timing-function @transition-delay;
|
||||
transition: @property @duration @timing-function @transition-delay;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------
|
||||
// Columns
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
@@ -1,19 +1,28 @@
|
||||
@odoo-font-size-base: 13px;
|
||||
@odoo-font-size-base-touch: 15px;
|
||||
|
||||
// Colors
|
||||
@odoo-brand-primary: #337ab7;
|
||||
@odoo-brand-optional: @odoo-brand-primary;
|
||||
@odoo-brand-secondary: #8f8f8f;
|
||||
@odoo-brand-lightsecondary: #e2e2e0;
|
||||
@odoo-list-grey: @odoo-brand-lightsecondary; // FIXME: listview thead background color
|
||||
@odoo-webclient-background-color: #F0EEEE;
|
||||
|
||||
@odoo-main-color-muted: #a8a8a8;
|
||||
@odoo-main-text-color: #555555;
|
||||
|
||||
@odoo-view-background-color: white;
|
||||
@odoo-shadow-color: #303030;
|
||||
@odoo-webclient-background-color: #F0EEEE;
|
||||
@odoo-list-grey: @odoo-brand-lightsecondary;
|
||||
|
||||
@odoo-font-size-base: 13px;
|
||||
@odoo-font-size-base-touch: 15px;
|
||||
@odoo-main-text-color: #555555;
|
||||
@odoo-main-color-muted: #a8a8a8;
|
||||
// Layout
|
||||
@screen-xs-min: 475px;
|
||||
@screen-xxs-max: (@screen-xs-min - 1);
|
||||
|
||||
@odoo-form-group-cols: 12;
|
||||
@odoo-horizontal-padding: 16px;
|
||||
|
||||
@screen-xs-min: 475px;
|
||||
@screen-xxs-max: (@screen-xs-min - 1);
|
||||
// Compatibility
|
||||
@odoo-navbar-height: 46px;
|
||||
@odoo-navbar-inverse-link-hover-bg: darken(@odoo-brand-primary, 10%);
|
||||
@odoo-dropdown-hpadding: 25px;
|
||||
|
||||
@@ -1,182 +1,190 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="web.assets_common">
|
||||
<script type="text/javascript" src="/web/static/lib/es5-shim/es5-shim.min.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/moment/moment.js"></script>
|
||||
<odoo>
|
||||
<template id="web.less_helpers">
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/lib/bootstrap/less/variables.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/lib/bootstrap/less/mixins/vendor-prefixes.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/lib/bootstrap/less/mixins/buttons.less"/>
|
||||
|
||||
<!-- jQuery stuff -->
|
||||
<script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
|
||||
<link rel="stylesheet" href="/web/static/lib/jquery.ui/jquery-ui.css"/>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.ui/jquery-ui.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery/jquery.browser.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.blockUI/jquery.blockUI.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.hotkeys/jquery.hotkeys.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.placeholder/jquery.placeholder.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/variables.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/utils.less"/>
|
||||
</template>
|
||||
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
|
||||
<template id="web.assets_common">
|
||||
<t t-call="web.less_helpers"/>
|
||||
|
||||
<script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/boot.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/class.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/translation.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/ajax.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/time.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/mixins.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/widget.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/registry.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/session.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/model.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/utils.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/core.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/dialog.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/tour.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/x2many.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/lib/jquery.ui/jquery-ui.css"/>
|
||||
|
||||
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="/web/static/src/fonts/lato/stylesheet.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/src/fonts/lato/stylesheet.css" />
|
||||
|
||||
<link rel="stylesheet" href="/web/static/src/less/mimetypes.less"/>
|
||||
<link rel="stylesheet" href="/web/static/src/less/animation.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/mimetypes.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/animation.less"/>
|
||||
|
||||
<!-- Datetime Picker -->
|
||||
<link rel="stylesheet" href="/web/static/lib/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css"/>
|
||||
<script type="text/javascript" src="/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/lib/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/lib/select2/select2.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
|
||||
|
||||
<!-- Select 2 -->
|
||||
<link rel="stylesheet" href="/web/static/lib/select2/select2.css"/>
|
||||
<link rel="stylesheet" href="/web/static/lib/select2-bootstrap-css/select2-bootstrap.css"/>
|
||||
<script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
|
||||
</template>
|
||||
<script type="text/javascript" src="/web/static/lib/es5-shim/es5-shim.min.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/underscore/underscore.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/underscore.string/lib/underscore.string.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/moment/moment.js"></script>
|
||||
|
||||
<template id="web.bootstrap">
|
||||
<script src="/web/static/lib/bootstrap/js/affix.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/alert.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/button.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/carousel.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/collapse.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/dropdown.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/modal.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/tooltip.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/popover.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/scrollspy.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/tab.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/transition.js"></script>
|
||||
</template>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.ui/jquery-ui.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery/jquery.browser.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.blockUI/jquery.blockUI.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.hotkeys/jquery.hotkeys.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.placeholder/jquery.placeholder.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.form/jquery.form.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
|
||||
|
||||
<template id="web.assets_backend">
|
||||
<!-- jQuery addons -->
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.scrollTo/jquery.scrollTo.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/affix.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/alert.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/button.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/carousel.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/collapse.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/dropdown.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/modal.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/tooltip.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/popover.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/scrollspy.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/tab.js"></script>
|
||||
<script src="/web/static/lib/bootstrap/js/transition.js"></script>
|
||||
|
||||
<t t-call="web.bootstrap"/>
|
||||
<script type="text/javascript" src="/web/static/lib/qweb/qweb2.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/boot.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/class.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/translation.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/ajax.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/time.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/mixins.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/widget.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/registry.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/session.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/model.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/utils.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/core.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/dialog.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/tour.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/x2many.js"></script>
|
||||
|
||||
<!-- nv.d3 -->
|
||||
<link rel="stylesheet" href="/web/static/lib/nvd3/nv.d3.css"/>
|
||||
<script type="text/javascript" src="/web/static/lib/nvd3/d3.v3.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/nvd3/nv.d3.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
|
||||
</template>
|
||||
|
||||
<!-- Backbone -->
|
||||
<script type="text/javascript" src="/web/static/lib/backbone/backbone.js"></script>
|
||||
<template id="web.assets_backend">
|
||||
<t t-call="web.less_helpers"/>
|
||||
|
||||
<!-- Internals -->
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
odoo._modules = <t t-raw="get_modules_order()"/>;
|
||||
</script>
|
||||
<link rel="stylesheet" href="/web/static/src/css/base.css"/>
|
||||
<link rel="stylesheet" href="/web/static/src/css/data_export.css"/>
|
||||
<link rel="stylesheet" href="/base/static/src/css/modules.css"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/import_bootstrap.less"/>
|
||||
|
||||
<link rel="stylesheet" href='/website/static/src/less/import_bootstrap.less'/>
|
||||
<link rel="stylesheet" href="/web/static/src/less/variables.less"/>
|
||||
<link rel="stylesheet" href="/web/static/src/less/enterprise_compatibility.less"/>
|
||||
<link rel="stylesheet" href="/web/static/src/less/utils.less"/>
|
||||
<link rel="stylesheet" href="/web/static/src/less/modal.less"/>
|
||||
<link rel="stylesheet" href="/web/static/src/less/notification.less"/>
|
||||
<link rel="stylesheet" href="/web/static/src/less/switch_company_menu.less"/>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/lib/nvd3/nv.d3.css"/>
|
||||
|
||||
<script type="text/javascript" src="/web/static/lib/py.js/lib/py.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/src/css/base.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/web/static/src/css/data_export.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/base/static/src/css/modules.css"/>
|
||||
|
||||
<!-- Special case: core.js declares $.browser needed by ba-bbq -->
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/enterprise_compatibility.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/modal.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/notification.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/switch_company_menu.less"/>
|
||||
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/data_model.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/formats.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/pyeval.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/action_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/control_panel.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/view_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/web_client.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/data.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/compatibility.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/misc.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/crash_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/change_password.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/debug_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/data_export.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/date_picker.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/loading.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/notification.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/sidebar.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/priority.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/progress_bar.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/pager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/systray_menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/switch_company_menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/user_menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/list_common.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/list_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_common.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_widgets.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_relational_widgets.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/list_view_editable.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/pivot_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/graph_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/graph_widget.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_filters.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_inputs.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_menus.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/tree_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/apps.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.scrollTo/jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/nvd3/d3.v3.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/nvd3/nv.d3.js"></script>
|
||||
<script type="text/javascript" src="/web/static/lib/backbone/backbone.js"></script>
|
||||
|
||||
</template>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
odoo._modules = <t t-raw="get_modules_order()"/>;
|
||||
</script>
|
||||
|
||||
<template id="web.layout" name="Web layout"><!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Odoo</title>
|
||||
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
|
||||
<link rel="stylesheet" href="/web/static/src/css/full.css" />
|
||||
<t t-raw="head or ''"/>
|
||||
</head>
|
||||
<body t-att-class="body_classname">
|
||||
<t t-raw="0"/>
|
||||
</body>
|
||||
</html>
|
||||
</template>
|
||||
<script type="text/javascript" src="/web/static/lib/py.js/lib/py.js"></script>
|
||||
<!-- Special case: core.js declares $.browser needed by ba-bbq -->
|
||||
<script type="text/javascript" src="/web/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
|
||||
|
||||
<template id="web.login_layout" name="Login Layout">
|
||||
<t t-call="web.layout">
|
||||
<t t-set="head">
|
||||
<link rel="stylesheet" href="/web/static/lib/bootstrap/css/bootstrap.css"/>
|
||||
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
|
||||
<script src="/web/static/lib/jquery/jquery.js" type="text/javascript"/>
|
||||
</t>
|
||||
<t t-set="body_classname" t-value="'container'"/>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3 o_database_list">
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/data_model.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/formats.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/pyeval.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/action_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/control_panel.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/view_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/web_client.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/data.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/compatibility.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/misc.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/crash_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/change_password.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/debug_manager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/data_export.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/date_picker.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/loading.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/notification.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/sidebar.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/priority.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/progress_bar.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/pager.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/systray_menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/switch_company_menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/widgets/user_menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/menu.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/list_common.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/list_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_common.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_widgets.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/form_relational_widgets.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/list_view_editable.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/pivot_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/graph_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/graph_widget.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_filters.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_inputs.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/search_menus.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/views/tree_view.js"></script>
|
||||
<script type="text/javascript" src="/web/static/src/js/apps.js"></script>
|
||||
</template>
|
||||
|
||||
<template id="web.assets_frontend">
|
||||
<t t-call="web.less_helpers"/>
|
||||
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/import_bootstrap.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web/static/src/less/navbar.less"/> <!-- Compatibility -->
|
||||
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
|
||||
</template>
|
||||
|
||||
<template id="web.layout" name="Web layout"><!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Odoo</title>
|
||||
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
|
||||
<link rel="stylesheet" href="/web/static/src/css/full.css" />
|
||||
<t t-raw="head or ''"/>
|
||||
</head>
|
||||
<body t-att-class="body_classname">
|
||||
<t t-raw="0"/>
|
||||
</body>
|
||||
</html>
|
||||
</template>
|
||||
|
||||
<template id="web.login_layout" name="Login Layout">
|
||||
<t t-call="web.layout">
|
||||
<t t-set="head">
|
||||
<t t-call-assets="web.assets_common" t-js="false"/>
|
||||
<t t-call-assets="web.assets_frontend" t-js="false"/>
|
||||
<t t-call-assets="web.assets_common" t-css="false"/>
|
||||
<t t-call-assets="web.assets_frontend" t-css="false"/>
|
||||
</t>
|
||||
<t t-set="body_classname" t-value="'container'"/>
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3 o_database_list">
|
||||
<div class="text-center">
|
||||
<img t-attf-src="/web/binary/company_logo{{ '?dbname='+db if db else '' }}"/>
|
||||
<img t-attf-src="/web/binary/company_logo{{ '?dbname='+db if db else '' }}"/>
|
||||
</div>
|
||||
<t t-raw="0"/>
|
||||
<div class="text-center" t-if="not disable_footer">
|
||||
@@ -185,179 +193,130 @@
|
||||
</t>
|
||||
<a href="https://www.odoo.com" target="_blank">Powered by <span>Odoo</span></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="web.login" name="Login">
|
||||
<t t-call="web.login_layout">
|
||||
<template id="web.login" name="Login">
|
||||
<t t-call="web.login_layout">
|
||||
<form class="oe_login_form" role="form" t-attf-action="/web/login{{ '?debug' if debug else '' }}" method="post" onsubmit="this.action = this.action + location.hash">
|
||||
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
|
||||
|
||||
<form class="oe_login_form" role="form" t-attf-action="/web/login{{ '?debug' if debug else '' }}" method="post" onsubmit="this.action = this.action + location.hash">
|
||||
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
|
||||
<div class="form-group field-db" t-if="databases and len(databases) > 1">
|
||||
<label for="db" class="control-label">Database</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="db" t-att-value="request.db" id="db" class="form-control" required="required" readonly="readonly"/>
|
||||
<span class="input-group-btn">
|
||||
<a href="/web/database/selector" class="btn btn-default">Select <i class="fa fa-database"></i></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group field-db" t-if="databases and len(databases) > 1">
|
||||
<label for="db" class="control-label">Database</label>
|
||||
<div class="input-group">
|
||||
<input type="text" name="db" t-att-value="request.db" id="db" class="form-control" required="required" readonly="readonly"/>
|
||||
<span class="input-group-btn">
|
||||
<a href="/web/database/selector" class="btn btn-default">Select <i class="fa fa-database"></i></a>
|
||||
</span>
|
||||
<div class="form-group field-login">
|
||||
<label for="login" class="control-label">Email</label>
|
||||
<input type="text" name="login" t-att-value="login" id="login" class="form-control" required="required" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
<div class="form-group field-password">
|
||||
<label for="password" class="control-label">Password</label>
|
||||
<input type="password" name="password" id="password" class="form-control" required="required" t-att-autofocus="'autofocus' if login else None"/>
|
||||
</div>
|
||||
|
||||
<p class="alert alert-danger" t-if="error">
|
||||
<t t-esc="error"/>
|
||||
</p>
|
||||
<p class="alert alert-success" t-if="message">
|
||||
<t t-esc="message"/>
|
||||
</p>
|
||||
|
||||
<input type="hidden" name="redirect" t-att-value="redirect"/>
|
||||
<div class="clearfix oe_login_buttons">
|
||||
<button type="submit" class="btn btn-primary">Log in</button>
|
||||
</div>
|
||||
</form>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="web.menu">
|
||||
<ul class="nav navbar-nav navbar-left oe_application_menu_placeholder" style="display: none;">
|
||||
<li t-foreach="menu_data['children']" t-as="menu">
|
||||
<t t-call="web.menu_link"/>
|
||||
</li>
|
||||
<li id="menu_more_container" class="dropdown" style="display: none;">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a>
|
||||
<ul id="menu_more" class="dropdown-menu"></ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right oe_user_menu_placeholder" style="display: none;"/>
|
||||
<ul class="nav navbar-nav navbar-right oe_systray" style="display: none;"/>
|
||||
</template>
|
||||
<template id="web.menu_secondary">
|
||||
<a class="oe_logo" t-att-href="'/web/?debug' if debug else '/web'">
|
||||
<span class="oe_logo_edit">Edit Company data</span>
|
||||
<img src='/web/binary/company_logo'/>
|
||||
</a>
|
||||
<div class="oe_secondary_menus_container">
|
||||
<t t-foreach="menu_data['children']" t-as="menu">
|
||||
<div style="display: none" class="oe_secondary_menu" t-att-data-menu-parent="menu['id']">
|
||||
<t t-foreach="menu['children']" t-as="menu">
|
||||
<div class="oe_secondary_menu_section">
|
||||
<t t-if="menu['children']"><t t-esc="menu['name']"/></t>
|
||||
<t t-if="not menu['children']"><t t-call="web.menu_link"/></t>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group field-login">
|
||||
<label for="login" class="control-label">Email</label>
|
||||
<input type="text" name="login" t-att-value="login" id="login" class="form-control" required="required" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
<div class="form-group field-password">
|
||||
<label for="password" class="control-label">Password</label>
|
||||
<input type="password" name="password" id="password" class="form-control" required="required" t-att-autofocus="'autofocus' if login else None"/>
|
||||
</div>
|
||||
|
||||
<p class="alert alert-danger" t-if="error">
|
||||
<t t-esc="error"/>
|
||||
</p>
|
||||
<p class="alert alert-success" t-if="message">
|
||||
<t t-esc="message"/>
|
||||
</p>
|
||||
|
||||
<input type="hidden" name="redirect" t-att-value="redirect"/>
|
||||
<div class="clearfix oe_login_buttons">
|
||||
<button type="submit" class="btn btn-primary">Log in</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="web.menu">
|
||||
<ul class="nav navbar-nav navbar-left oe_application_menu_placeholder" style="display: none;">
|
||||
<li t-foreach="menu_data['children']" t-as="menu">
|
||||
<t t-call="web.menu_link"/>
|
||||
</li>
|
||||
<li id="menu_more_container" class="dropdown" style="display: none;">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a>
|
||||
<ul id="menu_more" class="dropdown-menu"></ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right oe_user_menu_placeholder" style="display: none;"/>
|
||||
<ul class="nav navbar-nav navbar-right oe_systray" style="display: none;"/>
|
||||
</template>
|
||||
<template id="web.menu_secondary">
|
||||
<a class="oe_logo" t-att-href="'/web/?debug' if debug else '/web'">
|
||||
<span class="oe_logo_edit">Edit Company data</span>
|
||||
<img src='/web/binary/company_logo'/>
|
||||
</a>
|
||||
<div class="oe_secondary_menus_container">
|
||||
<t t-foreach="menu_data['children']" t-as="menu">
|
||||
<div style="display: none" class="oe_secondary_menu" t-att-data-menu-parent="menu['id']">
|
||||
<t t-foreach="menu['children']" t-as="menu">
|
||||
<div class="oe_secondary_menu_section">
|
||||
<t t-if="menu['children']"><t t-esc="menu['name']"/></t>
|
||||
<t t-if="not menu['children']"><t t-call="web.menu_link"/></t>
|
||||
</div>
|
||||
<t t-call="web.menu_secondary_submenu"/>
|
||||
</t>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
<div class="oe_footer">
|
||||
Powered by <a href="http://www.odoo.com" target="_blank"><span>Odoo</span></a>
|
||||
</div>
|
||||
</template>
|
||||
<template id="web.menu_secondary_submenu">
|
||||
<ul t-if="menu['children']" class="oe_secondary_submenu nav nav-pills nav-stacked">
|
||||
<li t-foreach="menu['children']" t-as="menu">
|
||||
<t t-call="web.menu_link"/>
|
||||
<t t-call="web.menu_secondary_submenu"/>
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
<template id="web.menu_link">
|
||||
<t t-set="debug_param" t-value="'?&debug=' if debug else ''"/>
|
||||
<a t-att-href="'/web%s#menu_id=%s&action=%s' % (debug_param, menu['id'], menu['action'] and menu['action'].split(',')[1] or '')"
|
||||
t-att-class="'oe_menu_toggler' if menu.get('children') else 'oe_menu_leaf'"
|
||||
t-att-data-menu="menu['id']"
|
||||
t-att-data-action-model="menu['action'] and menu['action'].split(',')[0] or ''"
|
||||
t-att-data-action-id="menu['action'] and menu['action'].split(',')[1] or ''">
|
||||
<span class="oe_menu_text">
|
||||
<t t-esc="menu['name']"/>
|
||||
</span>
|
||||
</a>
|
||||
</template>
|
||||
|
||||
<template id="web.webclient_bootstrap" name="Webclient Bootstrap">
|
||||
<t t-call="web.layout">
|
||||
<t t-set="head">
|
||||
<t t-call-assets="web.assets_common"/>
|
||||
<script type="text/javascript">
|
||||
odoo.define('web.csrf', function (require) {
|
||||
var token = "<t t-esc="request.csrf_token(None)"/>";
|
||||
require('web.core').csrf_token = token;
|
||||
require('qweb').default_dict.csrf_token = token;
|
||||
});
|
||||
odoo.db_info = <t t-raw="db_info"/>;
|
||||
</script>
|
||||
<t t-call-assets="web.assets_backend"/>
|
||||
<!--[if lte IE 9]> <link rel="stylesheet" href="/web/static/src/css/ie.css"/> <![endif]-->
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
<t t-if="init">
|
||||
<t t-raw="init"/>
|
||||
</t>
|
||||
<t t-if="not init">
|
||||
odoo.define('web.web_client', function (require) {
|
||||
var WebClient = require('web.WebClient');
|
||||
var web_client = new WebClient();
|
||||
web_client.setElement($(document.body));
|
||||
web_client.start();
|
||||
return web_client;
|
||||
});
|
||||
</t>
|
||||
});
|
||||
</script>
|
||||
</t>
|
||||
|
||||
<nav id="oe_main_menu_navbar" class="navbar navbar-inverse" role="navigation" groups="base.group_user,base.group_portal">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse" id="oe_main_menu_placeholder">
|
||||
<t t-call="web.menu"/>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="openerp openerp_webclient_container oe_webclient">
|
||||
<div class="oe_leftbar" groups="base.group_user,base.group_portal">
|
||||
<t t-call="web.menu_secondary"/>
|
||||
</div><div class="oe_application"/>
|
||||
<t t-call="web.menu_secondary_submenu"/>
|
||||
</t>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
</div>
|
||||
<div class="oe_footer">
|
||||
Powered by <a href="http://www.odoo.com" target="_blank"><span>Odoo</span></a>
|
||||
</div>
|
||||
</template>
|
||||
<template id="web.menu_secondary_submenu">
|
||||
<ul t-if="menu['children']" class="oe_secondary_submenu nav nav-pills nav-stacked">
|
||||
<li t-foreach="menu['children']" t-as="menu">
|
||||
<t t-call="web.menu_link"/>
|
||||
<t t-call="web.menu_secondary_submenu"/>
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
<template id="web.menu_link">
|
||||
<t t-set="debug_param" t-value="'?&debug=' if debug else ''"/>
|
||||
<a t-att-href="'/web%s#menu_id=%s&action=%s' % (debug_param, menu['id'], menu['action'] and menu['action'].split(',')[1] or '')"
|
||||
t-att-class="'oe_menu_toggler' if menu.get('children') else 'oe_menu_leaf'"
|
||||
t-att-data-menu="menu['id']"
|
||||
t-att-data-action-model="menu['action'] and menu['action'].split(',')[0] or ''"
|
||||
t-att-data-action-id="menu['action'] and menu['action'].split(',')[1] or ''">
|
||||
<span class="oe_menu_text">
|
||||
<t t-esc="menu['name']"/>
|
||||
</span>
|
||||
</a>
|
||||
</template>
|
||||
|
||||
<template id="web.qunit_suite">
|
||||
<!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Odoo Web Tests</title>
|
||||
<template id="web.webclient_bootstrap" name="Webclient Bootstrap">
|
||||
<t t-call="web.layout">
|
||||
<t t-set="head">
|
||||
<t t-call-assets="web.assets_common" t-js="false"/>
|
||||
<t t-call-assets="web.assets_backend" t-js="false"/>
|
||||
<t t-call-assets="web.assets_common" t-css="false"/>
|
||||
<script type="text/javascript">
|
||||
odoo.define('web.csrf', function (require) {
|
||||
var token = "<t t-esc="request.csrf_token(None)"/>";
|
||||
require('web.core').csrf_token = token;
|
||||
require('qweb').default_dict.csrf_token = token;
|
||||
});
|
||||
odoo.db_info = <t t-raw="db_info"/>;
|
||||
</script>
|
||||
<t t-call-assets="web.assets_backend" t-css="false"/>
|
||||
|
||||
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
|
||||
<link rel="stylesheet" href="/web/static/lib/qunit/qunit-1.17.1.css"/>
|
||||
<script src="/web/static/lib/qunit/qunit-1.17.1.js"></script>
|
||||
|
||||
<t t-call="web.assets_common"/>
|
||||
<t t-call="web.assets_backend"/>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
<t t-if="init">
|
||||
<t t-raw="init"/>
|
||||
</t>
|
||||
<t t-if="not init">
|
||||
odoo.define('web.web_client', function (require) {
|
||||
var WebClient = require('web.WebClient');
|
||||
var web_client = new WebClient();
|
||||
@@ -365,35 +324,81 @@
|
||||
web_client.start();
|
||||
return web_client;
|
||||
});
|
||||
</t>
|
||||
});
|
||||
</script>
|
||||
<!--[if lte IE 9]> <link rel="stylesheet" href="/web/static/src/css/ie.css"/> <![endif]-->
|
||||
</t>
|
||||
|
||||
<nav id="oe_main_menu_navbar" class="navbar navbar-inverse" role="navigation" groups="base.group_user,base.group_portal">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse" id="oe_main_menu_placeholder">
|
||||
<t t-call="web.menu"/>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="openerp openerp_webclient_container oe_webclient">
|
||||
<div class="oe_leftbar" groups="base.group_user,base.group_portal">
|
||||
<t t-call="web.menu_secondary"/>
|
||||
</div><div class="oe_application"/>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="web.qunit_suite">
|
||||
<!DOCTYPE html>
|
||||
<html style="height: 100%">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Odoo Web Tests</title>
|
||||
|
||||
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
|
||||
<link rel="stylesheet" href="/web/static/lib/qunit/qunit-1.17.1.css"/>
|
||||
<script src="/web/static/lib/qunit/qunit-1.17.1.js"></script>
|
||||
|
||||
<t t-call="web.assets_common"/>
|
||||
<t t-call="web.assets_backend"/>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
odoo.define('web.web_client', function (require) {
|
||||
var WebClient = require('web.WebClient');
|
||||
var web_client = new WebClient();
|
||||
web_client.setElement($(document.body));
|
||||
web_client.start();
|
||||
return web_client;
|
||||
});
|
||||
</script>
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
body { overflow: auto !important; }
|
||||
</style>
|
||||
<script type="text/javascript" src="/web/static/test/testing.js"></script>
|
||||
<style>
|
||||
body { overflow: auto !important; }
|
||||
</style>
|
||||
<script type="text/javascript" src="/web/static/test/testing.js"></script>
|
||||
|
||||
<script type="text/javascript" src="/web/static/test/registry.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/rpc-misordered.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/mutex.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/data.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/evals.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/form.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/formats.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/framework.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/list.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/list-utils.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/list-editable.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/search.js"></script>
|
||||
</head>
|
||||
<script type="text/javascript" src="/web/static/test/registry.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/rpc-misordered.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/mutex.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/data.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/evals.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/form.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/formats.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/framework.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/list.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/list-utils.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/list-editable.js"></script>
|
||||
<script type="text/javascript" src="/web/static/test/search.js"></script>
|
||||
</head>
|
||||
|
||||
<body id="oe" class="openerp">
|
||||
<div id="qunit"></div>
|
||||
<div id="qunit-fixture"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
<body id="oe" class="openerp">
|
||||
<div id="qunit"></div>
|
||||
<div id="qunit-fixture"></div>
|
||||
</body>
|
||||
</html>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
@@ -31,6 +31,7 @@ define([
|
||||
var title = options.title;
|
||||
var className = options.className;
|
||||
var dropdown = options.dropdown;
|
||||
var no_caret = options.no_caret;
|
||||
var hide = options.hide;
|
||||
|
||||
return (dropdown ? '<div class="btn-group' +
|
||||
@@ -47,7 +48,7 @@ define([
|
||||
(hide ? ' data-hide=\'' + hide + '\'' : '') +
|
||||
' tabindex="-1">' +
|
||||
label +
|
||||
(dropdown ? ' <span class="caret"></span>' : '') +
|
||||
((dropdown && !no_caret)? ' <span class="caret"></span>' : '') +
|
||||
'</button>' +
|
||||
(dropdown || '') +
|
||||
(dropdown ? '</div>' : '');
|
||||
@@ -216,36 +217,60 @@ define([
|
||||
color: function (lang, options) {
|
||||
var colorButtonLabel = '<i class="' +
|
||||
options.iconPrefix + options.icons.color.recent +
|
||||
'" style="color:black;background-color:yellow;"></i>';
|
||||
|
||||
'" id="colors_preview" style="color:white;background-color:#B35E9B"></i>';
|
||||
var colorButton = tplButton(colorButtonLabel, {
|
||||
className: 'note-recent-color',
|
||||
title: lang.color.recent,
|
||||
event: 'color',
|
||||
value: '{"backColor":"yellow"}'
|
||||
value: '{"backColor":"#B35E9B"}'
|
||||
});
|
||||
|
||||
var items = [
|
||||
'<li><div class="btn-group">',
|
||||
'<div class="note-palette-title">' + lang.color.background + '</div>',
|
||||
'<div class="note-color-reset" data-event="backColor"',
|
||||
' data-value="inherit" title="' + lang.color.transparent + '">' + lang.color.setTransparent + '</div>',
|
||||
'<div class="note-color-palette" data-target-event="backColor"></div>',
|
||||
'</div><div class="btn-group">',
|
||||
'<div class="note-palette-title">' + lang.color.foreground + '</div>',
|
||||
'<div class="note-color-reset" data-event="foreColor" data-value="inherit" title="' + lang.color.reset + '">',
|
||||
lang.color.resetToDefault,
|
||||
'</div>',
|
||||
'<div class="note-color-palette" data-target-event="foreColor"></div>',
|
||||
'</div></li>'
|
||||
];
|
||||
// This is a copy of web_editor.snippet.option.colorpicker qweb template
|
||||
var colorpicker_template = '' +
|
||||
'<div class="dropdown-menu">' +
|
||||
'<div class="colorpicker">' +
|
||||
'<div class="note-palette-title">{0}</div>' +
|
||||
'<div class="btn-group palette-reset">' +
|
||||
'<div class="note-color-reset" data-event="{2}" data-value="inherit" title="{1}">' +
|
||||
'<i class="fa fa-ban"></i>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="o_colorpicker_sections">' +
|
||||
'<ul class="nav nav-pills o_colorpicker_section_menu">' +
|
||||
'<li><a href="#o_palette_spectrum"><i class="fa fa-eyedropper"></i></a></li>' +
|
||||
'</ul>' +
|
||||
'<div class="tab-content o_colorpicker_section_tabs">' +
|
||||
'<div class="tab-pane" id="o_palette_spectrum">' +
|
||||
'<div class="note-color-palette" data-target-event="{2}"></div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
|
||||
var moreButton = tplButton('', {
|
||||
title: lang.color.more,
|
||||
dropdown: tplDropdown(items)
|
||||
var foreground = formatStr(colorpicker_template, [lang.color.foreground, lang.color.reset, 'foreColor']);
|
||||
var background = formatStr(colorpicker_template, [lang.color.background, lang.color.transparent, 'backColor']);
|
||||
|
||||
var foregroundButton = tplButton('', {
|
||||
title: lang.color.foreground,
|
||||
className: 'o_foreground_toggle',
|
||||
dropdown: foreground,
|
||||
no_caret: true,
|
||||
});
|
||||
var backgroundButton = tplButton('', {
|
||||
title: lang.color.background,
|
||||
className: 'o_background_toggle',
|
||||
dropdown: background,
|
||||
no_caret: true,
|
||||
});
|
||||
|
||||
return colorButton + moreButton;
|
||||
return colorButton + foregroundButton + backgroundButton;
|
||||
|
||||
function formatStr(str, values) {
|
||||
return str.replace(/{(\d+)}/g, function (match, number) {
|
||||
return (values[number] !== undefined)? values[number] : match;
|
||||
});
|
||||
};
|
||||
},
|
||||
bold: function (lang, options) {
|
||||
return tplIconButton(options.iconPrefix + options.icons.font.bold, {
|
||||
@@ -793,12 +818,13 @@ define([
|
||||
});
|
||||
|
||||
var body = document.body;
|
||||
var $container = $('#web_editor-toolbars')
|
||||
|
||||
// create Popover
|
||||
var $popover = $(this.tplPopovers(langInfo, options)); // ODOO: user (maybe) overrided method
|
||||
$popover.addClass('note-air-layout');
|
||||
$popover.attr('id', 'note-popover-' + id);
|
||||
$popover.appendTo(body);
|
||||
$popover.appendTo($container);
|
||||
createTooltip($popover, keyMap);
|
||||
this.createPalette($popover, options); // ODOO: use (maybe) overrided method
|
||||
|
||||
@@ -806,7 +832,7 @@ define([
|
||||
var $handle = $(tplHandles(options));
|
||||
$handle.addClass('note-air-layout');
|
||||
$handle.attr('id', 'note-handle-' + id);
|
||||
$handle.appendTo(body);
|
||||
$handle.appendTo($container);
|
||||
|
||||
// create Dialog
|
||||
var $dialog = $(tplDialogs(langInfo, options));
|
||||
@@ -815,7 +841,7 @@ define([
|
||||
$dialog.find('button.close, a.modal-close').click(function () {
|
||||
$(this).closest('.modal').modal('hide');
|
||||
});
|
||||
$dialog.appendTo(body);
|
||||
$dialog.appendTo($container);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -357,7 +357,7 @@ define('summernote/defaults', function () {
|
||||
},
|
||||
style: {
|
||||
style: 'Style',
|
||||
normal: 'Normal',
|
||||
normal: 'Paragraph',
|
||||
blockquote: 'Quote',
|
||||
pre: 'Code',
|
||||
h1: 'Header 1',
|
||||
|
||||
@@ -1,156 +0,0 @@
|
||||
/*---------------------------------------------------
|
||||
LESS Elements 0.9
|
||||
---------------------------------------------------
|
||||
A set of useful LESS mixins
|
||||
More info at: http://lesselements.com
|
||||
---------------------------------------------------*/
|
||||
|
||||
.gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
|
||||
background: @color;
|
||||
background: -webkit-gradient(linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0, @start),
|
||||
color-stop(1, @stop));
|
||||
background: -ms-linear-gradient(bottom,
|
||||
@start,
|
||||
@stop);
|
||||
background: -moz-linear-gradient(center bottom,
|
||||
@start 0%,
|
||||
@stop 100%);
|
||||
background: -o-linear-gradient(@stop,
|
||||
@start);
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@stop,@start));
|
||||
}
|
||||
.bw-gradient(@color: #F5F5F5, @start: 0, @stop: 255) {
|
||||
background: @color;
|
||||
background: -webkit-gradient(linear,
|
||||
left bottom,
|
||||
left top,
|
||||
color-stop(0, rgb(@start,@start,@start)),
|
||||
color-stop(1, rgb(@stop,@stop,@stop)));
|
||||
background: -ms-linear-gradient(bottom,
|
||||
rgb(@start,@start,@start) 0%,
|
||||
rgb(@stop,@stop,@stop) 100%);
|
||||
background: -moz-linear-gradient(center bottom,
|
||||
rgb(@start,@start,@start) 0%,
|
||||
rgb(@stop,@stop,@stop) 100%);
|
||||
background: -o-linear-gradient(rgb(@stop,@stop,@stop),
|
||||
rgb(@start,@start,@start));
|
||||
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",rgb(@stop,@stop,@stop),rgb(@start,@start,@start)));
|
||||
}
|
||||
.bordered(@top-color: #EEE, @right-color: #EEE, @bottom-color: #EEE, @left-color: #EEE) {
|
||||
border-top: solid 1px @top-color;
|
||||
border-left: solid 1px @left-color;
|
||||
border-right: solid 1px @right-color;
|
||||
border-bottom: solid 1px @bottom-color;
|
||||
}
|
||||
.drop-shadow(@x-axis: 0, @y-axis: 1px, @blur: 2px, @alpha: 0.1) {
|
||||
-webkit-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||
-moz-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||
box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
||||
}
|
||||
.rounded(@radius: 2px) {
|
||||
-webkit-border-radius: @radius;
|
||||
-moz-border-radius: @radius;
|
||||
border-radius: @radius;
|
||||
}
|
||||
.border-radius(@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) {
|
||||
-webkit-border-top-right-radius: @topright;
|
||||
-webkit-border-bottom-right-radius: @bottomright;
|
||||
-webkit-border-bottom-left-radius: @bottomleft;
|
||||
-webkit-border-top-left-radius: @topleft;
|
||||
-moz-border-radius-topright: @topright;
|
||||
-moz-border-radius-bottomright: @bottomright;
|
||||
-moz-border-radius-bottomleft: @bottomleft;
|
||||
-moz-border-radius-topleft: @topleft;
|
||||
border-top-right-radius: @topright;
|
||||
border-bottom-right-radius: @bottomright;
|
||||
border-bottom-left-radius: @bottomleft;
|
||||
border-top-left-radius: @topleft;
|
||||
.background-clip(padding-box);
|
||||
}
|
||||
.opacity(@opacity: 0.5) {
|
||||
-webkit-opacity: @opacity;
|
||||
-khtml-opacity: @opacity;
|
||||
-moz-opacity: @opacity;
|
||||
opacity: @opacity;
|
||||
@opperc: @opacity * 100;
|
||||
-ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=@{opperc})";
|
||||
filter: ~"alpha(opacity=@{opperc})";
|
||||
}
|
||||
.transition-duration(@duration: 0.2s) {
|
||||
-moz-transition-duration: @duration;
|
||||
-webkit-transition-duration: @duration;
|
||||
-o-transition-duration: @duration;
|
||||
transition-duration: @duration;
|
||||
}
|
||||
.transform(...) {
|
||||
-webkit-transform: @arguments;
|
||||
-moz-transform: @arguments;
|
||||
-o-transform: @arguments;
|
||||
-ms-transform: @arguments;
|
||||
transform: @arguments;
|
||||
}
|
||||
.rotation(@deg:5deg){
|
||||
.transform(rotate(@deg));
|
||||
}
|
||||
.scale(@ratio:1.5){
|
||||
.transform(scale(@ratio));
|
||||
}
|
||||
.transition(@duration:0.2s, @ease:ease-out) {
|
||||
-webkit-transition: all @duration @ease;
|
||||
-moz-transition: all @duration @ease;
|
||||
-o-transition: all @duration @ease;
|
||||
transition: all @duration @ease;
|
||||
}
|
||||
.inner-shadow(@horizontal:0, @vertical:1px, @blur:2px, @alpha: 0.4) {
|
||||
-webkit-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||
-moz-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||
box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
||||
}
|
||||
.box-shadow(@arguments) {
|
||||
-webkit-box-shadow: @arguments;
|
||||
-moz-box-shadow: @arguments;
|
||||
box-shadow: @arguments;
|
||||
}
|
||||
.box-sizing(@sizing: border-box) {
|
||||
-ms-box-sizing: @sizing;
|
||||
-moz-box-sizing: @sizing;
|
||||
-webkit-box-sizing: @sizing;
|
||||
box-sizing: @sizing;
|
||||
}
|
||||
.user-select(@argument: none) {
|
||||
-webkit-user-select: @argument;
|
||||
-moz-user-select: @argument;
|
||||
-ms-user-select: @argument;
|
||||
user-select: @argument;
|
||||
}
|
||||
.columns(@colwidth: 250px, @colcount: 0, @colgap: 50px, @columnRuleColor: #EEE, @columnRuleStyle: solid, @columnRuleWidth: 1px) {
|
||||
-moz-column-width: @colwidth;
|
||||
-moz-column-count: @colcount;
|
||||
-moz-column-gap: @colgap;
|
||||
-moz-column-rule-color: @columnRuleColor;
|
||||
-moz-column-rule-style: @columnRuleStyle;
|
||||
-moz-column-rule-width: @columnRuleWidth;
|
||||
-webkit-column-width: @colwidth;
|
||||
-webkit-column-count: @colcount;
|
||||
-webkit-column-gap: @colgap;
|
||||
-webkit-column-rule-color: @columnRuleColor;
|
||||
-webkit-column-rule-style: @columnRuleStyle;
|
||||
-webkit-column-rule-width: @columnRuleWidth;
|
||||
column-width: @colwidth;
|
||||
column-count: @colcount;
|
||||
column-gap: @colgap;
|
||||
column-rule-color: @columnRuleColor;
|
||||
column-rule-style: @columnRuleStyle;
|
||||
column-rule-width: @columnRuleWidth;
|
||||
}
|
||||
.translate(@x:0, @y:0) {
|
||||
.transform(translate(@x, @y));
|
||||
}
|
||||
.background-clip(@argument: padding-box) {
|
||||
-moz-background-clip: @argument;
|
||||
-webkit-background-clip: @argument;
|
||||
background-clip: @argument;
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
/* @_import "elements.less"; ODOO: removed call directly */
|
||||
|
||||
/* Theme Variables
|
||||
------------------------------------------*/
|
||||
@border-color: #a9a9a9;
|
||||
@@ -102,8 +100,8 @@
|
||||
resize: none;
|
||||
|
||||
/* override BS2 default style */
|
||||
.box-sizing(border-box);
|
||||
.rounded(0);
|
||||
box-sizing: border-box;
|
||||
border-radius: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
@@ -224,7 +222,7 @@
|
||||
margin: 3px;
|
||||
padding: 0 3px;
|
||||
cursor: pointer;
|
||||
.rounded(5px);
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.note-color-row {
|
||||
@@ -324,12 +322,12 @@
|
||||
font-size: 12px;
|
||||
color: #ccc;
|
||||
background-color: #222 !important;
|
||||
.opacity(0.9);
|
||||
opacity: 0.9;
|
||||
.modal-content {
|
||||
background: transparent;
|
||||
border: 1px solid white;
|
||||
.box-shadow(none);
|
||||
.rounded(5px);
|
||||
box-shadow: none;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* BS2's background pacth. */
|
||||
@@ -403,7 +401,7 @@
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: black;
|
||||
.opacity(0.30)
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.note-control-handle {
|
||||
@@ -462,8 +460,8 @@
|
||||
color: white;
|
||||
background-color: black;
|
||||
font-size: 12px;
|
||||
.rounded(5px);
|
||||
.opacity(0.7);
|
||||
border-radius: 5px;
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,79 +0,0 @@
|
||||
.oe_form_field_html_text .note-editable {
|
||||
min-height: 180px;
|
||||
font: initial !important;
|
||||
font-family: inherit !important;
|
||||
line-height: initial !important;
|
||||
color: initial !important;
|
||||
}
|
||||
.oe_form_field_html_text .o_readonly {
|
||||
min-height: 1em;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
.oe_form_field_html_text .note-editable p {
|
||||
font-family: 'Lucida Grande', Helvetica, Verdana, Arial, sans-serif;
|
||||
-webkit-margin-before: 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.oe_form_field_html iframe {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 300px;
|
||||
min-height: -webkit-calc(100vh - 170px);
|
||||
min-height: calc(100vh - 170px);
|
||||
}
|
||||
.o_form_FieldTextHtml_fullscreen .oe_form_field_html.o_form_fullscreen_ancestor iframe {
|
||||
position: absolute !important;
|
||||
left: 0 !important;
|
||||
right: 0 !important;
|
||||
top: 0 !important;
|
||||
bottom: 0 !important;
|
||||
width: 100% !important;
|
||||
min-height: 100% !important;
|
||||
z-index: 1001 !important;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.o_form_FieldTextHtml_fullscreen * {
|
||||
display: none;
|
||||
}
|
||||
.o_form_FieldTextHtml_fullscreen .o_form_fullscreen_ancestor {
|
||||
display: block !important;
|
||||
position: static !important;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
overflow: visible !important;
|
||||
width: auto !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.openerp .oe_form .oe_form_field_html_translate textarea {
|
||||
min-width: 60px;
|
||||
width: 100%;
|
||||
color: #4c4c4c;
|
||||
font: normal 13px "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
|
||||
}
|
||||
.openerp .oe_form_readonly .oe_form .oe_form_field_html_translate textarea {
|
||||
border:0;
|
||||
background: #fff;
|
||||
}
|
||||
.openerp .oe_form_editable .oe_form .oe_form_field_html_translate > button {
|
||||
float: right;
|
||||
margin: -6px -3px 0 0;
|
||||
}
|
||||
.openerp .oe_form_editable .oe_form .oe_form_field_html_translate > .note-editable {
|
||||
border: 1px solid #ccc;
|
||||
min-height: 22px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.openerp .oe_form_editable .oe_form .oe_form_field_html_translate .note-editable [contentEditable='true']:hover {
|
||||
-moz-box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
-webkit-box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
@import "compass/css3"
|
||||
@import "compass/css3/user-interface"
|
||||
@import "compass/css3/transition"
|
||||
@import "compass/support"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,876 +0,0 @@
|
||||
@import "compass/css3"
|
||||
@import "compass/css3/user-interface"
|
||||
@import "compass/css3/transition"
|
||||
@import "compass/support"
|
||||
|
||||
|
||||
/* ---- EDITOR BAR ---- {{{ */
|
||||
|
||||
.note-popover, .o_css_editor, .web_editor-dialog, .note-image-dialog
|
||||
*
|
||||
box-sizing: border-box
|
||||
a
|
||||
text-decoration: none
|
||||
ul, ol
|
||||
margin-top: 0
|
||||
margin-bottom: 10px
|
||||
|
||||
.clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after
|
||||
content: " "
|
||||
display: table
|
||||
clear: both
|
||||
|
||||
.caret
|
||||
display: inline-block
|
||||
width: 0
|
||||
height: 0
|
||||
vertical-align: middle
|
||||
border-top: 4px solid
|
||||
border-right: 4px solid transparent
|
||||
border-left: 4px solid transparent
|
||||
|
||||
/* button */
|
||||
|
||||
.btn.dropdown-toggle
|
||||
position: relative
|
||||
float: left
|
||||
.btn
|
||||
display: inline-block
|
||||
margin-bottom: 0
|
||||
font-weight: 400
|
||||
text-align: center
|
||||
vertical-align: middle
|
||||
cursor: pointer
|
||||
background-image: none
|
||||
border: 1px solid transparent
|
||||
white-space: nowrap
|
||||
-webkit-user-select: none
|
||||
-moz-user-select: none
|
||||
-ms-user-select: none
|
||||
user-select: none
|
||||
border-radius: 4px
|
||||
.caret
|
||||
margin-left: 0
|
||||
&.disabled, &[disabled], &.disabled:hover, &[disabled]:active
|
||||
cursor: not-allowed
|
||||
pointer-events: none
|
||||
opacity: .65
|
||||
filter: alpha(opacity=65)
|
||||
-webkit-box-shadow: none
|
||||
box-shadow: none
|
||||
.btn-sm
|
||||
padding: 5px 10px
|
||||
font-size: 12px
|
||||
line-height: 1.5
|
||||
border-radius: 3px
|
||||
.btn-group
|
||||
padding-top: 0
|
||||
margin-top: 0
|
||||
position: relative
|
||||
display: inline-block
|
||||
vertical-align: middle
|
||||
> .btn
|
||||
position: relative
|
||||
float: left
|
||||
&:first-child
|
||||
margin-left: 0
|
||||
&:first-child:not(:last-child):not(.dropdown-toggle)
|
||||
border-top-right-radius: 0
|
||||
border-bottom-right-radius: 0
|
||||
&:not(:first-child):not(:last-child):not(.dropdown-toggle)
|
||||
border-radius: 0
|
||||
&:last-child:not(:first-child), >.dropdown-toggle:not(:first-child)
|
||||
border-bottom-left-radius: 0
|
||||
border-top-left-radius: 0
|
||||
&+.dropdown-toggle
|
||||
padding-left: 8px
|
||||
padding-right: 8px
|
||||
&.active
|
||||
color: #333
|
||||
background-color: #e6e6e6
|
||||
border-color: #adadad
|
||||
.btn+.btn, .btn+.btn-group, +.btn, +.btn-group
|
||||
margin-left: -1px
|
||||
.btn-link
|
||||
border-color: transparent
|
||||
color: #428bca
|
||||
&:hover, &:focus
|
||||
color: #2a6496
|
||||
text-decoration: underline
|
||||
background-color: transparent
|
||||
|
||||
/* form */
|
||||
|
||||
.form-group
|
||||
margin-bottom: 15px
|
||||
.form-control
|
||||
display: block
|
||||
width: 100%
|
||||
height: 34px
|
||||
padding: 6px 12px
|
||||
font-size: 14px
|
||||
line-height: 1.42857143
|
||||
color: #555
|
||||
background-color: #fff
|
||||
background-image: none
|
||||
border: 1px solid #ccc
|
||||
border-radius: 4px
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075)
|
||||
.form-horizontal .form-group
|
||||
margin-left: -15px
|
||||
margin-right: -15px
|
||||
.form-group
|
||||
margin-bottom: 15px
|
||||
.form-control.select2-container
|
||||
height: auto !important
|
||||
padding: 0
|
||||
label
|
||||
display: inline-block
|
||||
max-width: 100%
|
||||
margin-bottom: 5px
|
||||
font-weight: 700
|
||||
|
||||
/* col */
|
||||
|
||||
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-lg-12
|
||||
position: relative
|
||||
min-height: 1px
|
||||
padding-left: 15px
|
||||
padding-right: 15px
|
||||
width: 100%
|
||||
|
||||
/* dropdown */
|
||||
|
||||
.dropdown
|
||||
position: relative
|
||||
.dropdown, .btn-group
|
||||
> .btn
|
||||
color: #333
|
||||
background-color: #fff
|
||||
border-color: #ccc
|
||||
text-decoration: none
|
||||
> .btn-primary
|
||||
color: #fff
|
||||
background-color: #428bca
|
||||
border-color: #357ebd
|
||||
.dropdown-menu
|
||||
position: absolute
|
||||
top: 100%
|
||||
left: 0
|
||||
z-index: 1000
|
||||
display: none
|
||||
float: left
|
||||
min-width: 160px
|
||||
padding: 5px 0
|
||||
margin: 2px 0 0
|
||||
list-style: none
|
||||
font-size: 14px
|
||||
text-align: left
|
||||
background-color: #fff
|
||||
border: 1px solid #ccc
|
||||
border: 1px solid rgba(0,0,0,.15)
|
||||
border-radius: 4px
|
||||
-webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175)
|
||||
box-shadow: 0 6px 12px rgba(0,0,0,.175)
|
||||
background-clip: padding-box
|
||||
> li > a
|
||||
display: block !important
|
||||
padding: 3px 20px
|
||||
clear: both
|
||||
font-weight: normal
|
||||
color: #666
|
||||
white-space: nowrap
|
||||
background: transparent
|
||||
> li.active > a
|
||||
color: #fff
|
||||
text-decoration: none
|
||||
background-color: #428bca
|
||||
outline: 0
|
||||
.open > .dropdown-menu
|
||||
display: block
|
||||
|
||||
/* list-group */
|
||||
|
||||
.list-group
|
||||
margin-bottom: 20px
|
||||
padding-left: 0
|
||||
.list-group-item
|
||||
position: relative
|
||||
display: block
|
||||
padding: 10px 15px
|
||||
margin-bottom: -1px
|
||||
background-color: #fff
|
||||
border: 1px solid #ddd
|
||||
.list-group-item:first-child
|
||||
border-top-right-radius: 4px
|
||||
border-top-left-radius: 4px
|
||||
.list-group-item:last-child
|
||||
margin-bottom: 0
|
||||
border-bottom-right-radius: 4px
|
||||
border-bottom-left-radius: 4px
|
||||
.list-group-item-heading
|
||||
margin-top: 0
|
||||
margin-bottom: 5px
|
||||
.list-group-item.active
|
||||
z-index: 2
|
||||
color: #fff
|
||||
background-color: #428bca
|
||||
border-color: #428bca
|
||||
|
||||
/* tab */
|
||||
|
||||
.tab-content > .tab-pane
|
||||
display: none
|
||||
.tab-content > .active
|
||||
display: block
|
||||
.nav
|
||||
margin-bottom: 0
|
||||
padding-left: 0
|
||||
list-style: none
|
||||
.nav > li
|
||||
position: relative
|
||||
display: block
|
||||
.nav > li > a
|
||||
position: relative
|
||||
display: block
|
||||
padding: 10px 15px
|
||||
.nav-tabs
|
||||
border-bottom: 1px solid #ddd
|
||||
.nav-tabs > li
|
||||
float: left
|
||||
margin-bottom: -1px
|
||||
.nav-tabs > li > a
|
||||
margin-right: 2px
|
||||
line-height: 1.42857143
|
||||
border: 1px solid transparent
|
||||
border-radius: 4px 4px 0 0
|
||||
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus
|
||||
color: #8c8c8c
|
||||
background-color: #fff
|
||||
border: 1px solid #ddd
|
||||
border-bottom-color: transparent
|
||||
cursor: default
|
||||
|
||||
/* pager */
|
||||
|
||||
.pager
|
||||
padding-left: 0
|
||||
margin: 20px 0
|
||||
list-style: none
|
||||
text-align: center
|
||||
li
|
||||
display: inline
|
||||
li > a, li > span
|
||||
display: inline-block
|
||||
padding: 5px 14px
|
||||
background-color: #fff
|
||||
border: 1px solid #ddd
|
||||
border-radius: 15px
|
||||
.previous > a, .previous > span
|
||||
float: left
|
||||
.disabled > a, .disabled > a:hover, .disabled > a:focus, .disabled > span
|
||||
color: #b3b3b3
|
||||
background-color: #fff
|
||||
cursor: not-allowed
|
||||
|
||||
/* add submenu css */
|
||||
|
||||
.dropdown-submenu
|
||||
position: relative
|
||||
z-index: 1000
|
||||
.dropdown-submenu
|
||||
&>.dropdown-menu
|
||||
top: 0
|
||||
left: 100%
|
||||
margin-top: -6px
|
||||
margin-left: -1px
|
||||
-webkit-border-radius: 0 6px 6px 6px
|
||||
-moz-border-radius: 0 6px 6px 6px
|
||||
border-radius: 0 6px 6px 6px
|
||||
&:hover
|
||||
&>.dropdown-menu
|
||||
display: block
|
||||
&>a:after
|
||||
border-left-color: #ffffff
|
||||
&>a:after
|
||||
display: block
|
||||
content: " "
|
||||
float: right
|
||||
width: 0
|
||||
height: 0
|
||||
border-color: transparent
|
||||
border-style: solid
|
||||
border-width: 5px 0 5px 5px
|
||||
border-left-color: #cccccc
|
||||
margin-top: 5px
|
||||
margin-right: -10px
|
||||
&.pull-left
|
||||
float: none
|
||||
&>.dropdown-menu
|
||||
left: -100%
|
||||
margin-left: 10px
|
||||
-webkit-border-radius: 6px 0 6px 6px
|
||||
-moz-border-radius: 6px 0 6px 6px
|
||||
border-radius: 6px 0 6px 6px
|
||||
|
||||
/* global */
|
||||
|
||||
.hidden
|
||||
display: none !important
|
||||
.img-responsive
|
||||
display: block
|
||||
width: 100% \9
|
||||
max-width: 100%
|
||||
height: auto
|
||||
.well
|
||||
min-height: 20px
|
||||
padding: 19px
|
||||
margin-bottom: 20px
|
||||
background-color: #f5f5f5
|
||||
border: 1px solid #e3e3e3
|
||||
border-radius: 4px
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05)
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.05)
|
||||
.sr-only
|
||||
position: absolute
|
||||
width: 1px
|
||||
height: 1px
|
||||
margin: -1px
|
||||
padding: 0
|
||||
overflow: hidden
|
||||
clip: rect(0,0,0,0)
|
||||
border: 0
|
||||
.text-center
|
||||
text-align: center
|
||||
.text-muted
|
||||
color: #b3b3b3
|
||||
|
||||
.note-popover .btn
|
||||
height: 30px
|
||||
.note-popover, .o_css_editor
|
||||
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif
|
||||
font-size: 14px
|
||||
line-height: 1.42857143
|
||||
color: #666
|
||||
button
|
||||
margin: 0
|
||||
a
|
||||
color: #428bca
|
||||
&:hover, &:focus
|
||||
color: #2a6496
|
||||
text-decoration: underline
|
||||
|
||||
.popover
|
||||
position: fixed !important
|
||||
top: 1px !important
|
||||
right: auto !important
|
||||
left: 300px !important
|
||||
margin-top: 0 !important
|
||||
border: 0
|
||||
background: transparent
|
||||
box-shadow: none
|
||||
-webkit-box-shadow: none
|
||||
z-index: 1040
|
||||
padding: 1px
|
||||
text-align: left
|
||||
white-space: normal
|
||||
border-radius: 6px
|
||||
max-width: none
|
||||
.popover-content
|
||||
padding: 0
|
||||
margin: 0 0 0 6px
|
||||
.note-para .dropdown-menu
|
||||
min-width: 148px !important
|
||||
padding: 5px 0 5px 5px !important
|
||||
.note-ul .dropdown-menu
|
||||
min-width: 150px !important
|
||||
padding: 5px 0 5px 5px !important
|
||||
.note-li
|
||||
margin-right: 5px
|
||||
.colorpicker
|
||||
margin: 0
|
||||
td > *
|
||||
width: 20px
|
||||
height: 20px
|
||||
padding: 0
|
||||
margin: 0
|
||||
border: 1px solid #fff
|
||||
.btn-group
|
||||
margin: 0 5px 0 0
|
||||
> a
|
||||
border-radius: 3px
|
||||
background-color: #fff
|
||||
border-color: #ccc
|
||||
padding: 4px 10px
|
||||
font-size: 14px
|
||||
line-height: 1.5
|
||||
> span
|
||||
display: inline-block
|
||||
max-width: 200px
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
white-space: nowrap
|
||||
vertical-align: middle
|
||||
border-radius: 3px
|
||||
background-color: white
|
||||
border-color: #cccccc
|
||||
padding: 4px 10px
|
||||
font-size: 14px
|
||||
line-height: 1.5
|
||||
.arrow
|
||||
display: none
|
||||
|
||||
.note-popover, .o_css_editor, .web_editor-dialog .modal-footer
|
||||
.btn-default
|
||||
color: #333
|
||||
background-color: #fff
|
||||
border-color: #ccc
|
||||
.btn-primary
|
||||
color: #fff
|
||||
background-color: #428bca
|
||||
border-color: #357ebd
|
||||
|
||||
.web_editor-dialog, .note-image-dialog
|
||||
color: #666
|
||||
display: none
|
||||
overflow: hidden
|
||||
position: fixed
|
||||
top: 0
|
||||
right: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
z-index: 1050
|
||||
-webkit-overflow-scrolling: touch
|
||||
outline: 0
|
||||
.btn
|
||||
border-color: #ccc
|
||||
.btn-link
|
||||
border-color: transparent
|
||||
.btn-primary
|
||||
color: #fff
|
||||
background-color: #428bca
|
||||
border-color: #357ebd
|
||||
.btn-danger
|
||||
color: #fff
|
||||
background-color: #d9534f
|
||||
border-color: #d43f3a
|
||||
.modal-header, .modal-footer
|
||||
a
|
||||
color: #428bca
|
||||
&:hover, &:focus
|
||||
color: #2a6496
|
||||
text-decoration: underline
|
||||
.btn
|
||||
border-color: #ccc
|
||||
padding: 6px 12px
|
||||
font-size: 14px
|
||||
line-height: 1.42857143
|
||||
border-radius: 4px
|
||||
.link-style
|
||||
.dropdown > .btn
|
||||
min-width: 160px
|
||||
li
|
||||
text-align: center
|
||||
label
|
||||
width: 100px
|
||||
margin: 0 5px
|
||||
input.link-style
|
||||
display: none
|
||||
.modal-title
|
||||
margin: 0
|
||||
line-height: 1.42857143
|
||||
.modal-dialog
|
||||
position: relative
|
||||
width: auto
|
||||
margin: 10px
|
||||
.modal-content
|
||||
position: relative
|
||||
background-color: #fff
|
||||
border: 1px solid #999
|
||||
border: 1px solid rgba(0,0,0,.2)
|
||||
border-radius: 6px
|
||||
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5)
|
||||
box-shadow: 0 3px 9px rgba(0,0,0,.5)
|
||||
background-clip: padding-box
|
||||
outline: 0
|
||||
.modal-header
|
||||
padding: 15px
|
||||
border-bottom: 1px solid #e5e5e5
|
||||
min-height: 16.43px
|
||||
.close
|
||||
margin-top: -2px
|
||||
.modal-body
|
||||
position: relative
|
||||
padding: 15px
|
||||
.modal-footer
|
||||
text-align: left
|
||||
padding: 15px
|
||||
border-top: 1px solid #e5e5e5
|
||||
.close
|
||||
float: right
|
||||
font-size: 21px
|
||||
font-weight: 700
|
||||
line-height: 1
|
||||
color: #000
|
||||
text-shadow: 0 1px 0 #fff
|
||||
opacity: .2
|
||||
filter: alpha(opacity=20)
|
||||
button.close
|
||||
padding: 0
|
||||
cursor: pointer
|
||||
background: 0 0
|
||||
border: 0
|
||||
-webkit-appearance: none
|
||||
|
||||
.note-image-dialog .btn
|
||||
height: 34px
|
||||
font-size: 14px
|
||||
|
||||
@media (min-width: 768px)
|
||||
.web_editor-dialog, .note-image-dialog
|
||||
.modal-dialog
|
||||
width: 600px
|
||||
margin: 30px auto
|
||||
.modal-content
|
||||
-webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5)
|
||||
box-shadow: 0 5px 15px rgba(0,0,0,.5)
|
||||
.note-popover, .o_css_editor, .web_editor-dialog, .note-image-dialog
|
||||
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12
|
||||
float: left
|
||||
.col-sm-12
|
||||
width: 100%
|
||||
.col-sm-11
|
||||
width: 91.66666667%
|
||||
.col-sm-10
|
||||
width: 83.33333333%
|
||||
.col-sm-9
|
||||
width: 75%
|
||||
.col-sm-8
|
||||
width: 66.66666667%
|
||||
.col-sm-7
|
||||
width: 58.33333333%
|
||||
.col-sm-6
|
||||
width: 50%
|
||||
.col-sm-5
|
||||
width: 41.66666667%
|
||||
.col-sm-4
|
||||
width: 33.33333333%
|
||||
.col-sm-3
|
||||
width: 25%
|
||||
.col-sm-2
|
||||
width: 16.66666667%
|
||||
.col-sm-1
|
||||
width: 8.33333333%
|
||||
.form-horizontal .control-label
|
||||
text-align: right
|
||||
margin-bottom: 0
|
||||
padding-top: 7px
|
||||
.form-inline .form-group
|
||||
display: inline-block
|
||||
margin-bottom: 0
|
||||
vertical-align: middle
|
||||
|
||||
.modal-open
|
||||
.web_editor-dialog, .note-image-dialog
|
||||
overflow-x: hidden
|
||||
overflow-y: auto
|
||||
.editor_enable
|
||||
.modal-backdrop
|
||||
position: fixed
|
||||
top: 0
|
||||
right: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
z-index: 1040
|
||||
background-color: #000
|
||||
.modal-backdrop.in
|
||||
opacity: .5
|
||||
filter: alpha(opacity=50)
|
||||
|
||||
$attachment-border-color: #848490
|
||||
.note-image-dialog
|
||||
.select-media
|
||||
width: 80%
|
||||
|
||||
.existing-attachments .pager
|
||||
margin: 0
|
||||
.existing-attachments
|
||||
.pager .disabled
|
||||
display: none
|
||||
|
||||
.existing-attachment-cell
|
||||
position: relative
|
||||
.o_attachment_border
|
||||
border: 1px solid $attachment-border-color
|
||||
text-align: center
|
||||
.o_image
|
||||
max-width: 100%
|
||||
padding-top: 80%
|
||||
max-height: 100%
|
||||
display: inline-block
|
||||
img
|
||||
width: 100%
|
||||
.o_webimage
|
||||
background-image: none
|
||||
padding-top: 0
|
||||
width: 100%
|
||||
height: initial
|
||||
vertical-align: middle
|
||||
.existing-attachment-remove
|
||||
position: absolute
|
||||
top: 0
|
||||
left: 15px // padding-left on col-*
|
||||
z-index: 1
|
||||
cursor: pointer
|
||||
background: white
|
||||
padding: 2px
|
||||
border: 1px solid $attachment-border-color
|
||||
border-top: none
|
||||
border-left: none
|
||||
+border-bottom-right-radius(8px)
|
||||
&.media_selected
|
||||
> *
|
||||
border-width: 5px
|
||||
border-color: rgb(0, 248, 248)
|
||||
|
||||
.image-preview
|
||||
margin-bottom: 0.5em
|
||||
.font-icons-icons
|
||||
font-size: 2em
|
||||
max-height: 9em
|
||||
overflow: auto
|
||||
.font-icons-icon
|
||||
display: inline-block
|
||||
width: 2em
|
||||
padding: 0.25em
|
||||
text-align: center
|
||||
cursor: pointer
|
||||
.font-icons
|
||||
position: relative
|
||||
display: block
|
||||
|
||||
&:before
|
||||
+opacity(0.7)
|
||||
position: absolute
|
||||
top: 2px
|
||||
left: 3px
|
||||
font-size: 2em
|
||||
#icon-search
|
||||
padding-left: 2.5em
|
||||
.font-icons-selected
|
||||
background-color: #ddd
|
||||
&.nosave
|
||||
.wait
|
||||
display: inline-block !important
|
||||
visibility: visible !important
|
||||
.modal-body
|
||||
.filepicker, .image-preview
|
||||
display: none
|
||||
.wait
|
||||
width: 100%
|
||||
.modal-footer .save
|
||||
display: none
|
||||
.preview-container
|
||||
text-align: center
|
||||
line-height: 100px
|
||||
height: 100px
|
||||
> *
|
||||
max-height: 100px
|
||||
line-height: 100px
|
||||
margin: 0 auto
|
||||
display: inline-block
|
||||
|
||||
/* }}} */
|
||||
|
||||
/* ---- COLOR-PICKER ---- {{{ */
|
||||
|
||||
.colorpicker
|
||||
margin: 0 auto
|
||||
background: transparent
|
||||
border: 0
|
||||
td
|
||||
padding: 0
|
||||
background: transparent
|
||||
> *
|
||||
width: 16px
|
||||
height: 16px
|
||||
border-radius: 2px
|
||||
margin: 3px
|
||||
padding: 0
|
||||
border-width: 1px
|
||||
display: block
|
||||
.only-text
|
||||
display: none
|
||||
.automatic-color
|
||||
background: #fff
|
||||
border-left: 7px solid #f33
|
||||
border-top: 7px solid #0e0
|
||||
border-right: 8px solid #33f
|
||||
border-bottom: 8px solid #fe0
|
||||
margin: 4px 3px 3px 3px
|
||||
width: 0
|
||||
height: 0
|
||||
|
||||
/* }}} */
|
||||
|
||||
/* ---- TRANSLATIONS ---- {{{ */
|
||||
|
||||
o_translatable_translated
|
||||
|
||||
.oe_translate_examples li
|
||||
margin: 10px
|
||||
padding: 4px
|
||||
html[lang] > body.editor_enable
|
||||
[data-oe-translation-state]
|
||||
background: rgba(255, 255, 90, 0.5) !important
|
||||
&:hover
|
||||
background: inherit !important
|
||||
cursor: text
|
||||
[data-oe-translation-state="translated"]
|
||||
background: rgba(120, 215, 110, 0.5) !important
|
||||
html[data-translatable] .oe_field_translate
|
||||
display: block
|
||||
html[data-translatable] .oe_field_translate
|
||||
display: none
|
||||
|
||||
/* }}} */
|
||||
|
||||
/* ---- editable ---- {{{ */
|
||||
|
||||
.o_editable
|
||||
&:not(:empty),&[data-oe-type]
|
||||
&:not([data-oe-model="ir.ui.view"]):not([data-oe-type="html"]):hover
|
||||
/* to do change into primary color in less */
|
||||
-moz-box-shadow: #3071a9 0 0 5px 2px inset
|
||||
-webkit-box-shadow: #3071a9 0 0 5px 2px inset
|
||||
box-shadow: #3071a9 0 0 5px 2px inset
|
||||
&:focus,&[data-oe-type]
|
||||
min-height: 0.8em
|
||||
min-width: 8px
|
||||
&.o_is_inline_editable
|
||||
display: inline-block
|
||||
&:focus
|
||||
outline: none !important
|
||||
|
||||
/* Prevent the text contents of draggable elements from being selectable. */
|
||||
[draggable]
|
||||
-moz-user-select: none
|
||||
-khtml-user-select: none
|
||||
-webkit-user-select: none
|
||||
user-select: none
|
||||
|
||||
// bootstrap makes .btn elements unselectable -> RTE double-click can't know
|
||||
// about them either
|
||||
.o_editable .btn, .btn.o_editable
|
||||
-webkit-user-select: auto
|
||||
-moz-user-select: auto
|
||||
-ms-user-select: auto
|
||||
user-select: auto
|
||||
cursor: text !important
|
||||
.o_editable .fa
|
||||
cursor: pointer
|
||||
|
||||
.css_editable_display
|
||||
display: block !important
|
||||
|
||||
.css_editable_hidden
|
||||
display: none !important
|
||||
|
||||
.editor_enable
|
||||
[data-oe-readonly]:hover
|
||||
cursor: default
|
||||
.css_editable_mode_hidden
|
||||
display: none
|
||||
.css_non_editable_mode_hidden
|
||||
display: block !important
|
||||
.media_iframe_video .css_editable_mode_display
|
||||
display: block !important
|
||||
|
||||
[placeholder]:empty
|
||||
content: " \00a0 " attr(placeholder)
|
||||
[placeholder]:empty:active:after, [placeholder]:empty:focus:after
|
||||
content: none
|
||||
input, textarea, select
|
||||
&[placeholder]:empty
|
||||
content: none
|
||||
|
||||
.oe_empty[placeholder]:empty
|
||||
min-height: 220px !important
|
||||
background-repeat: no-repeat
|
||||
background-position: center
|
||||
|
||||
&:not(.o_editable)
|
||||
background-image: url('/web_editor/static/src/img/edit_here.png') !important
|
||||
|
||||
&:after, &:before
|
||||
opacity: 0.4
|
||||
overflow: hidden
|
||||
z-index: -1
|
||||
min-height: 1em
|
||||
|
||||
&:after
|
||||
text-align: center
|
||||
padding-top: 160px
|
||||
display: block
|
||||
font-size: 24px
|
||||
|
||||
&.o_no_placeholder_image
|
||||
background-image: none
|
||||
text-align: left
|
||||
padding-top: 0
|
||||
|
||||
&[data-oe-type=html]
|
||||
&:after
|
||||
font-size: 16px
|
||||
.editor_has_snippets .oe_empty[placeholder]:empty
|
||||
background-image: url('/web_editor/static/src/img/drag_here.png') !important
|
||||
|
||||
#web_editor-top-edit
|
||||
width: 100%
|
||||
min-height: 34px
|
||||
height: 34px
|
||||
background-color: #222
|
||||
border-color: #080808
|
||||
border-width: 0 0 1px
|
||||
position: fixed
|
||||
border-radius: 0
|
||||
top: 0
|
||||
right: 0
|
||||
left: 0
|
||||
z-index: 1030
|
||||
-webkit-transform: translate3d(0,0,0)
|
||||
transform: translate3d(0,0,0)
|
||||
.btn-link
|
||||
color: #b3b3b3
|
||||
> ul > li
|
||||
margin: 0
|
||||
form
|
||||
padding: 0 10px 0 15px
|
||||
border-top: 1px solid transparent
|
||||
border-bottom: 1px solid transparent
|
||||
margin: 0
|
||||
button, a
|
||||
padding: 4px 8px 4px 8px
|
||||
margin-top: 2px
|
||||
font-size: 13px
|
||||
|
||||
#editable_area
|
||||
margin-top: 34px
|
||||
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* ---- HACK FOR COVERING UP EDITOR BOGUS P INSERTION --- {{{ */
|
||||
|
||||
.oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child
|
||||
position: static
|
||||
|
||||
.css_editable_display
|
||||
display: none
|
||||
|
||||
.oe_carlos_danger
|
||||
outline: 1px solid red !important
|
||||
background-color: #ffd9dd !important
|
||||
|
||||
/* }}} */
|
||||
@@ -1,265 +0,0 @@
|
||||
body {
|
||||
background-color: #fff;
|
||||
}
|
||||
#editable_area p {
|
||||
margin: initial;
|
||||
}
|
||||
#editable_area a {
|
||||
color: inherit;
|
||||
}
|
||||
#editable_area a:hover {
|
||||
color: inherit;
|
||||
}
|
||||
#editable_area {
|
||||
margin-top: 0 !important;
|
||||
font: inherit !important;
|
||||
line-height: inherit !important;
|
||||
color: inherit !important;
|
||||
}
|
||||
#oe_snippets ~ #wrapwrap #editable_area {
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
#wrapwrap > main > div:first-child {
|
||||
max-width: 600px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.editor_enable #wrapwrap > main > div:first-child {
|
||||
border-top: 1px dashed #888;
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.editor_enable #wrapwrap > main > div:first-child:before, #wrapwrap > main > div:first-child:after {
|
||||
content: " ";
|
||||
display: block;
|
||||
height: 100%;
|
||||
vertical-align: top;
|
||||
position: fixed;
|
||||
top: -4px;
|
||||
overflow: hidden;
|
||||
z-index: -1;
|
||||
margin-top: 54px;
|
||||
}
|
||||
.editor_enable #wrapwrap > main > div:first-child[data-oe-placeholder]:empty:before {
|
||||
content: " \00a0 " attr(data-oe-placeholder);
|
||||
}
|
||||
|
||||
.editor_enable #wrapwrap > main > div:first-child:before {
|
||||
border-left: 1px dashed #000;
|
||||
opacity: 0.4;
|
||||
margin-left: -5px;
|
||||
}
|
||||
.editor_enable #wrapwrap > main > div:first-child:after {
|
||||
border-left: 1px dashed #000;
|
||||
opacity: 0.4;
|
||||
margin-left: 605px;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.note-color-palette .colorpicker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ---- Default bootstrap values ---- {{{ */
|
||||
.tooltip {
|
||||
position: absolute;
|
||||
z-index: 1070;
|
||||
display: block;
|
||||
visibility: visible;
|
||||
font-size: 12px;
|
||||
line-height: 1.4;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
.tooltip.in {
|
||||
opacity: 0.9;
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
.tooltip.bottom {
|
||||
margin-top: 3px;
|
||||
padding: 5px 0;
|
||||
}
|
||||
.tooltip.bottom .tooltip-arrow {
|
||||
top: 0;
|
||||
left: 50%;
|
||||
margin-left: -5px;
|
||||
border-width: 0 5px 5px;
|
||||
border-bottom-color: #000;
|
||||
}
|
||||
|
||||
.tooltip-arrow {
|
||||
position: absolute;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.tooltip-inner {
|
||||
max-width: 200px;
|
||||
padding: 3px 8px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
background-color: #000;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.fade:not(.modal-backdrop) {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.15s linear;
|
||||
-o-transition: opacity 0.15s linear;
|
||||
transition: opacity 0.15s linear;
|
||||
}
|
||||
|
||||
.fade.in:not(.modal-backdrop) {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.center-block {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.img-responsive {
|
||||
display: block;
|
||||
width: 100% \9;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.img-rounded {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.img-thumbnail {
|
||||
padding: 4px;
|
||||
line-height: 1.42857;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
-webkit-transition: all 0.2s ease-in-out;
|
||||
-o-transition: all 0.2s ease-in-out;
|
||||
transition: all 0.2s ease-in-out;
|
||||
display: inline-block;
|
||||
width: 100% \9;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.img-circle {
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.img-responsive {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
img.shadow {
|
||||
-moz-box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
|
||||
-webkit-box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.fa-1x {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.fa-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.fa-3x {
|
||||
font-size: 3em;
|
||||
}
|
||||
|
||||
.fa-4x {
|
||||
font-size: 4em;
|
||||
}
|
||||
|
||||
.fa-5x {
|
||||
font-size: 5em;
|
||||
}
|
||||
|
||||
.fa-6x {
|
||||
font-size: 6em;
|
||||
}
|
||||
|
||||
.fa-7x {
|
||||
font-size: 7em;
|
||||
}
|
||||
|
||||
.fa-8x {
|
||||
font-size: 8em;
|
||||
}
|
||||
|
||||
.fa-9x {
|
||||
font-size: 9em;
|
||||
}
|
||||
|
||||
.fa-10x {
|
||||
font-size: 10em;
|
||||
}
|
||||
|
||||
.text-primary {
|
||||
color: #428bca;
|
||||
}
|
||||
|
||||
.text-success {
|
||||
color: #3c763d;
|
||||
}
|
||||
|
||||
.text-info {
|
||||
color: #31708f;
|
||||
}
|
||||
|
||||
.text-warning {
|
||||
color: #8a6d3b;
|
||||
}
|
||||
|
||||
.text-danger {
|
||||
color: #a94442;
|
||||
}
|
||||
|
||||
.bg-primary {
|
||||
color: #fff;
|
||||
background-color: #428bca;
|
||||
}
|
||||
|
||||
.bg-success {
|
||||
background-color: #dff0d8;
|
||||
}
|
||||
|
||||
.bg-info {
|
||||
background-color: #d9edf7;
|
||||
}
|
||||
|
||||
.bg-warning {
|
||||
background-color: #fcf8e3;
|
||||
}
|
||||
|
||||
.bg-danger {
|
||||
background-color: #f2dede;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.img-responsive {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* }}} */
|
||||
@@ -1,499 +0,0 @@
|
||||
@charset "UTF-8";
|
||||
/* ---- SNIPPET EDITOR ---- {{{ */
|
||||
#oe_snippets #o_left_bar, #oe_snippets #o_arrow {
|
||||
position: fixed;
|
||||
top: 34px;
|
||||
left: 0px;
|
||||
bottom: 0;
|
||||
background: #282828;
|
||||
-moz-box-shadow: 0px 10px 10px -10px black inset;
|
||||
-webkit-box-shadow: 0px 10px 10px -10px black inset;
|
||||
box-shadow: 0px 10px 10px -10px black inset;
|
||||
font-size: 14px;
|
||||
}
|
||||
#oe_snippets #o_left_bar .snippets_loading, #oe_snippets #o_arrow .snippets_loading {
|
||||
color: white;
|
||||
}
|
||||
#oe_snippets #o_arrow {
|
||||
z-index: 1009;
|
||||
width: 24px;
|
||||
opacity: 0.75;
|
||||
}
|
||||
#oe_snippets #o_arrow > * {
|
||||
position: absolute;
|
||||
color: white;
|
||||
}
|
||||
#oe_snippets #o_arrow div {
|
||||
-moz-transform: translateX(-36%) rotate(-90deg);
|
||||
-ms-transform: translateX(-36%) rotate(-90deg);
|
||||
-webkit-transform: translateX(-36%) rotate(-90deg);
|
||||
transform: translateX(-36%) rotate(-90deg);
|
||||
top: 50%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#oe_snippets #o_arrow .fa {
|
||||
width: 100%;
|
||||
left: 40%;
|
||||
}
|
||||
#oe_snippets #o_left_bar {
|
||||
left: -228px;
|
||||
z-index: 1010;
|
||||
width: 210px;
|
||||
-moz-transition: all 500ms ease;
|
||||
-o-transition: all 500ms ease;
|
||||
-webkit-transition: all 500ms ease;
|
||||
transition: all 500ms ease;
|
||||
}
|
||||
#oe_snippets #o_left_bar ul {
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
padding: 6px 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
#oe_snippets #o_left_bar ul li {
|
||||
display: inline-block;
|
||||
padding: 0 3px;
|
||||
}
|
||||
#oe_snippets #o_left_bar ul li a {
|
||||
color: #aaa;
|
||||
}
|
||||
#oe_snippets #o_left_bar ul li .fa-stack {
|
||||
overflow: hidden;
|
||||
}
|
||||
#oe_snippets #o_left_bar ul li.active a.fa, #oe_snippets #o_left_bar ul li.active .fa-stack-1x {
|
||||
color: #428bca;
|
||||
}
|
||||
#oe_snippets.o_open #o_left_bar {
|
||||
left: 0;
|
||||
}
|
||||
#oe_snippets .o_panel {
|
||||
margin: 0;
|
||||
border: 0;
|
||||
width: 210px;
|
||||
}
|
||||
#oe_snippets .o_panel_header {
|
||||
background: #dff0d8;
|
||||
padding: 1px 8px;
|
||||
color: #414141;
|
||||
text-align: center;
|
||||
}
|
||||
#oe_snippets .o_panel_header .fa-stack {
|
||||
overflow: hidden;
|
||||
font-size: 1em;
|
||||
}
|
||||
#oe_snippets .o_panel_body {
|
||||
white-space: normal;
|
||||
background: black;
|
||||
padding: 7px 3px;
|
||||
}
|
||||
#oe_snippets .o_panel_body > div {
|
||||
background: black;
|
||||
}
|
||||
#oe_snippets .o_panel_body > div label {
|
||||
width: 44px;
|
||||
color: #fff;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#oe_snippets .o_panel_body > div label div {
|
||||
width: 100px;
|
||||
text-align: center;
|
||||
-moz-transform: translate(-39px, 44px);
|
||||
-webkit-transform: translate(-39px, 44px);
|
||||
transform: translate(-39px, 44px);
|
||||
-moz-transform-origin: 50% 50%;
|
||||
-ms-transform-origin: 50% 50%;
|
||||
-webkit-transform-origin: 50% 50%;
|
||||
transform-origin: 50% 50%;
|
||||
}
|
||||
|
||||
.oe_snippet {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 93px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
margin-top: 1px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
-moz-user-select: -moz-none;
|
||||
-ms-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
cursor: move;
|
||||
}
|
||||
.oe_snippet .oe_snippet_thumbnail {
|
||||
text-align: center;
|
||||
height: 100%;
|
||||
background: transparent;
|
||||
color: white;
|
||||
position: relative;
|
||||
}
|
||||
.oe_snippet .oe_snippet_thumbnail:hover .oe_snippet_thumbnail_img {
|
||||
-moz-transform: scale(0.95, 0.95);
|
||||
-ms-transform: scale(0.95, 0.95);
|
||||
-webkit-transform: scale(0.95, 0.95);
|
||||
transform: scale(0.95, 0.95);
|
||||
}
|
||||
.oe_snippet .oe_snippet_thumbnail .oe_snippet_thumbnail_title {
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
text-shadow: 0 0 2px black;
|
||||
}
|
||||
.oe_snippet .oe_snippet_thumbnail .oe_snippet_thumbnail_img {
|
||||
height: 74px;
|
||||
width: 92px;
|
||||
background-size: cover;
|
||||
-moz-transform: scale(1, 1);
|
||||
-ms-transform: scale(1, 1);
|
||||
-webkit-transform: scale(1, 1);
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
.oe_snippet .oe_snippet_thumbnail span, .oe_snippet .oe_snippet_thumbnail div {
|
||||
line-height: 18px;
|
||||
}
|
||||
.oe_snippet > :not(.oe_snippet_thumbnail) {
|
||||
display: none !important;
|
||||
}
|
||||
.oe_snippet.disable .oe_snippet_thumbnail {
|
||||
background-color: rgba(255, 0, 0, 0.75);
|
||||
}
|
||||
.oe_snippet.disable .oe_snippet_thumbnail_img {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
#oe_snippets .oe_snippet_thumbnail {
|
||||
background: #747474, url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjI1Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuNCIvPjwvcmFkaWFsR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
|
||||
background: #747474, -moz-radial-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.4));
|
||||
background: #747474, -webkit-radial-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.4));
|
||||
background: #747474, radial-gradient(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.4));
|
||||
}
|
||||
|
||||
/* ---- SNIPPETS DROP ZONES ---- {{{ */
|
||||
.oe_drop_zone.oe_insert {
|
||||
display: block;
|
||||
height: 48px;
|
||||
margin: 0px;
|
||||
margin-top: -4px;
|
||||
margin-bottom: -44px;
|
||||
-moz-transition: margin 250ms linear;
|
||||
-o-transition: margin 250ms linear;
|
||||
-webkit-transition: margin 250ms linear;
|
||||
transition: margin 250ms linear;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
}
|
||||
.oe_drop_zone.oe_insert:not(.oe_vertical):before {
|
||||
content: "";
|
||||
display: block;
|
||||
border-top: dashed 2px rgba(209, 178, 255, 0.72);
|
||||
position: relative;
|
||||
top: 0px;
|
||||
}
|
||||
.oe_drop_zone.oe_insert.oe_hover:before {
|
||||
border-top: dashed 2px rgba(116, 255, 161, 0.72);
|
||||
}
|
||||
.oe_drop_zone.oe_insert.oe_vertical {
|
||||
width: 48px;
|
||||
float: left;
|
||||
position: relative;
|
||||
margin: 0px -24px !important;
|
||||
}
|
||||
.oe_drop_zone.oe_insert.oe_vertical_text {
|
||||
width: 48px;
|
||||
float: none;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
margin: 0px -24px !important;
|
||||
}
|
||||
.oe_drop_zone.oe_insert.oe_overlay {
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
background: rgba(153, 0, 255, 0.5);
|
||||
}
|
||||
|
||||
.oe_drop_zone, .oe_drop_zone_style {
|
||||
border: none;
|
||||
background: rgba(153, 0, 255, 0.3);
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.oe_drop_zone.oe_hover, .oe_drop_zone_style.oe_hover {
|
||||
background: rgba(0, 255, 133, 0.3);
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.oe_drop_zone_style {
|
||||
color: white;
|
||||
height: 48px;
|
||||
margin-bottom: 32px;
|
||||
padding-top: 12px;
|
||||
}
|
||||
|
||||
/* ---- SNIPPET MANIPULATOR ---- {{{ */
|
||||
.resize_editor_busy {
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.oe_overlay {
|
||||
display: none;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
background: transparent;
|
||||
z-index: 1001;
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
-moz-transition: opacity 100ms linear;
|
||||
-o-transition: opacity 100ms linear;
|
||||
-webkit-transition: opacity 100ms linear;
|
||||
transition: opacity 100ms linear;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.oe_overlay.oe_active {
|
||||
display: block;
|
||||
}
|
||||
.oe_overlay .oe_handle {
|
||||
display: block !important;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: -2px;
|
||||
}
|
||||
.oe_overlay .oe_handle > div {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
border-style: dashed;
|
||||
border-width: 1px;
|
||||
border-color: #666666;
|
||||
-moz-box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5), 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;
|
||||
-webkit-box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5), 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;
|
||||
box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5), 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;
|
||||
}
|
||||
.oe_overlay .oe_handle.e:before, .oe_overlay .oe_handle.w:before, .oe_overlay .oe_handle.s:before, .oe_overlay .oe_handle.n:before, .oe_overlay .oe_handle.size .oe_handle_button {
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
display: block;
|
||||
background: white;
|
||||
border: solid 1px rgba(0, 0, 0, 0.2);
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
margin: -9px;
|
||||
padding-left: 1px;
|
||||
font-size: 14px;
|
||||
line-height: 14px;
|
||||
font-family: FontAwesome;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
-moz-transition: background 100ms linear;
|
||||
-o-transition: background 100ms linear;
|
||||
-webkit-transition: background 100ms linear;
|
||||
transition: background 100ms linear;
|
||||
}
|
||||
.oe_overlay .oe_handle.e:hover:before, .oe_overlay .oe_handle.w:hover:before, .oe_overlay .oe_handle.s:hover:before, .oe_overlay .oe_handle.n:hover:before {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
color: #fff;
|
||||
-moz-box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.7);
|
||||
-webkit-box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.7);
|
||||
box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
.oe_overlay .oe_handle.e, .oe_overlay .oe_handle.w {
|
||||
top: 4px;
|
||||
height: 100%;
|
||||
}
|
||||
.oe_overlay .oe_handle.e:before, .oe_overlay .oe_handle.w:before {
|
||||
content: "";
|
||||
line-height: 16px;
|
||||
}
|
||||
.oe_overlay .oe_handle.e > div, .oe_overlay .oe_handle.w > div {
|
||||
width: 0;
|
||||
height: 100%;
|
||||
top: 2px;
|
||||
left: 8px;
|
||||
}
|
||||
.oe_overlay .oe_handle.e {
|
||||
left: auto;
|
||||
right: -6px;
|
||||
cursor: w-resize;
|
||||
}
|
||||
.oe_overlay .oe_handle.w {
|
||||
left: -6px;
|
||||
cursor: e-resize;
|
||||
}
|
||||
.oe_overlay .oe_handle.s, .oe_overlay .oe_handle.n {
|
||||
left: 2px;
|
||||
width: 100%;
|
||||
}
|
||||
.oe_overlay .oe_handle.s:before, .oe_overlay .oe_handle.n:before {
|
||||
content: "";
|
||||
text-align: center;
|
||||
padding: 1px;
|
||||
}
|
||||
.oe_overlay .oe_handle.s > div, .oe_overlay .oe_handle.n > div {
|
||||
width: 100%;
|
||||
height: 0;
|
||||
top: 7px;
|
||||
left: 1px;
|
||||
}
|
||||
.oe_overlay .oe_handle.s {
|
||||
top: auto;
|
||||
cursor: n-resize;
|
||||
}
|
||||
.oe_overlay .oe_handle.n {
|
||||
cursor: s-resize;
|
||||
}
|
||||
.oe_overlay .oe_handle.n > div {
|
||||
top: 5px;
|
||||
}
|
||||
.oe_overlay .oe_handle.size {
|
||||
z-index: 3;
|
||||
top: auto;
|
||||
left: 50%;
|
||||
bottom: -6px;
|
||||
margin-left: -50px;
|
||||
}
|
||||
.oe_overlay .oe_handle.size .oe_handle_button {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
text-align: center;
|
||||
margin-left: -52px;
|
||||
margin-top: -10px;
|
||||
left: 0px;
|
||||
}
|
||||
.oe_overlay .oe_handle.size .oe_handle_button:hover {
|
||||
background: rgba(30, 30, 30, 0.8);
|
||||
color: #fff;
|
||||
-moz-box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.7);
|
||||
-webkit-box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.7);
|
||||
box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
.oe_overlay .oe_handle.size .size {
|
||||
position: absolute;
|
||||
width: 64px;
|
||||
cursor: row-resize;
|
||||
top: 9px;
|
||||
margin-left: 52px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
.oe_overlay .oe_handle.size .auto_size {
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
top: 9px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.oe_overlay .oe_handle.readonly {
|
||||
cursor: auto !important;
|
||||
}
|
||||
.oe_overlay .oe_handle.readonly:before, .oe_overlay .oe_handle.readonly.size {
|
||||
display: none !important;
|
||||
}
|
||||
.oe_overlay .icon.btn {
|
||||
display: inline-block;
|
||||
}
|
||||
.oe_overlay .oe_overlay_options {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
top: -35px;
|
||||
z-index: 1002;
|
||||
}
|
||||
.oe_overlay .oe_overlay_options > .btn-group {
|
||||
display: -ms-flexbox;
|
||||
display: -moz-box;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
-moz-justify-content: center;
|
||||
-webkit-justify-content: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.oe_overlay .oe_overlay_options > .btn-group > * {
|
||||
cursor: pointer;
|
||||
-ms-flex: 0 0 auto;
|
||||
-moz-flex: 0 0 auto;
|
||||
-webkit-box-flex: 0;
|
||||
-webkit-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
.oe_overlay .oe_overlay_options .btn, .oe_overlay .oe_overlay_options a {
|
||||
cursor: pointer;
|
||||
}
|
||||
.oe_overlay .oe_overlay_options .dropdown {
|
||||
display: inline-block;
|
||||
}
|
||||
.oe_overlay .oe_overlay_options .dropdown-menu {
|
||||
text-align: left;
|
||||
min-width: 180px;
|
||||
}
|
||||
.oe_overlay .oe_overlay_options .dropdown-menu select, .oe_overlay .oe_overlay_options .dropdown-menu input {
|
||||
display: block;
|
||||
}
|
||||
.oe_overlay.block-w-left .w:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.block-w-right .w:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.block-w-left.block-w-right .w:before {
|
||||
display: none !important;
|
||||
}
|
||||
.oe_overlay.block-e-left .e:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.block-e-right .e:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.block-e-left.block-e-right .e:before {
|
||||
display: none !important;
|
||||
}
|
||||
.oe_overlay.block-s-top .s:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.block-s-bottom .s:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.block-n-top .n:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.block-n-bottom .n:before {
|
||||
content: "" !important;
|
||||
}
|
||||
.oe_overlay.o_keypress {
|
||||
opacity: 0;
|
||||
-webkit-transition: 0.8s;
|
||||
-moz-transition: 0.8s;
|
||||
-o-transition: 0.8s;
|
||||
-transition: 0.8s;
|
||||
}
|
||||
|
||||
.s-resize-important, .s-resize-important * {
|
||||
cursor: s-resize !important;
|
||||
}
|
||||
|
||||
.n-resize-important, .n-resize-important * {
|
||||
cursor: n-resize !important;
|
||||
}
|
||||
|
||||
.e-resize-important, .e-resize-important * {
|
||||
cursor: e-resize !important;
|
||||
}
|
||||
|
||||
.w-resize-important, .w-resize-important * {
|
||||
cursor: w-resize !important;
|
||||
}
|
||||
|
||||
.move-important, .move-important * {
|
||||
cursor: move !important;
|
||||
}
|
||||
@@ -1,384 +0,0 @@
|
||||
@import "compass/css3"
|
||||
@import "compass/css3/user-interface"
|
||||
@import "compass/css3/transition"
|
||||
|
||||
|
||||
/* ---- SNIPPET EDITOR ---- {{{ */
|
||||
|
||||
#oe_snippets
|
||||
#o_left_bar, #o_arrow
|
||||
position: fixed
|
||||
top: 34px
|
||||
left: 0px
|
||||
bottom: 0
|
||||
background: rgb(40,40,40)
|
||||
+box-shadow(0px 10px 10px -10px black inset)
|
||||
font-size: 14px
|
||||
.snippets_loading
|
||||
color: white
|
||||
#o_arrow
|
||||
z-index: 1009
|
||||
width: 24px
|
||||
opacity: 0.75
|
||||
> *
|
||||
position: absolute
|
||||
color: white
|
||||
div
|
||||
@include transform( translateX(-36%) rotate(-90deg) )
|
||||
top: 50%
|
||||
white-space: nowrap
|
||||
.fa
|
||||
width: 100%
|
||||
left: 40%
|
||||
#o_left_bar
|
||||
left: -228px
|
||||
z-index: 1010
|
||||
width: 210px
|
||||
@include transition(all 500ms ease)
|
||||
ul
|
||||
text-align: center
|
||||
margin: 0
|
||||
padding: 6px 0
|
||||
list-style-type: none
|
||||
li
|
||||
display: inline-block
|
||||
padding: 0 3px
|
||||
a
|
||||
color: #aaa
|
||||
.fa-stack
|
||||
overflow: hidden
|
||||
li.active a.fa, li.active .fa-stack-1x
|
||||
color: #428bca
|
||||
|
||||
&.o_open #o_left_bar
|
||||
left: 0
|
||||
.o_panel
|
||||
margin: 0
|
||||
border: 0
|
||||
width: 210px
|
||||
.o_panel_header
|
||||
background: #dff0d8
|
||||
padding: 1px 8px
|
||||
color: #414141
|
||||
text-align: center
|
||||
.fa-stack
|
||||
overflow: hidden
|
||||
font-size: 1em
|
||||
.o_panel_body
|
||||
white-space: normal
|
||||
background: black
|
||||
padding: 7px 3px
|
||||
> div
|
||||
background: rgb(0,0,0)
|
||||
label
|
||||
width: 44px
|
||||
color: #fff
|
||||
padding-left: 10px
|
||||
|
||||
div
|
||||
width: 100px
|
||||
text-align: center
|
||||
@include transform( translate(-39px, 44px) , rotate(-90deg) )
|
||||
@include transform-origin(50%)
|
||||
|
||||
.oe_snippet
|
||||
display: inline-block
|
||||
vertical-align: top
|
||||
width: 93px
|
||||
margin-left: 3px
|
||||
margin-right: 3px
|
||||
margin-top: 1px
|
||||
position: relative
|
||||
overflow: hidden
|
||||
+user-select(none)
|
||||
cursor: move
|
||||
.oe_snippet_thumbnail
|
||||
text-align: center
|
||||
height: 100%
|
||||
background: transparent
|
||||
color: white
|
||||
position: relative
|
||||
&:hover
|
||||
.oe_snippet_thumbnail_img
|
||||
@include transform( scale(.95,.95))
|
||||
.oe_snippet_thumbnail_title
|
||||
font-size: 12px
|
||||
display: block
|
||||
+text-shadow(0 0 2px rgb(0,0,0))
|
||||
.oe_snippet_thumbnail_img
|
||||
height: 74px
|
||||
width: 92px
|
||||
background-size: cover
|
||||
@include transform( scale(1,1))
|
||||
span, div
|
||||
line-height: 18px
|
||||
& > :not(.oe_snippet_thumbnail)
|
||||
display: none !important
|
||||
&.disable
|
||||
.oe_snippet_thumbnail
|
||||
background-color: rgba(255, 0, 0, 0.75)
|
||||
.oe_snippet_thumbnail_img
|
||||
opacity: 0.8
|
||||
#oe_snippets .oe_snippet_thumbnail
|
||||
@include background(#747474, radial-gradient(rgba(0,0,0,0.25),rgba(0,0,0,0.4)))
|
||||
|
||||
// }}}}
|
||||
|
||||
/* ---- SNIPPETS DROP ZONES ---- {{{ */
|
||||
|
||||
.oe_drop_zone.oe_insert
|
||||
display: block
|
||||
height: 48px
|
||||
margin: 0px
|
||||
margin-top: -4px
|
||||
margin-bottom: -44px
|
||||
@include transition(margin 250ms linear)
|
||||
width: 100%
|
||||
position: absolute
|
||||
z-index: 1000
|
||||
&:not(.oe_vertical):before
|
||||
content: ""
|
||||
display: block
|
||||
border-top: dashed 2px rgba(209, 178, 255, 0.72)
|
||||
position: relative
|
||||
top: 0px
|
||||
&.oe_hover:before
|
||||
border-top: dashed 2px rgba(116, 255, 161, 0.72)
|
||||
&.oe_vertical
|
||||
width: 48px
|
||||
float: left
|
||||
position: relative
|
||||
margin: 0px -24px !important
|
||||
&.oe_vertical_text
|
||||
width: 48px
|
||||
float: none
|
||||
display: inline-block
|
||||
position: relative
|
||||
margin: 0px -24px !important
|
||||
&.oe_overlay
|
||||
+border-radius(3px)
|
||||
//@include background-image( repeating-linear-gradient(45deg, rgba(255,255,255,.1) ,rgba(255,255,255,.1) 35px, rgba(0,0,0,.1) 35px, rgba(0,0,0,.1) 75px))
|
||||
//background-size: 100px 100px
|
||||
background: rgba(153, 0, 255,.5)
|
||||
|
||||
.oe_drop_zone, .oe_drop_zone_style
|
||||
border: none
|
||||
//@include background-image( repeating-linear-gradient(45deg, rgba(255,255,255,.1) ,rgba(255,255,255,.1) 35px, rgba(0,0,0,.1) 35px, rgba(0,0,0,.1) 75px))
|
||||
//background-size: 100px 100px
|
||||
background: rgba(153, 0, 255, .3)
|
||||
+border-radius(4px)
|
||||
&.oe_hover
|
||||
background: rgba(0, 255, 133, .3)
|
||||
z-index: 1001
|
||||
|
||||
.oe_drop_zone_style
|
||||
color: white
|
||||
height: 48px
|
||||
margin-bottom: 32px
|
||||
padding-top: 12px
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- SNIPPET MANIPULATOR ---- {{{ */
|
||||
|
||||
.resize_editor_busy
|
||||
background-color: rgba(0,0,0,0.3)
|
||||
|
||||
.oe_overlay
|
||||
display: none
|
||||
height: 0
|
||||
position: absolute
|
||||
background: transparent
|
||||
z-index: 1001
|
||||
//@include background-image( repeating-linear-gradient(45deg, rgba(255,255,255,.02) ,rgba(255,255,255,.02) 35px, rgba(0,0,0,.02) 35px, rgba(0,0,0,.02) 75px))
|
||||
+border-radius(3px)
|
||||
@include transition(opacity 100ms linear)
|
||||
+box-sizing(border-box)
|
||||
&.oe_active
|
||||
display: block
|
||||
.oe_handle
|
||||
display: block !important
|
||||
position: absolute
|
||||
top: 50%
|
||||
left: 50%
|
||||
+box-sizing(border-box)
|
||||
width: 16px
|
||||
height: 16px
|
||||
margin: -2px
|
||||
> div
|
||||
z-index: 1
|
||||
position: absolute
|
||||
border-style: dashed
|
||||
border-width: 1px
|
||||
border-color: #666666
|
||||
+box-shadow(0px 0px 0px 1px rgba(255,255,255,0.5), 0px 0px 0px 1px rgba(255,255,255,0.5) inset)
|
||||
&.e:before, &.w:before, &.s:before, &.n:before, &.size .oe_handle_button
|
||||
z-index: 2
|
||||
position: relative
|
||||
top: 50%
|
||||
left: 50%
|
||||
display: block
|
||||
background: rgba(255, 255, 255, 1)
|
||||
border: solid 1px rgba(0, 0, 0, .2)
|
||||
+border-radius(5px)
|
||||
width: 18px
|
||||
height: 18px
|
||||
margin: -9px
|
||||
padding-left: 1px
|
||||
font-size: 14px
|
||||
line-height: 14px
|
||||
font-family: FontAwesome
|
||||
color: rgba(0,0,0,.5)
|
||||
@include transition(background 100ms linear)
|
||||
&.e, &.w, &.s, &.n
|
||||
&:hover:before
|
||||
background: rgba(0, 0, 0, .5)
|
||||
color: #fff
|
||||
+box-shadow(0 0 5px 3px rgba(255,255,255,.7))
|
||||
&.e, &.w
|
||||
top: 4px
|
||||
height: 100%
|
||||
&:before
|
||||
content: "\f07e"
|
||||
line-height: 16px
|
||||
> div
|
||||
width: 0
|
||||
height: 100%
|
||||
top: 2px
|
||||
left: 8px
|
||||
&.e
|
||||
left: auto
|
||||
right: -6px
|
||||
cursor: w-resize
|
||||
&.w
|
||||
left: -6px
|
||||
cursor: e-resize
|
||||
&.s, &.n
|
||||
left: 2px
|
||||
width: 100%
|
||||
&:before
|
||||
content: "\f07d"
|
||||
text-align: center
|
||||
padding: 1px
|
||||
> div
|
||||
width: 100%
|
||||
height: 0
|
||||
top: 7px
|
||||
left: 1px
|
||||
&.s
|
||||
top: auto
|
||||
cursor: n-resize
|
||||
&.n
|
||||
cursor: s-resize
|
||||
> div
|
||||
top: 5px
|
||||
&.size
|
||||
z-index: 3
|
||||
top: auto
|
||||
left: 50%
|
||||
bottom: -6px
|
||||
margin-left: -50px
|
||||
.oe_handle_button
|
||||
position: relative
|
||||
z-index: 3
|
||||
text-align: center
|
||||
margin-left: -52px
|
||||
margin-top: -10px
|
||||
left: 0px
|
||||
&:hover
|
||||
background: rgba(30, 30, 30, .8)
|
||||
color: #fff
|
||||
+box-shadow(0 0 5px 3px rgba(255,255,255,.7))
|
||||
.size
|
||||
position: absolute
|
||||
width: 64px
|
||||
cursor: row-resize
|
||||
top: 9px
|
||||
margin-left: 52px
|
||||
padding: 0 5px
|
||||
.auto_size
|
||||
position: absolute
|
||||
width: 100px
|
||||
top: 9px
|
||||
cursor: pointer
|
||||
&.readonly
|
||||
cursor: auto !important
|
||||
&:before, &.size
|
||||
display: none !important
|
||||
|
||||
.icon.btn
|
||||
display: inline-block
|
||||
|
||||
.oe_overlay_options
|
||||
position: absolute
|
||||
width: 100%
|
||||
top: -35px
|
||||
z-index: 1002
|
||||
> .btn-group
|
||||
display: -ms-flexbox
|
||||
display: -moz-box
|
||||
display: -webkit-box
|
||||
display: -webkit-flex
|
||||
display: flex
|
||||
-moz-justify-content: center
|
||||
-webkit-justify-content: center
|
||||
justify-content: center
|
||||
> *
|
||||
cursor: pointer
|
||||
-ms-flex: 0 0 auto
|
||||
-moz-flex: 0 0 auto
|
||||
-webkit-box-flex: 0
|
||||
-webkit-flex: 0 0 auto
|
||||
flex: 0 0 auto
|
||||
.btn, a
|
||||
cursor: pointer
|
||||
.dropdown
|
||||
display: inline-block
|
||||
.dropdown-menu
|
||||
text-align: left
|
||||
min-width: 180px
|
||||
.dropdown-menu select,.dropdown-menu input
|
||||
display: block
|
||||
|
||||
&.block-w-left .w:before
|
||||
content: "\F061" !important
|
||||
&.block-w-right .w:before
|
||||
content: "\F060" !important
|
||||
&.block-w-left.block-w-right .w:before
|
||||
display: none !important
|
||||
&.block-e-left .e:before
|
||||
content: "\F061" !important
|
||||
&.block-e-right .e:before
|
||||
content: "\F060" !important
|
||||
&.block-e-left.block-e-right .e:before
|
||||
display: none !important
|
||||
|
||||
&.block-s-top .s:before
|
||||
content: "\F063" !important
|
||||
&.block-s-bottom .s:before
|
||||
content: "\f062" !important
|
||||
&.block-n-top .n:before
|
||||
content: "\F063" !important
|
||||
&.block-n-bottom .n:before
|
||||
content: "\f062" !important
|
||||
|
||||
&.o_keypress
|
||||
opacity: 0
|
||||
-webkit-transition: .8s
|
||||
-moz-transition: .8s
|
||||
-o-transition: .8s
|
||||
-transition: .8s
|
||||
|
||||
|
||||
.s-resize-important, .s-resize-important *
|
||||
cursor: s-resize !important
|
||||
.n-resize-important, .n-resize-important *
|
||||
cursor: n-resize !important
|
||||
.e-resize-important, .e-resize-important *
|
||||
cursor: e-resize !important
|
||||
.w-resize-important, .w-resize-important *
|
||||
cursor: w-resize !important
|
||||
.move-important, .move-important *
|
||||
cursor: move !important
|
||||
|
||||
// }}}
|
||||
@@ -1,166 +0,0 @@
|
||||
/* ----- EDITOR ----- */
|
||||
.css_non_editable_mode_hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* ----- Editor (for public user, like forum) ----- */
|
||||
.note-toolbar {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
.note-popover .popover > .arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ----- GENERIC LAYOUTING HELPERS ---- */
|
||||
.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* table */
|
||||
#wrapwrap table.table, .o_editable table.table {
|
||||
table-layout: fixed;
|
||||
}
|
||||
#wrapwrap table.table td, .o_editable table.table td {
|
||||
min-width: 20px;
|
||||
}
|
||||
|
||||
/* Media */
|
||||
img.shadow {
|
||||
-moz-box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
|
||||
-webkit-box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
img.padding-small, .img.padding-small, span.fa.padding-small, iframe.padding-small {
|
||||
padding: 4px;
|
||||
}
|
||||
img.padding-medium, .img.padding-medium, span.fa.padding-medium, iframe.padding-medium {
|
||||
padding: 8px;
|
||||
}
|
||||
img.padding-large, .img.padding-large, span.fa.padding-large, iframe.padding-large {
|
||||
padding: 16px;
|
||||
}
|
||||
img.padding-xl, .img.padding-xl, span.fa.padding-xl, iframe.padding-xl {
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
div.media_iframe_video.padding-small iframe {
|
||||
padding: 4px;
|
||||
}
|
||||
div.media_iframe_video.padding-medium iframe {
|
||||
padding: 8px;
|
||||
}
|
||||
div.media_iframe_video.padding-large iframe {
|
||||
padding: 16px;
|
||||
}
|
||||
div.media_iframe_video.padding-xl iframe {
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
/* font awsome */
|
||||
.fa-6x {
|
||||
font-size: 6em;
|
||||
}
|
||||
|
||||
.fa-7x {
|
||||
font-size: 7em;
|
||||
}
|
||||
|
||||
.fa-8x {
|
||||
font-size: 8em;
|
||||
}
|
||||
|
||||
.fa-9x {
|
||||
font-size: 9em;
|
||||
}
|
||||
|
||||
.fa-10x {
|
||||
font-size: 10em;
|
||||
}
|
||||
|
||||
.fa.center-block {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* video */
|
||||
div.media_iframe_video {
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
div.media_iframe_video iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
position: absolute;
|
||||
margin: 0 auto;
|
||||
margin-left: -50%;
|
||||
}
|
||||
div.media_iframe_video .media_iframe_video_size {
|
||||
padding-bottom: 66.5%;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
}
|
||||
div.media_iframe_video .css_editable_mode_display {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: none;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
html[data-browser^="msie"] div.media_iframe_video iframe {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* Mobile view */
|
||||
@media (max-width: 768px) {
|
||||
img:not(.cke_iframe), .media_iframe_video, span.fa, i.fa {
|
||||
-webkit-transform: none !important;
|
||||
-moz-transform: none !important;
|
||||
-ms-transform: none !important;
|
||||
-o-transform: none !important;
|
||||
transform: none !important;
|
||||
}
|
||||
}
|
||||
/* ---- fields --- */
|
||||
address .fa.fa-mobile-phone {
|
||||
margin: 0 3px 0 2px;
|
||||
}
|
||||
address .fa.fa-file-text-o {
|
||||
margin-right: 1px;
|
||||
}
|
||||
|
||||
span[data-oe-type="monetary"] {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* ---- MENU ---- {{{ */
|
||||
div.oe_menu_buttons {
|
||||
top: -8px;
|
||||
right: -8px;
|
||||
}
|
||||
|
||||
ul.oe_menu_editor .fa-home {
|
||||
display: none;
|
||||
}
|
||||
ul.oe_menu_editor > li:first-child > div > span > .fa-home {
|
||||
display: block;
|
||||
}
|
||||
ul.oe_menu_editor .oe_menu_placeholder {
|
||||
outline: 1px dashed #4183C4;
|
||||
}
|
||||
ul.oe_menu_editor ul {
|
||||
list-style: none;
|
||||
}
|
||||
ul.oe_menu_editor li div {
|
||||
cursor: move;
|
||||
}
|
||||
ul.oe_menu_editor .disclose {
|
||||
cursor: pointer;
|
||||
width: 10px;
|
||||
display: none;
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
@charset "utf-8"
|
||||
@import "common"
|
||||
|
||||
/* ----- EDITOR ----- */
|
||||
|
||||
.css_non_editable_mode_hidden
|
||||
display: none !important
|
||||
|
||||
/* ----- Editor (for public user, like forum) ----- */
|
||||
|
||||
.note-toolbar
|
||||
margin-left: 0 !important
|
||||
|
||||
.note-popover .popover > .arrow
|
||||
display: none
|
||||
|
||||
/* ----- GENERIC LAYOUTING HELPERS ---- */
|
||||
|
||||
.hidden
|
||||
display: none !important
|
||||
|
||||
/* table */
|
||||
|
||||
#wrapwrap, .o_editable
|
||||
table.table
|
||||
table-layout: fixed
|
||||
td
|
||||
min-width: 20px
|
||||
|
||||
/* Media */
|
||||
|
||||
img.shadow
|
||||
+box-shadow(0px 3px 8px rgba(0, 0, 0, 0.2))
|
||||
|
||||
img, .img, span.fa, iframe
|
||||
&.padding-small
|
||||
padding: 4px
|
||||
&.padding-medium
|
||||
padding: 8px
|
||||
&.padding-large
|
||||
padding: 16px
|
||||
&.padding-xl
|
||||
padding: 32px
|
||||
div.media_iframe_video
|
||||
&.padding-small iframe
|
||||
padding: 4px
|
||||
&.padding-medium iframe
|
||||
padding: 8px
|
||||
&.padding-large iframe
|
||||
padding: 16px
|
||||
&.padding-xl iframe
|
||||
padding: 32px
|
||||
|
||||
/* font awsome */
|
||||
|
||||
.fa-6x
|
||||
font-size: 6em
|
||||
.fa-7x
|
||||
font-size: 7em
|
||||
.fa-8x
|
||||
font-size: 8em
|
||||
.fa-9x
|
||||
font-size: 9em
|
||||
.fa-10x
|
||||
font-size: 10em
|
||||
.fa.center-block
|
||||
text-align: center
|
||||
|
||||
/* video */
|
||||
|
||||
div.media_iframe_video
|
||||
margin: 0 auto
|
||||
text-align: center
|
||||
position: relative
|
||||
overflow: hidden
|
||||
iframe
|
||||
width: 100%
|
||||
height: 100%
|
||||
top: 0
|
||||
position: absolute
|
||||
margin: 0 auto
|
||||
margin-left: -50%
|
||||
.media_iframe_video_size
|
||||
padding-bottom: 66.5%
|
||||
position: relative
|
||||
width: 100%
|
||||
height: 0
|
||||
.css_editable_mode_display
|
||||
position: absolute
|
||||
width: 100%
|
||||
height: 100%
|
||||
display: none
|
||||
z-index: 2
|
||||
|
||||
html[data-browser^="msie"] div.media_iframe_video iframe
|
||||
margin-left: 0
|
||||
|
||||
/* Mobile view */
|
||||
|
||||
@media (max-width: 768px)
|
||||
img:not(.cke_iframe), .media_iframe_video, span.fa, i.fa
|
||||
-webkit-transform: none !important
|
||||
-moz-transform: none !important
|
||||
-ms-transform: none !important
|
||||
-o-transform: none !important
|
||||
transform: none !important
|
||||
|
||||
/* ---- fields --- */
|
||||
|
||||
address
|
||||
.fa.fa-mobile-phone
|
||||
margin: 0 3px 0 2px
|
||||
.fa.fa-file-text-o
|
||||
margin-right: 1px
|
||||
|
||||
span[data-oe-type="monetary"]
|
||||
white-space: nowrap
|
||||
|
||||
/* ---- MENU ---- {{{ */
|
||||
|
||||
div.oe_menu_buttons
|
||||
top: -8px
|
||||
right: -8px
|
||||
|
||||
ul.oe_menu_editor
|
||||
.fa-home
|
||||
display: none
|
||||
> li:first-child > div > span > .fa-home
|
||||
display: block
|
||||
.oe_menu_placeholder
|
||||
outline: 1px dashed #4183C4
|
||||
ul
|
||||
list-style: none
|
||||
li div
|
||||
cursor: move
|
||||
.disclose
|
||||
cursor: pointer
|
||||
width: 10px
|
||||
display: none
|
||||
|
||||
// }}}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 619 B |
Binary file not shown.
|
Before Width: | Height: | Size: 491 B |
@@ -51,7 +51,7 @@ var FieldTextHtmlSimple = widget.extend({
|
||||
}
|
||||
return config;
|
||||
},
|
||||
start: function() {
|
||||
start: function () {
|
||||
var def = this._super.apply(this, arguments);
|
||||
this.$translate.remove();
|
||||
this.$translate = $();
|
||||
@@ -59,7 +59,7 @@ var FieldTextHtmlSimple = widget.extend({
|
||||
this.$content.trigger('mouseup');
|
||||
return def;
|
||||
},
|
||||
initialize_content: function() {
|
||||
initialize_content: function () {
|
||||
var self = this;
|
||||
this.$textarea = this.$("textarea").val(this.get('value') || "<p><br/></p>");
|
||||
this.$content = $();
|
||||
@@ -118,20 +118,20 @@ var FieldTextHtmlSimple = widget.extend({
|
||||
return value;
|
||||
},
|
||||
focus: function() {
|
||||
if (this.get("effective_readonly")) {
|
||||
if (!(!this.get("effective_readonly") && this.$textarea)) {
|
||||
return false;
|
||||
}
|
||||
// on IE an error may occur when creating range on not displayed element
|
||||
try {
|
||||
return this.$content.focusInEnd();
|
||||
return this.$textarea.focusInEnd();
|
||||
} catch (e) {
|
||||
return this.$content.focus();
|
||||
return this.$textarea.focus();
|
||||
}
|
||||
},
|
||||
resize: function() {
|
||||
this.$('iframe').css('height', '0px').css('height', Math.max(30, Math.min(this.$content[0] ? this.$content[0].scrollHeight : 0, 500)) + 'px');
|
||||
},
|
||||
render_value: function() {
|
||||
render_value: function () {
|
||||
var value = this.get('value');
|
||||
this.$textarea.val(value || '');
|
||||
this.$content.html(this.text_to_html(value));
|
||||
@@ -148,10 +148,10 @@ var FieldTextHtmlSimple = widget.extend({
|
||||
this.$('.note-toolbar').find('button[data-event="undo"]').attr('disabled', false);
|
||||
}
|
||||
},
|
||||
is_false: function() {
|
||||
is_false: function () {
|
||||
return !this.get('value') || this.get('value') === "<p><br/></p>" || !this.get('value').match(/\S/);
|
||||
},
|
||||
before_save: function() {
|
||||
before_save: function () {
|
||||
if (this.options['style-inline']) {
|
||||
transcoder.class_to_style(this.$content);
|
||||
transcoder.font_to_img(this.$content);
|
||||
@@ -268,7 +268,7 @@ var FieldTextHtml = widget.extend({
|
||||
|
||||
return src;
|
||||
},
|
||||
initialize_content: function() {
|
||||
initialize_content: function () {
|
||||
this.$el.closest('.modal-body').css('max-height', 'none');
|
||||
this.$iframe = this.$el.find('iframe');
|
||||
this.document = null;
|
||||
@@ -334,7 +334,7 @@ var FieldTextHtml = widget.extend({
|
||||
self.initialize_content();
|
||||
});
|
||||
},
|
||||
render_value: function() {
|
||||
render_value: function () {
|
||||
if (this.lang !== this.view.dataset.context.lang || this.$iframe.attr('src').match(/[?&]edit_translations=1/)) {
|
||||
return;
|
||||
}
|
||||
@@ -354,7 +354,7 @@ var FieldTextHtml = widget.extend({
|
||||
}
|
||||
}
|
||||
},
|
||||
is_false: function() {
|
||||
is_false: function () {
|
||||
return this.get('value') === false || !this.$content.html() || !this.$content.html().match(/\S/);
|
||||
},
|
||||
before_save: function () {
|
||||
|
||||
@@ -30,7 +30,7 @@ data.dom_ready = dom_ready;
|
||||
|
||||
// todo: remove and load a bundle of translated templates
|
||||
var all_ready;
|
||||
data.ready = function() {
|
||||
data.ready = function () {
|
||||
if (!all_ready) {
|
||||
all_ready = $.when(dom_ready, ajax.loadXML()).then(translations);
|
||||
} else if(all_ready.state() === "resolved") { // can add async template
|
||||
@@ -40,9 +40,9 @@ data.ready = function() {
|
||||
};
|
||||
|
||||
function translations() {
|
||||
function translate_node(node){
|
||||
function translate_node(node) {
|
||||
if(node.nodeType === 3) { // TEXT_NODE
|
||||
if(node.nodeValue.match(/\S/)){
|
||||
if(node.nodeValue.match(/\S/)) {
|
||||
var space = node.nodeValue.match(/^([\s]*)([\s\S]*?)([\s]*)$/);
|
||||
node.nodeValue = space[1] + $.trim(_t(space[2])) + space[3];
|
||||
}
|
||||
@@ -55,11 +55,11 @@ function translations() {
|
||||
'mods': ['web_editor'],
|
||||
'lang': data.get_context().lang
|
||||
})
|
||||
.then(function(trans) {
|
||||
.then(function (trans) {
|
||||
_t.database.set_bundle(trans);
|
||||
}).then(function () {
|
||||
var keys = _.keys(qweb.templates);
|
||||
for (var i = 0; i < keys.length; i++){
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
translate_node(qweb.templates[keys[i]]);
|
||||
}
|
||||
}).promise();
|
||||
|
||||
@@ -63,9 +63,9 @@ editor.Class = Widget.extend({
|
||||
template: 'web_editor.editorbar',
|
||||
events: {
|
||||
'click button[data-action=save]': 'save',
|
||||
'click a[data-action=cancel]': 'cancel',
|
||||
'click button[data-action=cancel]': 'cancel',
|
||||
},
|
||||
init: function(parent) {
|
||||
init: function (parent) {
|
||||
var self = this;
|
||||
var res = this._super.apply(this, arguments);
|
||||
this.parent = parent;
|
||||
@@ -75,7 +75,7 @@ editor.Class = Widget.extend({
|
||||
});
|
||||
return res;
|
||||
},
|
||||
start: function() {
|
||||
start: function () {
|
||||
var self = this;
|
||||
|
||||
$('.dropdown-toggle').dropdown();
|
||||
@@ -86,14 +86,13 @@ editor.Class = Widget.extend({
|
||||
this.rte.start();
|
||||
|
||||
var flag = false;
|
||||
window.onbeforeunload = function(event) {
|
||||
window.onbeforeunload = function (event) {
|
||||
if (rte.history.getEditableHasUndo().length && !flag) {
|
||||
flag = true;
|
||||
setTimeout(function () {flag=false;},0);
|
||||
return _t('This document is not saved!');
|
||||
}
|
||||
};
|
||||
this.$('button[data-action="save"]').prop('disabled', true);
|
||||
return this._super();
|
||||
},
|
||||
display_placeholder: function () {
|
||||
@@ -119,9 +118,7 @@ editor.Class = Widget.extend({
|
||||
}
|
||||
});
|
||||
},
|
||||
rte_changed: function () {
|
||||
this.$('button[data-action=save]').prop('disabled', !rte.history.getEditableHasUndo().length);
|
||||
},
|
||||
rte_changed: function () {},
|
||||
save: function () {
|
||||
return this.rte.save().then(function () {
|
||||
editor.reload();
|
||||
|
||||
@@ -57,10 +57,10 @@ snippet_editor.Class.include({
|
||||
transcoder.class_to_style($editable);
|
||||
|
||||
// fix outlook image rendering bug
|
||||
_.each(['width', 'height'], function(attribute) {
|
||||
$editable.find('img[style*="width"], img[style*="height"]').attr(attribute, function(){
|
||||
_.each(['width', 'height'], function (attribute) {
|
||||
$editable.find('img[style*="width"], img[style*="height"]').attr(attribute, function () {
|
||||
return $(this)[attribute]();
|
||||
}).css(attribute, function(){
|
||||
}).css(attribute, function () {
|
||||
return $(this).get(0).style[attribute] || 'auto';
|
||||
});
|
||||
});
|
||||
|
||||
@@ -203,7 +203,7 @@ var history = new History();
|
||||
// add focusIn to jQuery to allow to move caret into a div of a contentEditable area
|
||||
|
||||
$.extend($.expr[':'],{
|
||||
o_editable: function(node,i,m){
|
||||
o_editable: function (node,i,m) {
|
||||
while (node) {
|
||||
if (node.className) {
|
||||
if (node.className.indexOf('o_not_editable')!==-1 ) {
|
||||
@@ -423,11 +423,11 @@ var RTE = Widget.extend({
|
||||
/**
|
||||
* Get HTML cloned element with text nodes escaped for XML storage
|
||||
*/
|
||||
getEscapedElement: function($el) {
|
||||
getEscapedElement: function ($el) {
|
||||
var escaped_el = $el.clone();
|
||||
var to_escape = escaped_el.find('*').addBack();
|
||||
to_escape = to_escape.not(to_escape.filter('object,iframe,script,style,[data-oe-model][data-oe-model!="ir.ui.view"]').find('*').addBack());
|
||||
to_escape.contents().each(function(){
|
||||
to_escape.contents().each(function () {
|
||||
if(this.nodeType == 3) {
|
||||
this.nodeValue = $('<div />').text(this.nodeValue).html();
|
||||
}
|
||||
|
||||
@@ -44,14 +44,68 @@ renderer.createPalette = function ($container, options) {
|
||||
return;
|
||||
}
|
||||
|
||||
var $color = $container.find('.note-color');
|
||||
var html = QWeb.render('web_editor.colorpicker');
|
||||
$color.find('.note-color-palette').prepend(html);
|
||||
var $bg = $color.find('.colorpicker:first button');
|
||||
var $fore = $color.find('.colorpicker:last button');
|
||||
var $clpicker = $(QWeb.render('web_editor.colorpicker'));
|
||||
|
||||
$bg.each(function () { $(this).attr('data-event', 'backColor').attr('data-value', $(this).attr('class')); });
|
||||
$fore.each(function () { $(this).attr('data-event', 'foreColor').attr('data-value', $(this).attr('class').replace(/bg-/, 'text-')); });
|
||||
$container.find('.colorpicker').each(function (i, picker) {
|
||||
var $picker = $(picker);
|
||||
|
||||
var $sections = $clpicker.find('.o_colorpicker_section').clone(true);
|
||||
|
||||
var $toggles = $picker.find('.o_colorpicker_section_menu');
|
||||
var $tabs = $picker.find('.o_colorpicker_section_tabs');
|
||||
var $defaultToggle = $toggles.find('li');
|
||||
var $defaultTab = $tabs.find('.tab-pane');
|
||||
|
||||
var newDefaultID = _.uniqueId();
|
||||
$defaultToggle.children('a').attr('href', $defaultToggle.children('a').attr('href') + newDefaultID);
|
||||
$defaultTab.attr('id', $defaultTab.attr('id') + newDefaultID);
|
||||
|
||||
if ($sections.length) {
|
||||
$sections.each(function () {
|
||||
var $section = $(this);
|
||||
var id = 'o_palette_' + $section.data('name') + _.uniqueId();
|
||||
|
||||
var $li = $('<li/>')
|
||||
.append($('<a/>', {href: '#' + id})
|
||||
.append($('<i/>', {'class': $section.data('iconClass') || '', html: $section.data('iconContent') || ''})));
|
||||
$defaultToggle.before($li);
|
||||
|
||||
$defaultTab.before($section.addClass('tab-pane').attr('id', id));
|
||||
});
|
||||
} else {
|
||||
var id = 'o_palette_other' + _.uniqueId();
|
||||
|
||||
var $li = $('<li/>')
|
||||
.append($('<a/>', {href: '#' + id, 'aria-controls': id})
|
||||
.append($('<i/>', {'class': 'fa fa-magic'})));
|
||||
$toggles.prepend($li);
|
||||
|
||||
$tabs.prepend($('<div/>', {'class': 'tab-pane', id: id}).append($clpicker.clone(true)));
|
||||
}
|
||||
|
||||
$toggles.find('li:first-child').addClass('active');
|
||||
$tabs.find('div:first-child').addClass('active');
|
||||
|
||||
$toggles.on('click mouseover', '> li > a', function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
$(this).tab('show');
|
||||
});
|
||||
});
|
||||
|
||||
var $bg = $container.find('.o_background_toggle .dropdown-menu button');
|
||||
var $fore = $container.find('.o_foreground_toggle .dropdown-menu button');
|
||||
|
||||
$bg.each(function () {
|
||||
var $el = $(this);
|
||||
var className = $el.hasClass('note-color-btn')? $el.attr('title') : ('bg-' + $el.data('color'));
|
||||
$el.attr('data-event', 'backColor').attr('data-value', className).addClass(className);
|
||||
});
|
||||
$fore.each(function () {
|
||||
var $el = $(this);
|
||||
var className = $el.hasClass('note-color-btn')? $el.attr('title') : ('text-' + $el.data('color'));
|
||||
$el.attr('data-event', 'foreColor').attr('data-value', className).addClass(className);
|
||||
});
|
||||
};
|
||||
|
||||
var fn_tplPopovers = renderer.tplPopovers;
|
||||
@@ -79,7 +133,7 @@ renderer.tplPopovers = function (lang, options) {
|
||||
|
||||
var $alt = $('<div class="btn-group"/>');
|
||||
$alt.prependTo($imagePopover.find('.popover-content'));
|
||||
$alt.append('<button class="btn btn-default btn-sm btn-small" data-event="alt"><strong>Alt: </strong><span class="o_image_alt"></span></button>');
|
||||
$alt.append('<button class="btn btn-default btn-sm btn-small" data-event="alt"><strong>' + _t('Description') + ': </strong><span class="o_image_alt"/></button>');
|
||||
|
||||
// padding button
|
||||
var $padding = $('<div class="btn-group"/>');
|
||||
@@ -144,7 +198,7 @@ renderer.tplPopovers = function (lang, options) {
|
||||
$imagePopover.find('.popover-content').append($airPopover.find(".note-history").clone());
|
||||
|
||||
$imagePopover.find('[data-event="showImageDialog"]').before($airPopover.find('[data-event="showLinkDialog"]').clone());
|
||||
|
||||
|
||||
//////////////// link popover
|
||||
|
||||
$linkPopover.find('.popover-content').append($airPopover.find(".note-history").clone());
|
||||
@@ -343,7 +397,7 @@ eventHandler.modules.editor.imageShape = function ($editable, sValue) {
|
||||
eventHandler.modules.linkDialog.showLinkDialog = function ($editable, $dialog, linkInfo) {
|
||||
$editable.data('range').select();
|
||||
$editable.data('NoteHistory').recordUndo();
|
||||
|
||||
|
||||
var editor = new widgets.LinkDialog($editable, linkInfo);
|
||||
editor.appendTo(document.body);
|
||||
|
||||
@@ -586,7 +640,7 @@ function summernote_mousedown (event) {
|
||||
rte.history.splitNext();
|
||||
|
||||
var $editable = $(event.target).closest(".o_editable, .note-editor");
|
||||
|
||||
|
||||
if (!!document.documentMode) {
|
||||
summernote_ie_fix(event, function (node) { return node.tagName === "DIV" || node.tagName === "IMG" || (node.dataset && node.dataset.oeModel); });
|
||||
} else if (last_div && event.target !== last_div) {
|
||||
@@ -698,22 +752,39 @@ eventHandler.attach = function (oLayoutInfo, options) {
|
||||
$(document).on('mousedown', summernote_mousedown);
|
||||
$(document).on('mouseup', summernote_mouseup);
|
||||
oLayoutInfo.editor().off('click').on('click', function (e) {e.preventDefault();}); // if the content editable is a link
|
||||
oLayoutInfo.editor().on('dblclick', 'img, .media_iframe_video, span.fa, i.fa, span.fa, a.o_image', function (event) {
|
||||
var imageSelector = 'img, .media_iframe_video, span.fa, i.fa, span.fa, a.o_image';
|
||||
var show_tooltip = true;
|
||||
oLayoutInfo.editor().on('dblclick', imageSelector, function (event) {
|
||||
show_tooltip = false;
|
||||
if (!$(event.target).closest(".note-toolbar").length) { // prevent icon edition of top bar for default summernote
|
||||
new widgets.MediaDialog(oLayoutInfo.editor(), event.target).appendTo(document.body);
|
||||
}
|
||||
});
|
||||
oLayoutInfo.editor().on('click', imageSelector, function (event) {
|
||||
if (!$(event.target).closest(".note-toolbar").length) { // prevent icon edition of top bar for default summernote
|
||||
setTimeout(function () {
|
||||
if (show_tooltip) {
|
||||
$(event.target).tooltip({title: _t('Double-click to edit'), trigger: 'manuel', container: 'body'}).tooltip('show');
|
||||
setTimeout(function () {
|
||||
$(event.target).tooltip('destroy');
|
||||
}, 800);
|
||||
}
|
||||
}, 400);
|
||||
show_tooltip = true;
|
||||
}
|
||||
});
|
||||
if(oLayoutInfo.editor().is('[data-oe-model][data-oe-type="image"]')) {
|
||||
oLayoutInfo.editor().on('click', 'img', function (event) {
|
||||
$(event.target).trigger("dblclick");
|
||||
});
|
||||
}
|
||||
oLayoutInfo.editable().on('mousedown', function(e) {
|
||||
oLayoutInfo.editable().on('mousedown', function (e) {
|
||||
if(dom.isImg(e.target)) {
|
||||
range.createFromNode(e.target).select();
|
||||
}
|
||||
});
|
||||
$(document).on("keyup", reRangeSelectKey);
|
||||
|
||||
var clone_data = false;
|
||||
var $node = oLayoutInfo.editor();
|
||||
if ($node.data('oe-model') || $node.data('oe-translation-id')) {
|
||||
@@ -867,7 +938,7 @@ $.summernote.lang.odoo = {
|
||||
recent: _t('Recent Color'),
|
||||
more: _t('More Color'),
|
||||
background: _t('Background Color'),
|
||||
foreground: _t('Foreground Color'),
|
||||
foreground: _t('Font Color'),
|
||||
transparent: _t('Transparent'),
|
||||
setTransparent: _t('Set transparent'),
|
||||
reset: _t('Reset'),
|
||||
|
||||
@@ -43,7 +43,7 @@ var start = function (editable_mode, $target) {
|
||||
else continue;
|
||||
}
|
||||
|
||||
$(selector).each(function() {
|
||||
$(selector).each(function () {
|
||||
var $snipped_id = $(this);
|
||||
if ( !$snipped_id.parents("#oe_snippets").length &&
|
||||
!$snipped_id.parent("body").length &&
|
||||
@@ -58,7 +58,7 @@ var start = function (editable_mode, $target) {
|
||||
};
|
||||
|
||||
var stop = function () {
|
||||
$(ready).each(function() {
|
||||
$(ready).each(function () {
|
||||
var $snipped_id = $(this);
|
||||
if ($snipped_id.data("snippet-view")) {
|
||||
$snipped_id.data("snippet-view").stop();
|
||||
|
||||
@@ -18,7 +18,7 @@ var dummy = editor.dummy;
|
||||
ajax.loadXML('/web_editor/static/src/xml/snippets.xml', qweb);
|
||||
|
||||
editor.Class.include({
|
||||
init: function() {
|
||||
init: function () {
|
||||
var self = this;
|
||||
var res = this._super.apply(this, arguments);
|
||||
var $editable = this.rte.editable();
|
||||
@@ -46,10 +46,10 @@ editor.Class.include({
|
||||
/* ----- SNIPPET SELECTOR ---- */
|
||||
|
||||
$.extend($.expr[':'],{
|
||||
hasData: function(node,i,m){
|
||||
hasData: function (node,i,m) {
|
||||
return !!_.toArray(node.dataset).length;
|
||||
},
|
||||
data: function(node,i,m){
|
||||
data: function (node,i,m) {
|
||||
return $(node).data(m[3]);
|
||||
}
|
||||
});
|
||||
@@ -75,28 +75,23 @@ $.fn.extend({
|
||||
/* ----- BuildingBlock (managment of drag&drop and focus/blur snippets) ---- */
|
||||
|
||||
var BuildingBlock = Widget.extend({
|
||||
template: 'web_editor.snippets',
|
||||
id: "oe_snippets",
|
||||
activeSnippets: [],
|
||||
init: function (parent, $editable) {
|
||||
this.parent = parent;
|
||||
this.$editable = $editable;
|
||||
|
||||
this._super.apply(this, arguments);
|
||||
if(!$('#oe_manipulators').length){
|
||||
$("<div id='oe_manipulators' class='o_css_editor'></div>").appendTo('body');
|
||||
if(!$('#oe_manipulators').length) {
|
||||
$("<div/>", {id: "oe_manipulators", 'class': "o_css_editor"}).appendTo('body');
|
||||
}
|
||||
this.$active_snipped_id = false;
|
||||
this.snippets = [];
|
||||
|
||||
data.instance = this;
|
||||
},
|
||||
start: function() {
|
||||
start: function () {
|
||||
var self = this;
|
||||
this.$snippet = $("#oe_snippets");
|
||||
|
||||
this.$el
|
||||
.on("mouseenter", function () { self.show(); })
|
||||
.on("mouseleave", function (event) { if (event.clientX>0 && event.clientY>0) self.hide(); });
|
||||
|
||||
$(window).resize(function () {
|
||||
setTimeout('$(document).click()',0);
|
||||
@@ -130,8 +125,7 @@ var BuildingBlock = Widget.extend({
|
||||
self.$active_snipped_id.data("snippet-editor").$overlay.addClass('o_keypress');
|
||||
}
|
||||
if ((event.metaKey || (event.ctrlKey && !event.altKey)) && event.shiftKey && event.keyCode >= 48 && event.keyCode <= 57) {
|
||||
self.$snippet.find('.scroll:first > ul li:eq('+(event.keyCode-49)+') a').trigger("click");
|
||||
self.show();
|
||||
self.$('.scroll:first > ul li:eq('+(event.keyCode-49)+') a').trigger("click");
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
@@ -188,22 +182,19 @@ var BuildingBlock = Widget.extend({
|
||||
var self = this;
|
||||
var url = this._get_snippet_url();
|
||||
if (!url || !url.length) {
|
||||
this.$snippet.detach();
|
||||
this.$el.detach();
|
||||
return;
|
||||
}
|
||||
this.$el.find("#o_left_bar").addClass("hidden");
|
||||
return ajax.jsonRpc(url, 'call', {}).then(function (html) {
|
||||
self.compute_snippet_templates(html);
|
||||
self.trigger("snippets:ready");
|
||||
}, function () {
|
||||
self.$snippet.hide();
|
||||
console.warn('Snippets template not found:', url);
|
||||
});
|
||||
},
|
||||
compute_snippet_templates: function (html) {
|
||||
var self = this;
|
||||
var $html = $(html);
|
||||
var $left_bar = this.$el.find("#o_left_bar");
|
||||
var $ul = $html.siblings("ul");
|
||||
var $scroll = $html.siblings("#o_scroll");
|
||||
|
||||
@@ -309,16 +300,14 @@ var BuildingBlock = Widget.extend({
|
||||
|
||||
// hide scroll if no snippets defined
|
||||
if (!number) {
|
||||
this.$snippet.detach();
|
||||
} else {
|
||||
this.$el.find("#o_left_bar").removeClass("hidden");
|
||||
this.$el.detach();
|
||||
}
|
||||
$("body").toggleClass("editor_has_snippets", !!number);
|
||||
|
||||
// select all default text to edit (if snippet default text)
|
||||
self.$snippets.find('.oe_snippet_body, .oe_snippet_body *')
|
||||
.contents()
|
||||
.filter(function() {
|
||||
.filter(function () {
|
||||
return this.nodeType === 3 && this.textContent.match(/\S/);
|
||||
}).parent().addClass("o_default_snippet_text");
|
||||
$(document).on("mouseup", ".o_default_snippet_text", function (event) {
|
||||
@@ -328,7 +317,6 @@ var BuildingBlock = Widget.extend({
|
||||
var r = $.summernote.core.range.create();
|
||||
$(r && r.sc).closest(".o_default_snippet_text").removeClass("o_default_snippet_text");
|
||||
});
|
||||
// end
|
||||
|
||||
// clean t-oe
|
||||
$html.find('[data-oe-model], [data-oe-type]').each(function () {
|
||||
@@ -339,14 +327,13 @@ var BuildingBlock = Widget.extend({
|
||||
}
|
||||
}
|
||||
});
|
||||
// end
|
||||
|
||||
$html.find('.o_not_editable').attr("contentEditable", false);
|
||||
|
||||
$left_bar.html($html);
|
||||
this.$el.html($html);
|
||||
|
||||
// animate for list of snippet blocks
|
||||
$left_bar.on('click', '.scroll-link', function (event) {
|
||||
this.$el.on('click', '.scroll-link', function (event) {
|
||||
event.preventDefault();
|
||||
var targetOffset = $($(this).attr("href")).position().top - $ul.outerHeight() + $scroll[0].scrollTop;
|
||||
$scroll.animate({'scrollTop': targetOffset}, 750);
|
||||
@@ -367,55 +354,33 @@ var BuildingBlock = Widget.extend({
|
||||
}
|
||||
$(last).addClass("active");
|
||||
});
|
||||
// end
|
||||
|
||||
// display scrollbar
|
||||
$(window).on('resize', function () {
|
||||
$scroll.css("overflow", "");
|
||||
var height = $left_bar.height() - $ul.outerHeight();
|
||||
$scroll.css("height", height);
|
||||
var $last = $scroll.children(":visible").last().children(".o_panel_body");
|
||||
$last.css({'min-height': (height-$last.prev().outerHeight())+'px'});
|
||||
if ($scroll[0].scrollHeight + $ul[0].scrollHeight > document.body.clientHeight) {
|
||||
$scroll.css("overflow", "auto").css("width", "226px");
|
||||
} else {
|
||||
$scroll.css("width", "");
|
||||
}
|
||||
}).trigger('resize');
|
||||
// end
|
||||
|
||||
self.make_snippet_draggable(self.$snippets);
|
||||
},
|
||||
|
||||
cover_target: function ($el, $target){
|
||||
if($el.data('not-cover_target')) return;
|
||||
cover_target: function ($el, $target) {
|
||||
if ($el.data('not-cover_target')) {
|
||||
return;
|
||||
}
|
||||
var pos = $target.offset();
|
||||
var mt = parseInt($target.css("margin-top") || 0);
|
||||
var mb = parseInt($target.css("margin-bottom") || 0);
|
||||
var width = $target.outerWidth();
|
||||
var bigger = pos.left+width > $("body").outerWidth()-8;
|
||||
$el.css({
|
||||
'width': width,
|
||||
'top': pos.top - mt - 5,
|
||||
'left': pos.left-1
|
||||
width: $target.outerWidth(),
|
||||
left: pos.left,
|
||||
top: pos.top - mt,
|
||||
});
|
||||
$el.find(".oe_handle.e,.oe_handle.w").css({'height': $target.outerHeight() + mt + mb+1});
|
||||
if (bigger) {
|
||||
$el.find(".oe_handle.e").css({right: 0, margin: 0})
|
||||
.find("div").css({right: 0, left: 'auto'});
|
||||
} else {
|
||||
$el.find(".oe_handle.e").css({right: "", margin: ""})
|
||||
.find("div").css({right: "", left: ""});
|
||||
}
|
||||
$el.find(".oe_handle.s").css({'top': $target.outerHeight() + mt + mb});
|
||||
$el.find(".oe_handle.size").css({'top': $target.outerHeight() + mt});
|
||||
$el.find(".oe_handle.s,.oe_handle.n").css({'width': width-2});
|
||||
$el.find('.oe_handles').css({
|
||||
height: $target.outerHeight(true),
|
||||
});
|
||||
|
||||
$el.toggleClass('o_top_cover', pos.top <= (this.$('#o_scroll').position().top + 15));
|
||||
},
|
||||
|
||||
show_blocks: function () {
|
||||
var self = this;
|
||||
var cache = {};
|
||||
this.$snippet.find(".o_panel").each(function () {
|
||||
this.$(".o_panel").each(function () {
|
||||
var catcheck = false;
|
||||
var $category = $(this);
|
||||
$category.find(".oe_snippet_body").each(function () {
|
||||
@@ -450,15 +415,6 @@ var BuildingBlock = Widget.extend({
|
||||
$('#oe_snippets .scroll a[data-toggle="tab"][href="#' + $category.attr("id") + '"]').toggle(catcheck);
|
||||
});
|
||||
},
|
||||
show: function () {
|
||||
var self = this;
|
||||
this.make_active(false);
|
||||
this.$el.addClass("o_open");
|
||||
this.show_blocks();
|
||||
},
|
||||
hide: function () {
|
||||
this.$el.removeClass("o_open");
|
||||
},
|
||||
bind_snippet_click_editor: function () {
|
||||
var self = this;
|
||||
var snipped_event_flag;
|
||||
@@ -541,7 +497,7 @@ var BuildingBlock = Widget.extend({
|
||||
this.cover_target($snippet.data('overlay'), $snippet);
|
||||
this.snippet_focus($snippet);
|
||||
}
|
||||
this.$snippet.trigger('snippet-activated', $snippet);
|
||||
this.$el.trigger('snippet-activated', $snippet);
|
||||
if ($snippet) {
|
||||
$snippet.trigger('snippet-activated', $snippet);
|
||||
}
|
||||
@@ -554,7 +510,7 @@ var BuildingBlock = Widget.extend({
|
||||
},
|
||||
|
||||
// activate drag and drop for the snippets in the snippet toolbar
|
||||
make_snippet_draggable: function($snippets){
|
||||
make_snippet_draggable: function ($snippets) {
|
||||
var self = this;
|
||||
var $tumb = $snippets.find(".oe_snippet_thumbnail_img:first");
|
||||
var left = $tumb.outerWidth()/2;
|
||||
@@ -572,8 +528,7 @@ var BuildingBlock = Widget.extend({
|
||||
'left': left,
|
||||
'top': top
|
||||
},
|
||||
start: function(){
|
||||
self.hide();
|
||||
start: function () {
|
||||
dropped = false;
|
||||
// snippet_selectors => to get drop-near, drop-in
|
||||
$snippet = $(this);
|
||||
@@ -602,23 +557,25 @@ var BuildingBlock = Widget.extend({
|
||||
return;
|
||||
}
|
||||
|
||||
self.make_active(false);
|
||||
self.activate_insertion_zones($selector_siblings, $selector_children);
|
||||
|
||||
$('.oe_drop_zone').droppable({
|
||||
over: function(){
|
||||
over: function () {
|
||||
dropped = true;
|
||||
$(this).first().after($toInsert);
|
||||
$(this).first().after($toInsert).addClass('hidden');
|
||||
},
|
||||
out: function(){
|
||||
out: function () {
|
||||
var prev = $toInsert.prev();
|
||||
if(this === prev[0]){
|
||||
if(this === prev[0]) {
|
||||
dropped = false;
|
||||
$toInsert.detach();
|
||||
$(this).removeClass('hidden');
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
stop: function(ev, ui){
|
||||
stop: function (ev, ui) {
|
||||
$toInsert.removeClass('oe_snippet_body');
|
||||
|
||||
if (! dropped && self.$editable.find('.oe_drop_zone') && ui.position.top > 3) {
|
||||
@@ -658,7 +615,7 @@ var BuildingBlock = Widget.extend({
|
||||
$target = $toInsert;
|
||||
|
||||
setTimeout(function () {
|
||||
self.$snippet.trigger('snippet-dropped', $target);
|
||||
self.$el.trigger('snippet-dropped', $target);
|
||||
|
||||
animation.start(true, $target);
|
||||
|
||||
@@ -693,8 +650,8 @@ var BuildingBlock = Widget.extend({
|
||||
},
|
||||
|
||||
// return the original snippet in the editor bar from a snippet id (string)
|
||||
get_snippet_from_id: function(id){
|
||||
return $('.oe_snippet').filter(function(){
|
||||
get_snippet_from_id: function (id) {
|
||||
return $('.oe_snippet').filter(function () {
|
||||
return $(this).data('option') === id;
|
||||
}).first();
|
||||
},
|
||||
@@ -704,12 +661,12 @@ var BuildingBlock = Widget.extend({
|
||||
// in case the selected elements have children themselves, dropzones will be interleaved
|
||||
// with them.
|
||||
// selector.siblings -> will insert drop zones after and before selected elements
|
||||
activate_insertion_zones: function($selector_siblings, $selector_children){
|
||||
activate_insertion_zones: function ($selector_siblings, $selector_children) {
|
||||
var self = this;
|
||||
var zone_template = $("<div class='oe_drop_zone oe_insert'></div>");
|
||||
var zone_template = $("<div class='oe_drop_zone oe_insert'/>");
|
||||
|
||||
if ($selector_children) {
|
||||
$selector_children.each(function (){
|
||||
$selector_children.each(function () {
|
||||
var $zone = $(this);
|
||||
var css = window.getComputedStyle(this);
|
||||
var float = css.float || css.cssFloat;
|
||||
@@ -719,7 +676,7 @@ var BuildingBlock = Widget.extend({
|
||||
var node = $drop[0].previousSibling;
|
||||
var test = !!(node && ((!node.tagName && node.textContent.match(/\S/)) || node.tagName === "BR"));
|
||||
if (test) {
|
||||
$drop.addClass("oe_vertical oe_vertical_text").css({
|
||||
$drop.addClass("oe_vertical").css({
|
||||
'height': parseInt(window.getComputedStyle($zone[0]).lineHeight),
|
||||
'float': 'none',
|
||||
'display': 'inline-block'
|
||||
@@ -734,7 +691,7 @@ var BuildingBlock = Widget.extend({
|
||||
var node = $drop[0].nextSibling;
|
||||
var test = !!(node && ((!node.tagName && node.textContent.match(/\S/)) || node.tagName === "BR"));
|
||||
if (test) {
|
||||
$drop.addClass("oe_vertical oe_vertical_text").css({
|
||||
$drop.addClass("oe_vertical").css({
|
||||
'height': parseInt(window.getComputedStyle($zone[0]).lineHeight),
|
||||
'float': 'none',
|
||||
'display': 'inline-block'
|
||||
@@ -752,20 +709,20 @@ var BuildingBlock = Widget.extend({
|
||||
}
|
||||
|
||||
if ($selector_siblings) {
|
||||
$selector_siblings.filter(':not(.oe_drop_zone):not(.oe_drop_clone)').each(function (){
|
||||
$selector_siblings.filter(':not(.oe_drop_zone):not(.oe_drop_clone)').each(function () {
|
||||
var $zone = $(this);
|
||||
var $drop;
|
||||
var css = window.getComputedStyle(this);
|
||||
var float = css.float || css.cssFloat;
|
||||
|
||||
if($zone.prev('.oe_drop_zone:visible').length === 0){
|
||||
if($zone.prev('.oe_drop_zone:visible').length === 0) {
|
||||
$drop = zone_template.clone();
|
||||
if (float === "left" || float === "right") {
|
||||
$drop.addClass("oe_vertical").css('height', Math.max(Math.min($zone.outerHeight(), $zone.prev().outerHeight() || Infinity), 30));
|
||||
}
|
||||
$zone.before($drop);
|
||||
}
|
||||
if($zone.next('.oe_drop_zone:visible').length === 0){
|
||||
if($zone.next('.oe_drop_zone:visible').length === 0) {
|
||||
$drop = zone_template.clone();
|
||||
if (float === "left" || float === "right") {
|
||||
$drop.addClass("oe_vertical").css('height', Math.max(Math.min($zone.outerHeight(), $zone.next().outerHeight() || Infinity), 30));
|
||||
@@ -785,7 +742,7 @@ var BuildingBlock = Widget.extend({
|
||||
|
||||
// Cleaning consecutive zone and up zones placed between floating or inline elements. We do not like these kind of zones.
|
||||
var $zones = self.$editable.find('.oe_drop_zone:not(.oe_vertical)');
|
||||
$zones.each(function (){
|
||||
$zones.each(function () {
|
||||
var zone = $(this);
|
||||
var prev = zone.prev();
|
||||
var next = zone.next();
|
||||
@@ -799,12 +756,12 @@ var BuildingBlock = Widget.extend({
|
||||
var disp_prev = prev.css('display') || null;
|
||||
var disp_next = next.css('display') || null;
|
||||
if( (float_prev === 'left' || float_prev === 'right')
|
||||
&& (float_next === 'left' || float_next === 'right') ){
|
||||
&& (float_next === 'left' || float_next === 'right') ) {
|
||||
zone.remove();
|
||||
}else if( !( disp_prev === null
|
||||
|| disp_next === null
|
||||
|| disp_prev === 'block'
|
||||
|| disp_next === 'block' )){
|
||||
|| disp_next === 'block' )) {
|
||||
zone.remove();
|
||||
}
|
||||
});
|
||||
@@ -812,21 +769,21 @@ var BuildingBlock = Widget.extend({
|
||||
|
||||
// generate drop zones covering the elements selected by the selector
|
||||
// we generate overlay drop zones only to get an idea of where the snippet are, the drop
|
||||
activate_overlay_zones: function($targets){
|
||||
activate_overlay_zones: function ($targets) {
|
||||
var self = this;
|
||||
|
||||
function is_visible($el){
|
||||
function is_visible($el) {
|
||||
return $el.css('display') != 'none'
|
||||
&& $el.css('opacity') != '0'
|
||||
&& $el.css('visibility') != 'hidden';
|
||||
}
|
||||
|
||||
// filter out invisible elements
|
||||
$targets = $targets.filter(function(){ return is_visible($(this)); });
|
||||
$targets = $targets.filter(function () { return is_visible($(this)); });
|
||||
|
||||
// filter out elements with invisible parents
|
||||
$targets = $targets.filter(function(){
|
||||
var parents = $(this).parents().filter(function(){ return !is_visible($(this)); });
|
||||
$targets = $targets.filter(function () {
|
||||
var parents = $(this).parents().filter(function () { return !is_visible($(this)); });
|
||||
return parents.length === 0;
|
||||
});
|
||||
|
||||
@@ -839,7 +796,7 @@ var BuildingBlock = Widget.extend({
|
||||
if (document.body && document.body.addEventListener) {
|
||||
$zone.on("click mousedown mousedown", function passThrough(event) {
|
||||
event.preventDefault();
|
||||
$target.each(function() {
|
||||
$target.each(function () {
|
||||
// check if clicked point (taken from event) is inside element
|
||||
event.srcElement = this;
|
||||
$(this).trigger(event.type);
|
||||
@@ -849,8 +806,8 @@ var BuildingBlock = Widget.extend({
|
||||
}
|
||||
|
||||
$zone.appendTo('#oe_manipulators');
|
||||
$zone.data('target',$target);
|
||||
$target.data('overlay',$zone);
|
||||
$zone.data('target', $target);
|
||||
$target.data('overlay', $zone);
|
||||
|
||||
var timer;
|
||||
$target.closest('.o_editable').on("content_changed", function (event) {
|
||||
@@ -890,7 +847,7 @@ var Editor = Class.extend({
|
||||
},
|
||||
|
||||
// activate drag and drop for the snippets in the snippet toolbar
|
||||
_drag_and_drop: function(){
|
||||
_drag_and_drop: function () {
|
||||
var self = this;
|
||||
this.dropped = false;
|
||||
this.$overlay.draggable({
|
||||
@@ -902,7 +859,7 @@ var Editor = Class.extend({
|
||||
left: 18,
|
||||
top: 14
|
||||
},
|
||||
helper: function() {
|
||||
helper: function () {
|
||||
var $clone = $(this).clone().css({width: "24px", height: "24px", border: 0});
|
||||
$clone.find(".oe_overlay_options >:not(:contains(.oe_snippet_move)), .oe_handle").remove();
|
||||
$clone.find(":not(.glyphicon)").css({position: 'absolute', top: 0, left: 0});
|
||||
@@ -913,25 +870,24 @@ var Editor = Class.extend({
|
||||
stop: _.bind(self._drag_and_drop_stop, self)
|
||||
});
|
||||
},
|
||||
_drag_and_drop_after_insert_dropzone: function (){},
|
||||
_drag_and_drop_active_drop_zone: function ($zones){
|
||||
_drag_and_drop_after_insert_dropzone: function () {},
|
||||
_drag_and_drop_active_drop_zone: function ($zones) {
|
||||
var self = this;
|
||||
$zones.droppable({
|
||||
over: function(){
|
||||
over: function () {
|
||||
$(".oe_drop_zone.hide").removeClass("hide");
|
||||
$(this).addClass("hide").first().after(self.$target);
|
||||
self.dropped = true;
|
||||
},
|
||||
out: function(){
|
||||
out: function () {
|
||||
$(this).removeClass("hide");
|
||||
self.$target.detach();
|
||||
self.dropped = false;
|
||||
},
|
||||
});
|
||||
},
|
||||
_drag_and_drop_start: function (){
|
||||
_drag_and_drop_start: function () {
|
||||
var self = this;
|
||||
self.buildingBlock.hide();
|
||||
self.buildingBlock.editor_busy = true;
|
||||
self.size = {
|
||||
width: self.$target.width(),
|
||||
@@ -952,6 +908,7 @@ var Editor = Class.extend({
|
||||
else $selector_children = $selector_children.add(self.selector_children[i].all());
|
||||
}
|
||||
|
||||
self.buildingBlock.make_active(false);
|
||||
self.buildingBlock.activate_insertion_zones($selector_siblings, $selector_children);
|
||||
|
||||
$("body").addClass('move-important');
|
||||
@@ -959,7 +916,7 @@ var Editor = Class.extend({
|
||||
self._drag_and_drop_after_insert_dropzone();
|
||||
self._drag_and_drop_active_drop_zone($('.oe_drop_zone'));
|
||||
},
|
||||
_drag_and_drop_stop: function (){
|
||||
_drag_and_drop_stop: function () {
|
||||
var self = this;
|
||||
var $dropzone = this.$target.prev();
|
||||
var prev = $dropzone.length && $dropzone[0].previousSibling;
|
||||
@@ -984,7 +941,7 @@ var Editor = Class.extend({
|
||||
$parent.prepend(this.$target);
|
||||
}
|
||||
|
||||
for (var i in this.styles){
|
||||
for (var i in this.styles) {
|
||||
this.styles[i].on_move();
|
||||
}
|
||||
}
|
||||
@@ -992,9 +949,9 @@ var Editor = Class.extend({
|
||||
self.buildingBlock.editor_busy = false;
|
||||
|
||||
self.get_parent_block();
|
||||
setTimeout(function () {
|
||||
_.defer(function () {
|
||||
self.buildingBlock.cover_target(self.$target.data('overlay'), self.$target);
|
||||
},0);
|
||||
});
|
||||
},
|
||||
|
||||
load_style_options: function () {
|
||||
@@ -1071,7 +1028,7 @@ var Editor = Class.extend({
|
||||
|
||||
this.$target.after($clone);
|
||||
this.buildingBlock.call_for_all_snippets($clone, function (editor, $snippet) {
|
||||
for (var i in editor.styles){
|
||||
for (var i in editor.styles) {
|
||||
editor.styles[i].on_clone($snippet);
|
||||
}
|
||||
});
|
||||
@@ -1086,7 +1043,7 @@ var Editor = Class.extend({
|
||||
|
||||
var index = _.indexOf(this.buildingBlock.snippets, this.$target.get(0));
|
||||
this.buildingBlock.call_for_all_snippets(this.$target, function (editor, $snippet) {
|
||||
for (var i in editor.styles){
|
||||
for (var i in editor.styles) {
|
||||
editor.styles[i].on_remove();
|
||||
}
|
||||
});
|
||||
@@ -1120,7 +1077,7 @@ var Editor = Class.extend({
|
||||
* (after the insertion of this.$body, if this.$body exists)
|
||||
*/
|
||||
drop_and_build_snippet: function () {
|
||||
for (var i in this.styles){
|
||||
for (var i in this.styles) {
|
||||
this.styles[i].drop_and_build_snippet();
|
||||
}
|
||||
},
|
||||
@@ -1130,7 +1087,7 @@ var Editor = Class.extend({
|
||||
*/
|
||||
on_focus : function () {
|
||||
this.$overlay.addClass('oe_active');
|
||||
for (var i in this.styles){
|
||||
for (var i in this.styles) {
|
||||
this.styles[i].on_focus();
|
||||
}
|
||||
},
|
||||
@@ -1139,7 +1096,7 @@ var Editor = Class.extend({
|
||||
* This method is called when the user click outside the snippet in the dom, after a focus
|
||||
*/
|
||||
on_blur : function () {
|
||||
for (var i in this.styles){
|
||||
for (var i in this.styles) {
|
||||
this.styles[i].on_blur();
|
||||
}
|
||||
this.$overlay.removeClass('oe_active');
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -210,7 +210,7 @@ dom.merge = function (node, begin, so, end, eo, mergeFilter, all) {
|
||||
while(end.lastChild) {end = end.lastChild;}
|
||||
eo = end.textContent.length-1;
|
||||
} else if (end.tagName) {
|
||||
|
||||
|
||||
} else if (end.tagName && end.childNodes[so]) {
|
||||
end = end.childNodes[so];
|
||||
so = 0;
|
||||
@@ -234,7 +234,7 @@ dom.merge = function (node, begin, so, end, eo, mergeFilter, all) {
|
||||
if (cur === begin) {
|
||||
if (!all) add = true;
|
||||
}
|
||||
|
||||
|
||||
__merge(cur);
|
||||
dom.orderClass(dom.node(cur));
|
||||
|
||||
@@ -977,7 +977,7 @@ $.summernote.pluginEvents.tab = function (event, editor, layoutInfo, outdent) {
|
||||
$.summernote.pluginEvents.indent(event, editor, layoutInfo);
|
||||
}
|
||||
} else {
|
||||
if (!outdent){
|
||||
if (!outdent) {
|
||||
if(dom.isText(r.sc)) {
|
||||
var next = r.sc.splitText(r.so);
|
||||
} else {
|
||||
@@ -1501,7 +1501,7 @@ $.summernote.pluginEvents.backspace = function (event, editor, layoutInfo) {
|
||||
|
||||
dom.removeSpace(temp2.parentNode, temp2, 0, temp, 0); // clean before jump for not select invisible space between 2 tag
|
||||
temp2 = dom.lastChild(temp2);
|
||||
|
||||
|
||||
r = range.create(temp2, temp2.textContent.length, temp2, temp2.textContent.length);
|
||||
r.select();
|
||||
|
||||
@@ -1880,7 +1880,7 @@ eventHandler.modules.toolbar.button.updateRecentColor = function (elBtn, sEvent,
|
||||
font.className += ' ' + sValue;
|
||||
font.style.backgroundColor = "";
|
||||
} else {
|
||||
font.className = font.className.replace(/(^|\s+)bg-\S+/);
|
||||
font.className = font.className.replace(/(^|\s+)bg-\S+/, '');
|
||||
font.style.backgroundColor = sValue !== 'inherit' ? sValue : "";
|
||||
}
|
||||
}
|
||||
@@ -1905,7 +1905,7 @@ eventHandler.modules.editor.redo = function ($popover) {
|
||||
|
||||
// use image toolbar if current range is on image
|
||||
var fn_editor_currentstyle = eventHandler.modules.editor.currentStyle;
|
||||
eventHandler.modules.editor.currentStyle = function(target) {
|
||||
eventHandler.modules.editor.currentStyle = function (target) {
|
||||
var styleInfo = fn_editor_currentstyle.apply(this, arguments);
|
||||
// with our changes for inline editor, the targeted element could be a button of the editor
|
||||
if(!styleInfo.image || !dom.isEditable(styleInfo.image)) {
|
||||
|
||||
@@ -10,7 +10,7 @@ var _t = core._t;
|
||||
|
||||
base.ready().done(function () {
|
||||
|
||||
var click_event = function(el, type) {
|
||||
var click_event = function (el, type) {
|
||||
var evt = document.createEvent("MouseEvents");
|
||||
evt.initMouseEvent(type, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, el);
|
||||
el.dispatchEvent(evt);
|
||||
@@ -61,7 +61,7 @@ Tour.register({
|
||||
},
|
||||
{
|
||||
waitFor: '#editable_area > section .row > div:first:not(:has(p font)) h1 font',
|
||||
element: '.note-color button.dropdown-toggle:visible',
|
||||
element: '.note-color button.dropdown-toggle:visible:first',
|
||||
title: "change selection to change text color",
|
||||
onload: function () {
|
||||
var $el = $('#editable_area > section .row > div:first:not(:has(p font)) h1 font');
|
||||
@@ -70,12 +70,17 @@ Tour.register({
|
||||
}
|
||||
},
|
||||
{
|
||||
element: 'div[data-target-event="foreColor"]:visible .note-color-row:eq(1) button[data-event="foreColor"]:first',
|
||||
title: "Select foreground spectrum colorpanel",
|
||||
waitFor: ".dropdown-menu:visible",
|
||||
element: ".dropdown-menu:visible .o_colorpicker_section_menu li:last a",
|
||||
},
|
||||
{
|
||||
element: ".dropdown-menu:visible .note-color-row:eq(1) button[data-event=foreColor]:first",
|
||||
title: "change text color",
|
||||
},
|
||||
{
|
||||
waitFor: '#editable_area > section .row > div:first h1 font:eq(2)',
|
||||
element: '.note-color button.dropdown-toggle:visible',
|
||||
element: '.note-color button.dropdown-toggle:visible:last',
|
||||
title: "change selection to change text bg-color again",
|
||||
onload: function () {
|
||||
var $el = $('#editable_area > section .row > div:first h1 font:eq(2)');
|
||||
@@ -84,12 +89,17 @@ Tour.register({
|
||||
}
|
||||
},
|
||||
{
|
||||
element: 'div[data-target-event="backColor"] .colorpicker button[data-event="backColor"]:first',
|
||||
title: "Select background spectrum colorpanel",
|
||||
waitFor: ".dropdown-menu:visible",
|
||||
element: ".dropdown-menu:visible .o_colorpicker_section_menu li:last a",
|
||||
},
|
||||
{
|
||||
element: ".dropdown-menu:visible .note-color-row:eq(0) button[data-event=backColor]:first",
|
||||
title: "change text backColor again",
|
||||
},
|
||||
{
|
||||
waitFor: '#editable_area > section .row > div:first h1 font:eq(4)',
|
||||
element: '.note-color button.dropdown-toggle:visible',
|
||||
element: '.note-color button.dropdown-toggle:visible:first',
|
||||
title: "change selection (h1 and p) to change text color with class",
|
||||
onload: function () {
|
||||
var $el = $('#editable_area > section .row > div:first h1 font:eq(4)');
|
||||
@@ -98,7 +108,8 @@ Tour.register({
|
||||
}
|
||||
},
|
||||
{
|
||||
element: 'div[data-target-event="foreColor"]:visible button[data-event="foreColor"][data-value^="text-"]:first',
|
||||
waitFor: ".dropdown-menu:visible",
|
||||
element: ".dropdown-menu:visible .note-color-row:eq(0) button[data-event=foreColor]:first",
|
||||
title: "change text foreColor again",
|
||||
},
|
||||
{
|
||||
@@ -170,7 +181,7 @@ Tour.register({
|
||||
title: "select a pictogram",
|
||||
},
|
||||
{
|
||||
waitFor: '#editor-media-icon.active span.font-icons-selected',
|
||||
waitFor: '#editor-media-icon.active span.o_selected',
|
||||
element: '.modal button.save',
|
||||
title: "save pictogram",
|
||||
},
|
||||
@@ -377,7 +388,7 @@ Tour.register({
|
||||
title: "check the image style",
|
||||
},
|
||||
{
|
||||
waitFor: '#wrapwrap img:eq(1)[src^="/web_editor/font_to_img/"][src$="/rgb(66,139,202)/32"]',
|
||||
waitFor: '#wrapwrap img:eq(1)[src^="/web_editor/font_to_img/"][src$="/rgb(51,122,183)/28"]',
|
||||
title: "check the font image src",
|
||||
},
|
||||
{
|
||||
@@ -385,7 +396,7 @@ Tour.register({
|
||||
title: "check the font class to css",
|
||||
},
|
||||
{
|
||||
waitFor: '#wrapwrap img:eq(2)[style*="float:right"]',
|
||||
waitFor: '#wrapwrap img:eq(2)[style*="float: right"]',
|
||||
title: "check the second font class to css",
|
||||
},
|
||||
]
|
||||
|
||||
@@ -116,7 +116,6 @@ var Translate = Widget.extend({
|
||||
},
|
||||
start: function () {
|
||||
this._super();
|
||||
this.$('button[data-action=save]').prop('disabled', true);
|
||||
return this.edit();
|
||||
},
|
||||
setTarget: function ($target) {
|
||||
@@ -158,7 +157,7 @@ var Translate = Widget.extend({
|
||||
},
|
||||
edit: function () {
|
||||
var flag = false;
|
||||
window.onbeforeunload = function(event) {
|
||||
window.onbeforeunload = function (event) {
|
||||
if ($('.o_editable.o_dirty').length && !flag) {
|
||||
flag = true;
|
||||
setTimeout(function () {flag=false;},0);
|
||||
@@ -179,7 +178,6 @@ var Translate = Widget.extend({
|
||||
var $node = $(node);
|
||||
var trans = this.getTranlationObject($node[0]);
|
||||
$node.toggleClass('o_dirty', trans.value !== $node.html().replace(/[ \t\n\r]+/, ' '));
|
||||
this.$('button[data-action=save]').prop('disabled', !$('.o_editable.o_dirty').length);
|
||||
},
|
||||
getTranlationObject: function (node) {
|
||||
var $node = $(node);
|
||||
|
||||
@@ -39,8 +39,8 @@ var Dialog = Widget.extend({
|
||||
close: function () {
|
||||
this.$el.modal('hide');
|
||||
},
|
||||
stop_escape: function(event) {
|
||||
if($(".modal.in").length>0 && event.which == 27){
|
||||
stop_escape: function (event) {
|
||||
if($(".modal.in").length>0 && event.which == 27) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
@@ -72,7 +72,7 @@ var alt = Dialog.extend({
|
||||
},
|
||||
});
|
||||
|
||||
var click_event = function(el, type) {
|
||||
var click_event = function (el, type) {
|
||||
var evt = document.createEvent("MouseEvents");
|
||||
evt.initMouseEvent(type, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, el);
|
||||
el.dispatchEvent(evt);
|
||||
@@ -239,14 +239,14 @@ var ImageDialog = Widget.extend({
|
||||
},
|
||||
'click button.filepicker': function () {
|
||||
var filepicker = this.$('input[type=file]');
|
||||
if (!_.isEmpty(filepicker)){
|
||||
if (!_.isEmpty(filepicker)) {
|
||||
filepicker[0].click();
|
||||
}
|
||||
},
|
||||
'click .js_disable_optimization': function () {
|
||||
this.$('input[name="disable_optimization"]').val('1');
|
||||
var filepicker = this.$('button.filepicker');
|
||||
if (!_.isEmpty(filepicker)){
|
||||
if (!_.isEmpty(filepicker)) {
|
||||
filepicker[0].click();
|
||||
}
|
||||
},
|
||||
@@ -256,8 +256,8 @@ var ImageDialog = Widget.extend({
|
||||
'keyup input.url': "change_input",
|
||||
//'change select.image-style': 'preview_image',
|
||||
'click .existing-attachments [data-src]': 'select_existing',
|
||||
'click .existing-attachment-remove': 'try_remove',
|
||||
'keydown.dismiss.bs.modal': function(){},
|
||||
'click .o_existing_attachment_remove': 'try_remove',
|
||||
'keydown.dismiss.bs.modal': function () {},
|
||||
}),
|
||||
init: function (parent, media, options) {
|
||||
this._super();
|
||||
@@ -417,7 +417,7 @@ var ImageDialog = Widget.extend({
|
||||
this.$('button.filepicker').removeClass('btn-danger btn-success');
|
||||
this.$('form').submit();
|
||||
},
|
||||
file_selected: function(attachment, error) {
|
||||
file_selected: function (attachment, error) {
|
||||
var $button = this.$('button.filepicker');
|
||||
if (!error) {
|
||||
$button.addClass('btn-success');
|
||||
@@ -497,14 +497,14 @@ var ImageDialog = Widget.extend({
|
||||
},
|
||||
selected_existing: function () {
|
||||
var self = this;
|
||||
this.$('.existing-attachment-cell.media_selected').removeClass("media_selected");
|
||||
var $select = this.$('.existing-attachment-cell [data-src]').filter(function () {
|
||||
this.$('.o_existing_attachment_cell.o_selected').removeClass("o_selected");
|
||||
var $select = this.$('.o_existing_attachment_cell [data-src]').filter(function () {
|
||||
var $img = $(this);
|
||||
return !!_.find(self.images, function (v) {
|
||||
return (v.url === $img.data("src") || ($img.data("url") && v.url === $img.data("url")) || v.id === $img.data("id"));
|
||||
});
|
||||
});
|
||||
$select.closest('.existing-attachment-cell').addClass("media_selected");
|
||||
$select.closest('.o_existing_attachment_cell').addClass("o_selected");
|
||||
return $select;
|
||||
},
|
||||
try_remove: function (e) {
|
||||
@@ -535,7 +535,7 @@ var ImageDialog = Widget.extend({
|
||||
|
||||
|
||||
var cacheCssSelectors = {};
|
||||
var getCssSelectors = function(filter) {
|
||||
var getCssSelectors = function (filter) {
|
||||
var css = [];
|
||||
if (cacheCssSelectors[filter]) {
|
||||
return cacheCssSelectors[filter];
|
||||
@@ -580,7 +580,7 @@ var getCssSelectors = function(filter) {
|
||||
}
|
||||
return cacheCssSelectors[filter] = css;
|
||||
};
|
||||
var computeFonts = _.once(function() {
|
||||
var computeFonts = _.once(function () {
|
||||
_.each(fontIcons, function (data) {
|
||||
data.cssData = getCssSelectors(data.parser);
|
||||
data.alias = [];
|
||||
@@ -628,14 +628,14 @@ var fontIconsDialog = Widget.extend({
|
||||
e.stopPropagation();
|
||||
|
||||
this.$('#fa-icon').val(e.target.getAttribute('data-id'));
|
||||
$(".font-icons-icon").removeClass("font-icons-selected");
|
||||
$(e.target).addClass("font-icons-selected");
|
||||
$(".font-icons-icon").removeClass("o_selected");
|
||||
$(e.target).addClass("o_selected");
|
||||
},
|
||||
'keydown.dismiss.bs.modal': function(){},
|
||||
'keydown.dismiss.bs.modal': function () {},
|
||||
}),
|
||||
|
||||
// extract list of font (like awsome) from the cheatsheet.
|
||||
renderElement: function() {
|
||||
renderElement: function () {
|
||||
this.iconsParser = fontIcons;
|
||||
this.icons = _.flatten(_.map(fontIcons, function (data) {
|
||||
return data.icons;
|
||||
@@ -750,7 +750,7 @@ var fontIconsDialog = Widget.extend({
|
||||
continue;
|
||||
case '': continue;
|
||||
default:
|
||||
$(".font-icons-icon").removeClass("font-icons-selected").filter("[data-alias*=',"+cls+",']").addClass("font-icons-selected");
|
||||
$(".font-icons-icon").removeClass("o_selected").filter("[data-alias*=',"+cls+",']").addClass("o_selected");
|
||||
for (var k=0; k<this.icons.length; k++) {
|
||||
if (this.icons.indexOf(cls) !== -1) {
|
||||
this.$('#fa-icon').val(cls);
|
||||
@@ -852,7 +852,7 @@ var VideoDialog = Widget.extend({
|
||||
'keyup input#urlvideo': 'change_input',
|
||||
'change input#embedvideo': 'change_input',
|
||||
'keyup input#embedvideo': 'change_input',
|
||||
'keydown.dismiss.bs.modal': function(){},
|
||||
'keydown.dismiss.bs.modal': function () {},
|
||||
}),
|
||||
init: function (parent, media) {
|
||||
this._super();
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
.oe_form_field_html_text {
|
||||
.note-editable {
|
||||
min-height: 180px;
|
||||
font: initial !important;
|
||||
font-family: inherit !important;
|
||||
line-height: initial !important;
|
||||
color: initial !important;
|
||||
p {
|
||||
margin: initial;
|
||||
font-family: 'Lucida Grande', Helvetica, Verdana, Arial, sans-serif;
|
||||
-webkit-margin-before: 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
a, a:hover {
|
||||
color: initial;
|
||||
}
|
||||
}
|
||||
.o_readonly {
|
||||
min-height: 1em;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
.oe_form_field_html iframe {
|
||||
display: block;
|
||||
width: 100%;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 300px;
|
||||
min-height: -webkit-calc(100vh - 170px);
|
||||
min-height: calc(100vh - 170px);
|
||||
}
|
||||
.o_form_FieldTextHtml_fullscreen {
|
||||
.oe_form_field_html.o_form_fullscreen_ancestor iframe {
|
||||
position: absolute !important;
|
||||
left: 0 !important;
|
||||
right: 0 !important;
|
||||
top: 0 !important;
|
||||
bottom: 0 !important;
|
||||
width: 100% !important;
|
||||
min-height: 100% !important;
|
||||
z-index: 1001 !important;
|
||||
border: 0;
|
||||
}
|
||||
* {
|
||||
display: none;
|
||||
}
|
||||
.o_form_fullscreen_ancestor {
|
||||
display: block !important;
|
||||
position: static !important;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
overflow: visible !important;
|
||||
width: auto !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
}
|
||||
|
||||
.openerp .oe_form .oe_form_field_html_translate textarea {
|
||||
min-width: 60px;
|
||||
width: 100%;
|
||||
color: #4c4c4c;
|
||||
font: normal 13px "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
|
||||
}
|
||||
.openerp .oe_form_readonly .oe_form .oe_form_field_html_translate textarea {
|
||||
border: 0;
|
||||
background: #fff;
|
||||
}
|
||||
.openerp .oe_form_editable .oe_form .oe_form_field_html_translate {
|
||||
> button {
|
||||
float: right;
|
||||
margin: -6px -3px 0 0;
|
||||
}
|
||||
> .note-editable {
|
||||
border: 1px solid #ccc;
|
||||
min-height: 22px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.note-editable [contentEditable='true']:hover {
|
||||
box-shadow: #DDCC33 0 0 5px 2px inset;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,279 @@
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* ----- EDITOR ----- */
|
||||
.css_non_editable_mode_hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* ----- Editor (for public user, like forum) ----- */
|
||||
.note-toolbar {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
.note-popover .popover > .arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ----- GENERIC LAYOUTING HELPERS ---- */
|
||||
/* table */
|
||||
#wrapwrap, .o_editable {
|
||||
table.table {
|
||||
table-layout: fixed;
|
||||
td {
|
||||
min-width: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Media */
|
||||
img.shadow {
|
||||
box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
img.padding-small, .img.padding-small, span.fa.padding-small, iframe.padding-small {
|
||||
padding: 4px;
|
||||
}
|
||||
img.padding-medium, .img.padding-medium, span.fa.padding-medium, iframe.padding-medium {
|
||||
padding: 8px;
|
||||
}
|
||||
img.padding-large, .img.padding-large, span.fa.padding-large, iframe.padding-large {
|
||||
padding: 16px;
|
||||
}
|
||||
img.padding-xl, .img.padding-xl, span.fa.padding-xl, iframe.padding-xl {
|
||||
padding: 32px;
|
||||
}
|
||||
|
||||
div.media_iframe_video {
|
||||
&.padding-small iframe {
|
||||
padding: 4px;
|
||||
}
|
||||
&.padding-medium iframe {
|
||||
padding: 8px;
|
||||
}
|
||||
&.padding-large iframe {
|
||||
padding: 16px;
|
||||
}
|
||||
&.padding-xl iframe {
|
||||
padding: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
/* font awsome */
|
||||
.fa-6x {
|
||||
font-size: 6em;
|
||||
}
|
||||
|
||||
.fa-7x {
|
||||
font-size: 7em;
|
||||
}
|
||||
|
||||
.fa-8x {
|
||||
font-size: 8em;
|
||||
}
|
||||
|
||||
.fa-9x {
|
||||
font-size: 9em;
|
||||
}
|
||||
|
||||
.fa-10x {
|
||||
font-size: 10em;
|
||||
}
|
||||
|
||||
.fa.center-block {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* video */
|
||||
div.media_iframe_video {
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.o-position-absolute(@top: 0);
|
||||
margin: 0 auto;
|
||||
margin-left: -50%;
|
||||
}
|
||||
|
||||
.media_iframe_video_size {
|
||||
padding-bottom: 66.5%;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.css_editable_mode_display {
|
||||
.o-position-absolute();
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: none;
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
|
||||
html[data-browser^="msie"] div.media_iframe_video iframe {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* Mobile view */
|
||||
@media (max-width: @screen-xs-max) {
|
||||
img:not(.cke_iframe), .media_iframe_video, span.fa, i.fa {
|
||||
-webkit-transform: none !important;
|
||||
-moz-transform: none !important;
|
||||
-ms-transform: none !important;
|
||||
-o-transform: none !important;
|
||||
transform: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- fields --- */
|
||||
address {
|
||||
.fa.fa-mobile-phone {
|
||||
margin: 0 3px 0 2px;
|
||||
}
|
||||
.fa.fa-file-text-o {
|
||||
margin-right: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
span[data-oe-type="monetary"] {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* ---- MENU ---- {{{ */
|
||||
div.oe_menu_buttons {
|
||||
top: -8px;
|
||||
right: -8px;
|
||||
}
|
||||
|
||||
ul.oe_menu_editor {
|
||||
.fa-home {
|
||||
display: none;
|
||||
}
|
||||
> li:first-child > div > span > .fa-home {
|
||||
display: block;
|
||||
}
|
||||
.oe_menu_placeholder {
|
||||
outline: 1px dashed #4183C4;
|
||||
}
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
li div {
|
||||
cursor: move;
|
||||
}
|
||||
.disclose {
|
||||
cursor: pointer;
|
||||
width: 10px;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Generate all margins for all sizes
|
||||
.o-margins-all(@factor: 1) {
|
||||
// Unfortunately, the margins sizes are not
|
||||
// mathematically related by a single function
|
||||
.o-margins(128, @factor);
|
||||
.o-margins(96, @factor);
|
||||
.o-margins(92, @factor);
|
||||
.o-margins(64, @factor);
|
||||
.o-margins(48, @factor);
|
||||
.o-margins(32, @factor);
|
||||
.o-margins(24, @factor);
|
||||
.o-margins(16, @factor);
|
||||
.o-margins(8, @factor);
|
||||
.o-margins(4, @factor);
|
||||
.o-margins(0, @factor);
|
||||
}
|
||||
|
||||
// Generate all margins for one size, scalled by a
|
||||
// given factor (0 <= factor <= 1)
|
||||
.o-margins(@name, @factor: 1) {
|
||||
.o-margins-define(@name, @factor * @name);
|
||||
}
|
||||
|
||||
// Generate all margins for one size, given
|
||||
// the name of the margin and intended size
|
||||
.o-margins-define(@name, @size: @name) {
|
||||
.mt@{name} {margin-top: ~"@{size}px"!important;}
|
||||
.mb@{name} {margin-bottom: ~"@{size}px"!important;}
|
||||
.ml@{name} {margin-left: ~"@{size}px"!important;}
|
||||
.mr@{name} {margin-right: ~"@{size}px"!important;}
|
||||
}
|
||||
|
||||
// Generate all margins
|
||||
.o-margins-all();
|
||||
|
||||
// Possibility to change the margins ratio for small screen sizes, e.g.:
|
||||
// @media (max-width: 768px) {
|
||||
// .o-margins-all(0.75);
|
||||
// }
|
||||
// Possibility to only redefine single margins for small screen sizes, e.g.:
|
||||
// @media (max-width: 768px) {
|
||||
// .o-margins(64, 0.50);
|
||||
// .o-margins(48, 0.50);
|
||||
// }
|
||||
// Possibility to directly redefine the size of single margins instead of refering to a factor for small screen sizes, e.g.:
|
||||
// @media (max-width: 768px) {
|
||||
// .o-margins-define(128, 48);
|
||||
// .o-margins-define(96, 48);
|
||||
// .o-margins-define(64, 48);
|
||||
// }
|
||||
|
||||
a.o_underline {
|
||||
text-decoration: underline;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
// Colors
|
||||
@gray-white: #fff;
|
||||
|
||||
@color-alpha: #1cc1a9;
|
||||
@color-beta: #a24689;
|
||||
@color-gamma: #BA3C3D;
|
||||
@color-delta: #0D6759;
|
||||
@color-epsilon: #0B2E59;
|
||||
|
||||
.o-create-color-classes(@class_name, @color, @complementary: contrast(@color, @text-color, #FFF, 60%)) {
|
||||
.bg-@{class_name} {
|
||||
background-color: @color;
|
||||
color: @complementary;
|
||||
.text-muted {
|
||||
color: fade(@complementary, 40%);
|
||||
}
|
||||
}
|
||||
body .text-@{class_name} { // html to make the rules more important that bg-* ones
|
||||
color: @color;
|
||||
}
|
||||
}
|
||||
|
||||
// Create classes for theme colors
|
||||
.o-create-color-classes(alpha, @color-alpha);
|
||||
.o-create-color-classes(beta, @color-beta);
|
||||
.o-create-color-classes(gamma, @color-gamma);
|
||||
.o-create-color-classes(delta, @color-delta);
|
||||
.o-create-color-classes(epsilon, @color-epsilon);
|
||||
|
||||
// Create classes for UI colors
|
||||
.o-create-color-classes(primary, @brand-primary);
|
||||
.o-create-color-classes(success, @brand-success);
|
||||
.o-create-color-classes(info, @brand-info);
|
||||
.o-create-color-classes(warning, @brand-warning);
|
||||
.o-create-color-classes(danger, @brand-danger);
|
||||
|
||||
// Create classes for greyscale colors
|
||||
.o-create-color-classes(~'black', @gray-base);
|
||||
.o-create-color-classes(~'gray-darker', @gray-darker);
|
||||
.o-create-color-classes(~'gray-dark', @gray-dark);
|
||||
.o-create-color-classes(~'gray', @gray);
|
||||
.o-create-color-classes(~'gray-light', @gray-light);
|
||||
.o-create-color-classes(~'gray-lighter', @gray-lighter);
|
||||
.o-create-color-classes(~'white', @gray-white);
|
||||
@@ -1,63 +0,0 @@
|
||||
// Generate all margins for all sizes
|
||||
.o-margins-all(@factor: 1) {
|
||||
// Unfortunately, the margins sizes are not
|
||||
// mathematically related by a single function
|
||||
.o-margins(128, @factor);
|
||||
.o-margins(96, @factor);
|
||||
.o-margins(92, @factor);
|
||||
.o-margins(64, @factor);
|
||||
.o-margins(48, @factor);
|
||||
.o-margins(32, @factor);
|
||||
.o-margins(24, @factor);
|
||||
.o-margins(16, @factor);
|
||||
.o-margins(8, @factor);
|
||||
.o-margins(4, @factor);
|
||||
.o-margins(0, @factor);
|
||||
}
|
||||
|
||||
// Generate all margins for one size, scalled by a
|
||||
// given factor (0 <= factor <= 1)
|
||||
.o-margins(@name, @factor: 1) {
|
||||
.o-margins-define(@name, @factor * @name);
|
||||
}
|
||||
|
||||
// Generate all margins for one size, given
|
||||
// the name of the margin and intended size
|
||||
.o-margins-define(@name, @size: @name) {
|
||||
.mt@{name} {margin-top: ~"@{size}px"!important;}
|
||||
.mb@{name} {margin-bottom: ~"@{size}px"!important;}
|
||||
.ml@{name} {margin-left: ~"@{size}px"!important;}
|
||||
.mr@{name} {margin-right: ~"@{size}px"!important;}
|
||||
}
|
||||
|
||||
// Generate all margins
|
||||
.o-margins-all();
|
||||
|
||||
// It is possible to change the margins ratio for
|
||||
// small screen sizes using media queries, e.g.:
|
||||
// @media (max-width: 768px) {
|
||||
// .o-margins-all(0.75);
|
||||
// }
|
||||
|
||||
// It is also possible to only redefine single margins
|
||||
// for small screen sizes using media queries, e.g.:
|
||||
// @media (max-width: 768px) {
|
||||
// .o-margins(64, 0.50);
|
||||
// .o-margins(48, 0.50);
|
||||
// }
|
||||
|
||||
// It is also possible to directly redefine the size
|
||||
// of single margins instead of refering to a factor
|
||||
// for small screen sizes using media queries, e.g.:
|
||||
// @media (max-width: 768px) {
|
||||
// .o-margins-define(128, 48);
|
||||
// .o-margins-define(96, 48);
|
||||
// .o-margins-define(64, 48);
|
||||
// }
|
||||
|
||||
a.o_underline {
|
||||
text-decoration: underline;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,339 @@
|
||||
|
||||
// INPUTS
|
||||
.o_switch {
|
||||
.o-flex-display();
|
||||
.o-align-items(center);
|
||||
font-weight: normal;
|
||||
height: 1.5em;
|
||||
cursor: pointer;
|
||||
|
||||
> input {
|
||||
display: none;
|
||||
|
||||
+ span {
|
||||
background: #bababa;
|
||||
border-radius: 0.4em;
|
||||
height: 1em;
|
||||
width: 2.5em;
|
||||
margin-right: 0.5em;
|
||||
display: inline-block;
|
||||
.transition(all 0.3s @o-we-md-ease);
|
||||
&:after {
|
||||
content: "";
|
||||
background: #fafafa;
|
||||
display: block;
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
border-radius: 100em;
|
||||
margin-top: -0.3em;
|
||||
margin-left: -0.1em;
|
||||
.transition(all 0.3s @o-we-md-ease);
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
}
|
||||
|
||||
&:checked + span {
|
||||
background-color: rgb(142, 224, 212);
|
||||
background-color: transparentize(@odoo-brand-optional, 0.5);
|
||||
&:after {
|
||||
background-color: @odoo-brand-optional;
|
||||
margin-left: 1.1em;
|
||||
}
|
||||
}
|
||||
}
|
||||
&:hover > input + span:after {
|
||||
background-color: mix(@odoo-brand-optional, #fafafa);
|
||||
}
|
||||
}
|
||||
.text-input-group {
|
||||
position: relative;
|
||||
margin-bottom: 45px;
|
||||
|
||||
input {
|
||||
font-size: 18px;
|
||||
padding: 10px 10px 10px 5px;
|
||||
display: block;
|
||||
width: 300px;
|
||||
border: none;
|
||||
border-bottom: 1px solid #757575;
|
||||
}
|
||||
input:focus { outline: none; }
|
||||
|
||||
/* LABEL ======================================= */
|
||||
label {
|
||||
color: #999;
|
||||
font-size: 18px;
|
||||
font-weight: normal;
|
||||
.o-position-absolute(@top: 10px, @left: 5px);
|
||||
pointer-events: none;
|
||||
.transition(0.2s ease all)
|
||||
}
|
||||
|
||||
/* active state */
|
||||
input:focus ~ label, input:valid ~ label {
|
||||
top: -20px;
|
||||
font-size: 14px;
|
||||
color: #5264AE;
|
||||
}
|
||||
|
||||
/* BOTTOM BARS ================================= */
|
||||
.bar { position: relative; display: block; width: 300px; }
|
||||
.bar:before, .bar:after {
|
||||
content: '';
|
||||
height: 2px;
|
||||
width: 0;
|
||||
bottom: 1px;
|
||||
.o-position-absolute();
|
||||
background: #5264AE;
|
||||
.transition(0.2s ease all);
|
||||
}
|
||||
.bar:before {
|
||||
left: 50%;
|
||||
}
|
||||
.bar:after {
|
||||
right: 50%;
|
||||
}
|
||||
|
||||
/* active state */
|
||||
input:focus ~ .bar:before, input:focus ~ .bar:after {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
/* HIGHLIGHTER ================================== */
|
||||
.highlight {
|
||||
.o-position-absolute(@top: 25%, @left: 0);
|
||||
height: 60%;
|
||||
width: 100px;
|
||||
pointer-events: none;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* active state */
|
||||
input:focus ~ .highlight {
|
||||
.animation(inputHighlighter 0.3s ease);
|
||||
}
|
||||
}
|
||||
|
||||
// DRAG&DROP ANIMATIONS
|
||||
.oe_snippet_body {
|
||||
opacity: 0;
|
||||
.o-animation(fadeInDownSmall, 700ms, @fill-mode: forwards);
|
||||
}
|
||||
|
||||
// MODALS
|
||||
body .modal {
|
||||
// SELECT MEDIA
|
||||
.o_select_media_dialog {
|
||||
width: 80%;
|
||||
|
||||
.modal-body {
|
||||
li.search {
|
||||
float: right;
|
||||
|
||||
ul.pager {
|
||||
margin: 0;
|
||||
> li > a {
|
||||
border-radius: 3px;
|
||||
margin-left: 2px;
|
||||
padding: 6px 14px;
|
||||
}
|
||||
}
|
||||
.form-group {
|
||||
position: relative;
|
||||
margin: 0 10px 0 0;
|
||||
> input {
|
||||
padding-right: 30px;
|
||||
}
|
||||
> span {
|
||||
.o-position-absolute(7px, 7px);
|
||||
font-size: 1.3em;
|
||||
}
|
||||
}
|
||||
}
|
||||
.dropdown-toggle {
|
||||
line-height: 0;
|
||||
height: 34px;
|
||||
}
|
||||
.o_existing_attachment_cell {
|
||||
@odoo-border-image: 1px;
|
||||
.o_existing_attachment_remove {
|
||||
.o-position-absolute(@odoo-border-image, 15px + @odoo-border-image);
|
||||
padding: 3px 3px 12px 12px;
|
||||
background-color: white;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
border-radius: 0 0 0 100%;
|
||||
opacity: 0.8;
|
||||
}
|
||||
.o_image {
|
||||
border: @odoo-border-image solid transparent;
|
||||
cursor: pointer;
|
||||
|
||||
&.o_webimage {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
&.o_selected .o_image {
|
||||
border-color: @odoo-brand-primary;
|
||||
box-shadow: 0px 0px 2px 2px @odoo-brand-secondary;
|
||||
}
|
||||
}
|
||||
.font-icons-icons > span {
|
||||
font-size: 30px;
|
||||
margin: 5px;
|
||||
padding: 3px;
|
||||
cursor: pointer;
|
||||
|
||||
&.o_selected {
|
||||
box-shadow: 0px 0px 2px 2px @odoo-brand-secondary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// BACKGROUND IMAGE OPTIONS
|
||||
.o_bg_img_opt_modal .o_bg_img_opt {
|
||||
margin: 15px 0;
|
||||
|
||||
.help-control {
|
||||
.o-position-absolute(15px, 15px);
|
||||
}
|
||||
.help {
|
||||
margin: 15px 0;
|
||||
|
||||
.simulator {
|
||||
position: relative;
|
||||
float: left;
|
||||
margin-right: 15px;
|
||||
width: 120px;
|
||||
height: 100px;
|
||||
.bg {
|
||||
.o-position-absolute(0, 0, 0, 0);
|
||||
border: 1px dotted #888787;
|
||||
background-image: url(/web/image);
|
||||
background-position: center center;
|
||||
.o-background-size(cover);
|
||||
}
|
||||
.el {
|
||||
.o-position-absolute(10px, 0, 10px, 0);
|
||||
border: 1px solid #222;
|
||||
}
|
||||
&.contain_bg {
|
||||
.bg {
|
||||
.o-position-absolute(0, 12px, 20px, 12px);
|
||||
}
|
||||
.el {
|
||||
.o-position-absolute(0, 0, 20px, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
+ * {
|
||||
clear: left;
|
||||
}
|
||||
}
|
||||
|
||||
.o_bg_img_opt_cover_edition {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid white;
|
||||
padding: 0px 25px 25px 25px;
|
||||
.o-linear-gradient(-150deg, lighten(#2c2c36, 5%), darken(#2c2c36, 10%));
|
||||
h6 {
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
.o_bg_img_opt_object {
|
||||
width: 100%;
|
||||
background: white;
|
||||
min-height: 10px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 10px #000;
|
||||
> img {
|
||||
cursor: crosshair;
|
||||
border-top: 1px solid #5A5A5A;
|
||||
border-bottom: 1px solid #111;
|
||||
}
|
||||
&:hover .o_focus_point:before {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
.o_bg_img_opt_ui_info {
|
||||
.animation(fadeInOut 2s ease forwards);
|
||||
.o-position-absolute(@bottom: 1px, @right: 0);
|
||||
display: block;
|
||||
padding: 3px 13px;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
color: #333;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
pointer-events: none;
|
||||
span {
|
||||
font-weight: normal;
|
||||
}
|
||||
.o_x {
|
||||
margin-right: 10px
|
||||
}
|
||||
}
|
||||
.grid {
|
||||
.o-position-absolute(@top: 33.33%, @left: 0);
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background: fadeOut(lighten(@odoo-brand-optional, 30%), 50%);
|
||||
pointer-events: none;
|
||||
&.grid-2 {
|
||||
top: 66.66%
|
||||
}
|
||||
&.grid-3 {
|
||||
top: 0;
|
||||
left: 33.33%;
|
||||
width: 1px;
|
||||
height: 100%
|
||||
}
|
||||
&.grid-4 {
|
||||
top: 0;
|
||||
left: 66.66%;
|
||||
width: 1px;
|
||||
height: 100%
|
||||
}
|
||||
}
|
||||
.o_focus_point {
|
||||
.o-position-absolute(@top: 0, @left: 0);
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border: 2px solid white;
|
||||
border-radius: 100%;
|
||||
margin-top: -15px;
|
||||
margin-left: -15px;
|
||||
box-shadow: 0 0 1px #333;
|
||||
pointer-events: none;
|
||||
&.o_with_transition {
|
||||
.o-transition(all, 0.2s);
|
||||
}
|
||||
&:before {
|
||||
pointer-events: none;
|
||||
content: "";
|
||||
display: block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin-top: -37px;
|
||||
margin-left: -37px;
|
||||
border: 1px solid #EAEAEA;
|
||||
background: rgba(247, 76, 76, 0);
|
||||
border-radius: 100em;
|
||||
opacity: 1;
|
||||
box-shadow: 0 0 0 100em rgba(0, 0, 0, 0.33);
|
||||
.o-transition(opacity, 0.2s);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.web_editor-dialog {
|
||||
li > label {
|
||||
width: 96%;
|
||||
margin: 4px 2% 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,937 @@
|
||||
|
||||
// TOP BAR (EDIT)
|
||||
#web_editor-top-edit {
|
||||
.o-position-absolute(0, 0, auto, 0);
|
||||
position: fixed;
|
||||
height: @odoo-navbar-height;
|
||||
z-index: 1003;
|
||||
|
||||
background-color: rgba(0,0,0,0);
|
||||
.o-transition(background-color, 400ms, @o-we-md-ease);
|
||||
font-family: Roboto, @font-family-sans-serif;
|
||||
|
||||
form.navbar-form {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
.o-position-absolute(@right: -@o-we-sidebar-width);
|
||||
.o-transition(right, 0.4s, @o-we-md-ease);
|
||||
|
||||
.btn-group {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
line-height: 1;
|
||||
font-weight: bold;
|
||||
|
||||
.o-transition(all, 0.3s);
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
|
||||
&.btn-primary {
|
||||
.button-variant(white, @odoo-brand-primary, @odoo-brand-primary);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
&.btn-default {
|
||||
.button-variant(white, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
&:focus, &:active, &:focus:active {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
.dropdown-menu {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// SNIPPET PANEL
|
||||
#oe_snippets {
|
||||
.o-flex-display();
|
||||
.o-flex-flow(column, nowrap);
|
||||
.o-position-absolute(0, auto, 0, -@o-we-sidebar-width);
|
||||
position: fixed;
|
||||
width: @o-we-sidebar-width;
|
||||
z-index: 1003;
|
||||
|
||||
font-family: Roboto, @font-family-sans-serif;
|
||||
border-right: 1px solid @o-we-color-divider;
|
||||
.o-transition(left, 400ms, @o-we-md-ease);
|
||||
.o-linear-gradient(45deg, @o-we-color-normal, darken(@o-we-color-normal, 10%));
|
||||
box-shadow: 0px 10px 10px -10px black inset;
|
||||
|
||||
#snippets_menu {
|
||||
.o-flex(0, 0, auto);
|
||||
height: @odoo-navbar-height;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: @o-we-color-dark;
|
||||
list-style-type: none;
|
||||
li {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.o-flex-display();
|
||||
.o-align-items(center);
|
||||
.o-justify-content(center);
|
||||
text-decoration: none!important;
|
||||
|
||||
i {
|
||||
font-size: 20px;
|
||||
color: #999999;
|
||||
+ i {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.active, &:hover {
|
||||
a i {
|
||||
color: white;
|
||||
+ i {
|
||||
color: @odoo-brand-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#o_scroll {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
|
||||
.o_panel_header {
|
||||
color: #999999;
|
||||
.o-flex-display();
|
||||
.o-align-items(center);
|
||||
.o-justify-content(center);
|
||||
padding: 3%;
|
||||
|
||||
i {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.o_panel_body {
|
||||
&:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.oe_snippet {
|
||||
float: left;
|
||||
width: 45.5%;
|
||||
margin: 0 0 3% 3%;
|
||||
box-shadow: none;
|
||||
background-color: transparent;
|
||||
.user-select(none);
|
||||
|
||||
cursor: pointer;
|
||||
cursor: copy;
|
||||
cursor: grab;
|
||||
|
||||
.oe_snippet_thumbnail {
|
||||
.oe_snippet_thumbnail_img {
|
||||
border: none;
|
||||
}
|
||||
.oe_snippet_thumbnail_title {
|
||||
border: none;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
&:hover .oe_snippet_thumbnail_img {
|
||||
.o-transition(transform, 200ms, ease);
|
||||
.scale(1.05);
|
||||
}
|
||||
}
|
||||
|
||||
&.disable {
|
||||
.oe_snippet_thumbnail {
|
||||
background-color: rgba(255, 0, 0, 0.75);
|
||||
}
|
||||
.oe_snippet_thumbnail_img {
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.oe_snippet { // No root because can be drag and drop (and the helper is in the body)
|
||||
position: relative;
|
||||
width: 100px;
|
||||
background-color: @o-we-color-normal;
|
||||
|
||||
> :not(.oe_snippet_thumbnail) {
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
.oe_snippet_thumbnail {
|
||||
width: 100%;
|
||||
|
||||
.oe_snippet_thumbnail_img {
|
||||
width: 100%;
|
||||
height: 0;
|
||||
border: 1px solid @o-we-color-normal;
|
||||
padding-bottom: 75%;
|
||||
background-size: cover;
|
||||
background-position: center center;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
img.oe_snippet_thumbnail_img {
|
||||
height: auto;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.oe_snippet_thumbnail_title {
|
||||
display: block;
|
||||
border: 1px solid @o-we-color-normal;
|
||||
padding: 5px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
text-shadow: none;
|
||||
color: @o-we-color-text-normal;
|
||||
}
|
||||
&:hover .oe_snippet_thumbnail_title {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// DROPZONES
|
||||
@-webkit-keyframes dropZoneInsert {
|
||||
to {
|
||||
background-color: fade(@odoo-brand-primary, 20%);
|
||||
}
|
||||
}
|
||||
@keyframes dropZoneInsert {
|
||||
to {
|
||||
background-color: fade(@odoo-brand-primary, 20%);
|
||||
}
|
||||
}
|
||||
#wrapwrap .oe_drop_zone {
|
||||
background-color: fade(@odoo-brand-primary, 5%);
|
||||
.o-animation(dropZoneInsert, 1s, linear, 0s, infinite, alternate);
|
||||
|
||||
&.oe_insert {
|
||||
@odoo-dropzone-size: 40px;
|
||||
@odoo-dropzone-border-width: 2px;
|
||||
@odoo-dropzone-border: @odoo-dropzone-border-width dashed @odoo-brand-primary;
|
||||
|
||||
z-index: 999;
|
||||
|
||||
border: @odoo-dropzone-border;
|
||||
border-top: none;
|
||||
border-bottom: none;
|
||||
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: @odoo-dropzone-size;
|
||||
margin: -@odoo-dropzone-size/2 0;
|
||||
|
||||
.o-transition(margin, 400ms, linear);
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 50%;
|
||||
border-bottom: @odoo-dropzone-border;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
&.oe_vertical {
|
||||
border: 2px dashed @odoo-brand-primary;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
|
||||
width: @odoo-dropzone-size;
|
||||
float: left;
|
||||
margin: 0 -@odoo-dropzone-size/2;
|
||||
|
||||
&:after {
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
border-bottom: none;
|
||||
border-right: @odoo-dropzone-border;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MANIPULATORS
|
||||
#oe_manipulators {
|
||||
@odoo-handle-edge-size: 8px;
|
||||
@odoo-handle-border-width: 3px;
|
||||
|
||||
// SNIPPET MANIPULATORS
|
||||
.oe_overlay {
|
||||
.o-position-absolute();
|
||||
z-index: 1002;
|
||||
display: none;
|
||||
height: 0;
|
||||
background: transparent;
|
||||
text-align: center;
|
||||
.o-transition(opacity, 400ms, linear);
|
||||
&.o_keypress {
|
||||
opacity: 0;
|
||||
}
|
||||
&.oe_active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
// OVERLAY OPTIONS
|
||||
> .oe_overlay_options {
|
||||
.o-position-absolute(@bottom: 0, @left: 0);
|
||||
|
||||
> .btn-group {
|
||||
white-space: nowrap;
|
||||
|
||||
.btn {
|
||||
@o-overlay-option-size: 25px;
|
||||
|
||||
display: inline-block;
|
||||
width: @o-overlay-option-size;
|
||||
height: @o-overlay-option-size;
|
||||
padding: 0;
|
||||
border: 1px solid @o-we-color-dark;
|
||||
line-height: @o-overlay-option-size;
|
||||
font-size: 11px;
|
||||
border-radius: 0;
|
||||
font-weight: 600;
|
||||
|
||||
.o-transition(all, 400ms);
|
||||
color: @o-we-color-text-light;
|
||||
background-color: @o-we-color-light;
|
||||
&:hover {
|
||||
color: white;
|
||||
background-color: lighten(@o-we-color-dark, 10%);
|
||||
}
|
||||
|
||||
&.oe_snippet_remove {
|
||||
color: white;
|
||||
background-color: @o-we-color-danger;
|
||||
border-color: darken(@o-we-color-danger, 20%);
|
||||
&:hover {
|
||||
background-color: darken(@o-we-color-danger, 20%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// CUSTOMIZE MENU BUTTON
|
||||
> .oe_options {
|
||||
.btn {
|
||||
width: auto;
|
||||
padding: 0 25px 0 5px;
|
||||
background-color: @o-we-color-dark;
|
||||
text-transform: uppercase;
|
||||
&:hover, &:active, &:focus {
|
||||
background-color: lighten(@o-we-color-dark, 5%);
|
||||
border-color: lighten(@o-we-color-dark, 10%);
|
||||
color: white;
|
||||
}
|
||||
&:active, &:focus, &:active:focus {
|
||||
outline: none;
|
||||
}
|
||||
&:before, &:after {
|
||||
content: "";
|
||||
width: 7px;
|
||||
height: 2px;
|
||||
background-color: @o-we-color-text-light;
|
||||
.o-position-absolute(46%);
|
||||
.o-transition(all, 0.3s);
|
||||
}
|
||||
&:before {
|
||||
right: 9px;
|
||||
.rotate(45deg);
|
||||
}
|
||||
&:after {
|
||||
right: 5px;
|
||||
.rotate(-45deg);
|
||||
}
|
||||
}
|
||||
// Open menu
|
||||
&.open .btn {
|
||||
background-color: @o-we-color-light;
|
||||
&:before, &:after {
|
||||
width: 9px;
|
||||
}
|
||||
&:before {
|
||||
right: 10px;
|
||||
transform: translateX(5px) rotate(-45deg);
|
||||
}
|
||||
&:after {
|
||||
.rotate(45deg);
|
||||
}
|
||||
}
|
||||
|
||||
// CUSTOMIZE MENU
|
||||
.dropdown-menu {
|
||||
margin: -1px 0 0 0;
|
||||
padding: 0;
|
||||
border: 1px solid @o-we-color-dark;
|
||||
border-radius: 0;
|
||||
background-color: @o-we-color-light;
|
||||
a {
|
||||
color: @o-we-color-text-light;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
padding: 5px 20px;
|
||||
}
|
||||
|
||||
> li {
|
||||
position: relative;
|
||||
&:hover {
|
||||
background-color: fadeOut(@o-we-color-dark, 50%);
|
||||
> a {
|
||||
color: white;
|
||||
background: transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
> .dropdown-menu {
|
||||
display: block;
|
||||
left: 100%;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
&.dropdown-submenu:before {
|
||||
.o-position-absolute(@top: 10px, @right: 10px);
|
||||
.o-caret-right(3px);
|
||||
border-left-color: @o-we-color-text-light;
|
||||
}
|
||||
&.divider {
|
||||
background-color: @o-we-color-divider;
|
||||
margin: 0;
|
||||
}
|
||||
&.active > a {
|
||||
color: white;
|
||||
background-color: fadeOut(@o-we-color-dark, 50%);
|
||||
&:before {
|
||||
.o-position-absolute(@top: 5px, @left: 5px);
|
||||
content: "\f00c";
|
||||
font-family: "FontAwesome";
|
||||
color: @odoo-brand-optional;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.o_top_cover > .oe_overlay_options {
|
||||
bottom: auto;
|
||||
top: @odoo-handle-border-width;
|
||||
right: @odoo-handle-border-width;
|
||||
}
|
||||
|
||||
// HANDLES
|
||||
> .oe_handles {
|
||||
@o-handles-offset-to-hide: 10000px;
|
||||
.o-position-absolute(-@o-handles-offset-to-hide, 0, auto, 0);
|
||||
|
||||
> .oe_handle {
|
||||
@o-handle-size: 18px;
|
||||
|
||||
opacity: 0.5;
|
||||
.o-transition(opacity, 400ms);
|
||||
&:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
border: 0 dashed black;
|
||||
|
||||
&:after {
|
||||
display: block;
|
||||
width: @o-handle-size;
|
||||
height: @o-handle-size;
|
||||
border: solid 1px rgba(0, 0, 0, 0.2);
|
||||
line-height: @o-handle-size - 2;
|
||||
font-size: 14px;
|
||||
font-family: FontAwesome;
|
||||
background-color: @o-we-color-light;
|
||||
color: @o-we-color-text-light;
|
||||
}
|
||||
&:hover:after {
|
||||
background-color: @o-we-color-dark;
|
||||
color: white;
|
||||
box-shadow: 0 0 5px 3px rgba(255,255,255,0.7);
|
||||
}
|
||||
&.w:after, &.e:after {
|
||||
content: "\f07e";
|
||||
}
|
||||
&.s:after, &.n:after {
|
||||
content: "\f07d";
|
||||
}
|
||||
|
||||
&.w {
|
||||
border-left-width: @odoo-handle-border-width;
|
||||
cursor: e-resize;
|
||||
width: @odoo-handle-edge-size;
|
||||
.o-position-absolute(@o-handles-offset-to-hide, auto, -@o-handles-offset-to-hide, 0);
|
||||
|
||||
&:after {
|
||||
.o-position-absolute(@top: 50%, @left: -@odoo-handle-border-width);
|
||||
margin-top: -@o-handle-size/2;
|
||||
}
|
||||
}
|
||||
&.e {
|
||||
border-right-width: @odoo-handle-border-width;
|
||||
cursor: w-resize;
|
||||
width: @odoo-handle-edge-size;
|
||||
.o-position-absolute(@o-handles-offset-to-hide, 0, -@o-handles-offset-to-hide, auto);
|
||||
|
||||
&:after {
|
||||
.o-position-absolute(@top: 50%, @right: -@odoo-handle-border-width);
|
||||
margin-top: -@o-handle-size/2;
|
||||
}
|
||||
}
|
||||
&.n {
|
||||
border-top-width: @odoo-handle-border-width;
|
||||
cursor: s-resize;
|
||||
height: @odoo-handle-edge-size;
|
||||
.o-position-absolute(@o-handles-offset-to-hide, 0, auto, 0);
|
||||
|
||||
&:after {
|
||||
.o-position-absolute(@left: 50%, @top: -@odoo-handle-border-width);
|
||||
margin-left: -@o-handle-size/2;
|
||||
}
|
||||
}
|
||||
&.s {
|
||||
border-bottom-width: @odoo-handle-border-width;
|
||||
cursor: n-resize;
|
||||
height: @odoo-handle-edge-size;
|
||||
.o-position-absolute(auto, 0, -@o-handles-offset-to-hide, 0);
|
||||
|
||||
&:after {
|
||||
.o-position-absolute(@left: 50%, @bottom: -@odoo-handle-border-width);
|
||||
margin-left: -@o-handle-size/2;
|
||||
}
|
||||
}
|
||||
|
||||
// SIZE HANDLERS
|
||||
&.size {
|
||||
@o-handle-size-height: 15px;
|
||||
|
||||
height: 0;
|
||||
background: transparent;
|
||||
.o-position-absolute(@bottom: -@o-handles-offset-to-hide + @o-handle-size-height, @left: 50%);
|
||||
width: 250px;
|
||||
margin-left: -125px;
|
||||
|
||||
> .oe_handle_button {
|
||||
display: block;
|
||||
width: 100px;
|
||||
height: @o-handle-size-height;
|
||||
padding-top: 2px;
|
||||
font-weight: 600;
|
||||
font-size: 9px;
|
||||
text-transform: uppercase;
|
||||
background-color: @o-we-color-light;
|
||||
color: @o-we-color-text-light;
|
||||
&:hover {
|
||||
background-color: @o-we-color-dark;
|
||||
color: white;
|
||||
}
|
||||
&.auto_size {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
}
|
||||
&.size {
|
||||
cursor: row-resize;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.readonly {
|
||||
cursor: auto !important;
|
||||
|
||||
&:after, &.size {
|
||||
display: none !important;
|
||||
}
|
||||
&:hover {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// HANDLERS ICONS
|
||||
&.block-w-left .w:after {
|
||||
content: "" !important;
|
||||
}
|
||||
&.block-w-right .w:after {
|
||||
content: "" !important;
|
||||
}
|
||||
&.block-w-left.block-w-right .w:after {
|
||||
display: none !important;
|
||||
}
|
||||
&.block-e-left .e:after {
|
||||
content: "" !important;
|
||||
}
|
||||
&.block-e-right .e:after {
|
||||
content: "" !important;
|
||||
}
|
||||
&.block-e-left.block-e-right .e:after {
|
||||
display: none !important;
|
||||
}
|
||||
&.block-s-top .s:after {
|
||||
content: "" !important;
|
||||
}
|
||||
&.block-s-bottom .s:after {
|
||||
content: "" !important;
|
||||
}
|
||||
&.block-n-top .n:after {
|
||||
content: "" !important;
|
||||
}
|
||||
&.block-n-bottom .n:after {
|
||||
content: "" !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.s-resize-important * {
|
||||
cursor: s-resize !important;
|
||||
}
|
||||
.n-resize-important * {
|
||||
cursor: n-resize !important;
|
||||
}
|
||||
.e-resize-important * {
|
||||
cursor: e-resize !important;
|
||||
}
|
||||
.w-resize-important * {
|
||||
cursor: w-resize !important;
|
||||
}
|
||||
.move-important * {
|
||||
cursor: move !important;
|
||||
}
|
||||
|
||||
.block-s-top .s,
|
||||
.block-s-bottom .s,
|
||||
.block-n-top .n,
|
||||
.block-n-bottom .n,
|
||||
.block-w-left .w,
|
||||
.block-e-right .e {
|
||||
&:before {
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE EDITOR
|
||||
.note-popover .popover {
|
||||
height: @odoo-navbar-height;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
padding: 0;
|
||||
margin: 0 0 0 @o-we-sidebar-width;
|
||||
background-color: @o-we-color-dark;
|
||||
border-radius: 0;
|
||||
border-width: 0 1px;
|
||||
width: auto;
|
||||
text-align: center;
|
||||
box-shadow: none;
|
||||
.popover-content {
|
||||
height: @odoo-navbar-height;
|
||||
.btn {
|
||||
height: @odoo-navbar-height;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
background-color: @o-we-color-dark;
|
||||
color: @o-we-color-text-normal;
|
||||
border-top: 2px solid transparent;
|
||||
.o-transition(all, 0.3s);
|
||||
&:hover {
|
||||
border-top: 2px solid @o-we-color-text-normal;
|
||||
color: @o-we-color-text-normal;
|
||||
}
|
||||
}
|
||||
.btn.active {
|
||||
border-top: 2px solid white;
|
||||
background-color: @o-we-color-dark;
|
||||
color: @o-we-color-text-light;
|
||||
box-shadow: inset 0 3px 10px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
>.btn-group {
|
||||
margin-top: -2px
|
||||
}
|
||||
.btn-group.open .dropdown-toggle {
|
||||
border-top: 2px solid white;
|
||||
background-color: @o-we-color-darker;
|
||||
color: white;
|
||||
box-shadow: none;
|
||||
}
|
||||
.dropdown-menu {
|
||||
margin: 0;
|
||||
border-radius: 0;
|
||||
background-color: @o-we-color-darker;
|
||||
> li > a {
|
||||
width: 100%;
|
||||
color: @o-we-color-text-light;
|
||||
&:hover {
|
||||
background-color: @o-we-tab-active-bg;
|
||||
color: white;
|
||||
}
|
||||
|
||||
> i {
|
||||
visibility: hidden;
|
||||
}
|
||||
&.checked > i {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
#colors_preview {
|
||||
padding: 4px;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #989898;
|
||||
border-color: fadeOut(@o-we-color-text-normal, 0.5);
|
||||
}
|
||||
.note-color-palette td > button, .note-color-palette div .note-color-btn {
|
||||
border-color: fadeOut(white, 50%);
|
||||
border-radius: 0;
|
||||
margin: 1px;
|
||||
}
|
||||
|
||||
// COLORPICKER
|
||||
.note-color {
|
||||
.dropdown-toggle {
|
||||
width: auto;
|
||||
}
|
||||
.o_foreground_toggle > button:before {
|
||||
font-family: FontAwesome;
|
||||
content: '\f1fc';
|
||||
}
|
||||
.o_background_toggle > button:before {
|
||||
font-family: FontAwesome;
|
||||
content: '\f0c3';
|
||||
}
|
||||
|
||||
border: 1px solid @o-we-color-divider;
|
||||
border-width: 0 1px;
|
||||
.dropdown-menu {
|
||||
min-width: 250px!important;
|
||||
padding: 0!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
table.colorpicker {
|
||||
width: 100%;
|
||||
td {
|
||||
padding: 0 2px 2px 0;
|
||||
> button {
|
||||
width: 100%;
|
||||
border: 1px solid black;
|
||||
padding: 0;
|
||||
&::after {
|
||||
content: "A";
|
||||
font-weight: bold;
|
||||
vertical-align: sub;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.colorpicker {
|
||||
background-color: @o-we-color-dark!important;
|
||||
|
||||
.o_colorpicker_sections {
|
||||
border: 1px solid darken(@o-we-color-dark, 12%);
|
||||
border-width: 1px 0 0;
|
||||
font-size: 14px;
|
||||
|
||||
.o_colorpicker_section_menu {
|
||||
width: 50px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
|
||||
> li {
|
||||
display: block;
|
||||
float: none;
|
||||
margin: 0;
|
||||
background-color: transparent;
|
||||
> a {
|
||||
display: block;
|
||||
padding: 5px 10px!important;
|
||||
border-radius: 0;
|
||||
background-color: transparent;
|
||||
color: darken(@o-we-color-text-light, 10%);
|
||||
> i.fa {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
&:focus, &:active, &:focus:active {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
&:hover, &.active {
|
||||
> a {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
&.active > a {
|
||||
background-color: @o-we-tab-active-bg!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.o_colorpicker_section_tabs {
|
||||
width: 200px;
|
||||
height: 100%;
|
||||
margin-left: 50px;
|
||||
.tab-pane {
|
||||
padding: 5px 10px;
|
||||
background-color: @o-we-tab-active-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
.o_colorpicker_section {
|
||||
&:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
> button {
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
border: 1px solid @o-we-color-dark;
|
||||
border-radius: 3px;
|
||||
margin: 0 0 5px;
|
||||
padding: 0 20px;
|
||||
line-height: 28px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
&:hover, &.selected {
|
||||
box-shadow: 0px 0px 2px 2px @o-we-color-light;
|
||||
}
|
||||
&.selected:before {
|
||||
content: "\f00c";
|
||||
font-family: "FontAwesome";
|
||||
color: @odoo-brand-optional;
|
||||
.o-position-absolute(@top: 0, @left: 3px);
|
||||
font-size: 13px;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "A";
|
||||
.o-position-absolute(0, 0);
|
||||
width: 25px;
|
||||
text-align: center;
|
||||
line-height: 28px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
&[data-event="foreColor"] {
|
||||
background-color: @o-we-color-normal;
|
||||
&:after {
|
||||
background-color: fade(white, 30%);
|
||||
}
|
||||
}
|
||||
|
||||
&.o_small {
|
||||
float: left;
|
||||
width: auto;
|
||||
min-width: 27px;
|
||||
padding: 0;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.note-palette-title {
|
||||
padding: 10px 0px 10px 10px;
|
||||
color: @o-we-color-text-light;
|
||||
font-weight: bold;
|
||||
}
|
||||
.palette-reset {
|
||||
.o-position-absolute(0, 0);
|
||||
margin: 0;
|
||||
padding: 5px 10px 0;
|
||||
.note-color-reset {
|
||||
font-size: 20px!important;
|
||||
margin: 3px 0 0;
|
||||
padding: 0;
|
||||
&:hover {
|
||||
background: transparent!important;
|
||||
color: @o-we-color-danger;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ENTER IN EDIT MODE
|
||||
body.editor_enable {
|
||||
padding-top: @odoo-navbar-height!important;
|
||||
|
||||
#web_editor-top-edit {
|
||||
background-color: @o-we-color-dark;
|
||||
form.navbar-form {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.editor_has_snippets {
|
||||
.o-transition(padding-left, 400ms, @o-we-md-ease);
|
||||
padding-left: @o-we-sidebar-width!important;
|
||||
|
||||
#oe_snippets {
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#web_editor_inside_iframe {
|
||||
background-color: @odoo-brand-secondary;
|
||||
|
||||
#editable_area {
|
||||
font: inherit !important;
|
||||
line-height: inherit !important;
|
||||
color: inherit !important;
|
||||
|
||||
p {
|
||||
margin: initial;
|
||||
}
|
||||
a, a:hover {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
&.editor_enable #wrapwrap {
|
||||
height: 100%;
|
||||
padding-top: @odoo-navbar-height;
|
||||
> main {
|
||||
height: 100%;
|
||||
#editable_area {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
max-width: 600px;
|
||||
min-height: 100%;
|
||||
margin: auto;
|
||||
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
.note-color-palette .colorpicker {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
|
||||
@o-we-color-dark: #2c2c36;
|
||||
@o-we-color-darker: darken(@o-we-color-dark, 2%);
|
||||
@o-we-color-divider: #33363e;
|
||||
@o-we-color-light: #4e525b;
|
||||
@o-we-color-normal: #50545d;
|
||||
@o-we-color-paper: #fbfbfd;
|
||||
@o-we-color-text-normal: #999999;
|
||||
@o-we-color-text-light: #d4d5d7;
|
||||
@o-we-color-danger: #e6586c;
|
||||
|
||||
@o-we-sidebar-width: 210px;
|
||||
|
||||
@o-we-tab-active-bg: #3D4048;
|
||||
|
||||
// Transitions
|
||||
@o-we-md-ease: cubic-bezier(0.19, 1, 0.22, 1);
|
||||
|
||||
// Animations
|
||||
@-webkit-keyframes fadeInDownSmall {
|
||||
0% {
|
||||
opacity: 0;
|
||||
.translate(0, -5px);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
@keyframes fadeInDownSmall {
|
||||
0% {
|
||||
opacity: 0;
|
||||
.translate(0, -5px);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
.translate(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes fadeInOut {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
25% {
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
@keyframes fadeInOut {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
25% {
|
||||
opacity: 1;
|
||||
}
|
||||
75% {
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes inputHighlighter {
|
||||
from { background: @odoo-brand-optional; }
|
||||
to { width: 0; background: transparent; }
|
||||
}
|
||||
@keyframes inputHighlighter {
|
||||
from { background: @odoo-brand-optional; }
|
||||
to { width: 0; background: transparent; }
|
||||
}
|
||||
@@ -1,38 +1,147 @@
|
||||
<templates id="template" xml:space="preserve">
|
||||
<t t-name="web_editor.editorbar">
|
||||
<div id="web_editor-top-edit" class="o_css_editor navbar navbar-inverse navbar-fixed-top hidden-xs">
|
||||
<div id="web_editor-top-edit" class="o_css_editor">
|
||||
<div id="web_editor-toolbars"/>
|
||||
<form class="navbar-form text-muted">
|
||||
<button type="button" data-action="save"
|
||||
class="btn btn-primary btn-xs">Save</button>
|
||||
<span> or </span>
|
||||
<a href="#" data-action="cancel" class="btn btn-link btn-xs">Discard</a>
|
||||
<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>
|
||||
|
||||
<t t-name="web_editor.dialog">
|
||||
<div class="modal web_editor-dialog" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal o_website_modal web_editor-dialog" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3 class="modal-title"><t t-esc="title"/></h3>
|
||||
<h3 class="modal-title">
|
||||
<t t-esc="title"/>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<t t-raw="0"/>
|
||||
</div>
|
||||
<div class="modal-body"><t t-raw="0"/></div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary save" t-if="!button">Save</button>
|
||||
<button type="button" class="btn btn-primary save" t-if="button"><t t-raw="button"/></button>
|
||||
<button type="button" class="btn hidden wait" disabled="disabled"/>
|
||||
<span> or </span>
|
||||
<a href="#" data-dismiss="modal" aria-hidden="true">Discard</a>
|
||||
<button class="btn btn-sm btn-primary save" t-if="!button" type="button">Save</button>
|
||||
<button class="btn btn-sm btn-primary save" t-if="button" type="button"><t t-raw="button"/></button>
|
||||
<button class="btn hidden wait" disabled="disabled" type="button"/>
|
||||
<a class="btn btn-sm btn-default" data-dismiss="modal" href="#" aria-hidden="true">Discard</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
<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">
|
||||
<a class="help-control collapsed" role="button" data-toggle="collapse" href="#cover_help" aria-expanded="false" aria-controls="cover_help"><span class="fa fa-question-circle"/></a>
|
||||
<div class="help collapse" id="cover_help">
|
||||
<div class="simulator cover_bg">
|
||||
<div class="bg"/>
|
||||
<div class="el"/>
|
||||
</div>
|
||||
<p class="help-text">Scale the image to be as large as it needs to fill the whole content area. Part of the image may not be visible.</p>
|
||||
</div>
|
||||
|
||||
<p><strong>Assigning a focal point to ensure that the targeted area will be always visible</strong></p>
|
||||
<div class="o_bg_img_opt_cover_edition">
|
||||
<h6>Click on the picture</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">
|
||||
<a class="help-control collapsed" role="button" data-toggle="collapse" href="#contain_help" aria-expanded="false" aria-controls="contain_help"><span class="fa fa-question-circle"/></a>
|
||||
<div class="help collapse" id="contain_help">
|
||||
<div class="simulator contain_bg">
|
||||
<div class="bg"/>
|
||||
<div class="el"/>
|
||||
</div>
|
||||
<p class="help-text">Scale the image to the largest size such that both its width and height can fit inside the content area</p>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
<t t-name="web_editor.dialog.media">
|
||||
<div class="modal note-image-dialog" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog select-media">
|
||||
<div class="modal note-image-dialog o_website_modal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg o_select_media_dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
@@ -44,38 +153,37 @@
|
||||
<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" style="float: right;">
|
||||
<li class="search">
|
||||
<ul class="pager mb0 mt0">
|
||||
<li class="previous disabled"><a href="#">← Previous</a></li>
|
||||
<li class="next disabled"><a href="#">Next →</a></li>
|
||||
<li class="previous disabled">
|
||||
<a href="#">← Previous</a>
|
||||
</li>
|
||||
<li class="next disabled">
|
||||
<a href="#">Next →</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="search" style="float: right;">
|
||||
<li class="search">
|
||||
<form action="#">
|
||||
<div class="form-group font-icons fa fa-search mb0">
|
||||
<input type="search" class="form-control" id="icon-search"/>
|
||||
<div class="form-group">
|
||||
<input class="form-control" id="icon-search" type="search"/>
|
||||
<span class="fa fa-search"/>
|
||||
</div>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade in active" id="editor-media-image">
|
||||
</div>
|
||||
<div class="tab-pane fade" id="editor-media-document">
|
||||
</div>
|
||||
<div class="tab-pane fade" id="editor-media-icon">
|
||||
</div>
|
||||
<div class="tab-pane fade" id="editor-media-video">
|
||||
</div>
|
||||
<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>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary save">Save</button>
|
||||
<button type="button" class="btn hidden wait" disabled="disabled"/>
|
||||
or
|
||||
<a href="#" data-dismiss="modal" aria-hidden="true">Discard</a>
|
||||
<button class="btn btn-sm btn-primary save" type="button">Save</button>
|
||||
<button class="btn btn-sm hidden wait" disabled="disabled" type="button"/>
|
||||
<a class="btn btn-sm btn-default" data-dismiss="modal" href="#" aria-hidden="true">Discard</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -94,22 +202,24 @@
|
||||
<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 type="button" class="btn btn-primary filepicker">Upload an image from your computer</button>
|
||||
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
<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 href="#" class="js_disable_optimization">Upload image without optimization</a></li>
|
||||
<li>
|
||||
<a class="js_disable_optimization" href="#">Upload image without optimization</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<button type="button" class="btn hidden wait" disabled="disabled">Uploading...</button>
|
||||
<button class="btn hidden wait" disabled="disabled" type="button">Uploading...</button>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-muted"> — or — </span>
|
||||
<span class="text-muted">— or — </span>
|
||||
<label for="iamgeurl">Add an image URL</label>
|
||||
<div class="form-group btn-group">
|
||||
<input type="text" name="url" class="form-control url pull-left" style="width: 320px;" id="iamgeurl" placeholder="http://openerp.com/logo.png"/>
|
||||
<input class="form-control url pull-left" id="iamgeurl" name="url" placeholder="http://openerp.com/logo.png" style="width: 320px;" type="text"/>
|
||||
<button class="btn btn-default" type="submit">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -121,7 +231,7 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<iframe src="about:blank" name="fileframe" class="hidden"/>
|
||||
<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">
|
||||
@@ -136,7 +246,7 @@
|
||||
<div class="help-block"/>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" data-dismiss="modal" aria-hidden="true">Discard</a>
|
||||
<a data-dismiss="modal" href="#" aria-hidden="true">Discard</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -144,10 +254,9 @@
|
||||
</t>
|
||||
<t t-name="web_editor.dialog.image.existing.content">
|
||||
<div class="existing-attachments">
|
||||
<div class="row mt16" t-foreach="rows" t-as="row">
|
||||
<div class="col-sm-2 existing-attachment-cell"
|
||||
t-foreach="row" t-as="attachment">
|
||||
<i class="fa fa-times existing-attachment-remove" t-att-data-id="attachment.id"/>
|
||||
<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 class="fa fa-times o_existing_attachment_remove" t-att-data-id="attachment.id"/>
|
||||
<div class="o_attachment_border"><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>
|
||||
@@ -157,7 +266,7 @@
|
||||
<div class="help-block">
|
||||
<p>The image could not be deleted because it is used in the
|
||||
following pages or views:</p>
|
||||
<ul t-foreach="views" t-as="view">
|
||||
<ul t-as="view" t-foreach="views">
|
||||
<li>
|
||||
<a t-attf-href="/web#model=ir.ui.view&id=#{view.id}">
|
||||
<t t-esc="view.name"/>
|
||||
@@ -166,9 +275,8 @@
|
||||
</ul>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<t t-name="web_editor.discard">
|
||||
<div class="modal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal o_website_modal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
@@ -176,38 +284,36 @@
|
||||
<h3 class="modal-title">Discard edition</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
If you discard the current edition, <em>all</em>
|
||||
unsaved changes will be lost.
|
||||
</p>
|
||||
<p>If you discard the current edition, <em>all</em> unsaved changes will be lost.</p>
|
||||
<p>You can cancel to return to the edition mode.</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger">Discard</button>
|
||||
or
|
||||
<a href="#" data-dismiss="modal" aria-hidden="true">Cancel</a>
|
||||
<button class="btn btn-sm btn-danger" type="button">Discard</button>
|
||||
<a class="btn btn-sm btn-default" data-dismiss="modal" href="#" aria-hidden="true">Cancel</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<t t-name="web_editor.dialog.alt">
|
||||
<t t-call="web_editor.dialog">
|
||||
<t t-set="title">Change media Alt and Title</t>
|
||||
<t t-set="title">Change media description and tooltip</t>
|
||||
<form action="#" class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label for="alt" class="col-sm-2 control-label">Alt:</label>
|
||||
<div class="col-sm-9"><input id="alt" type="text" class="form-control" required="required" t-att-value="widget.alt"/></div>
|
||||
<label class="col-sm-2 control-label" for="alt">Description</label>
|
||||
<div class="col-sm-9">
|
||||
<input class="form-control" id="alt" required="required" t-att-value="widget.alt" type="text"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="title" class="col-sm-2 control-label">Title:</label>
|
||||
<div class="col-sm-9"><input id="title" type="text" class="form-control" required="required" t-att-value="widget.title"/></div>
|
||||
<label class="col-sm-2 control-label" for="title">Tooltip</label>
|
||||
<div class="col-sm-9">
|
||||
<input class="form-control" id="title" required="required" t-att-value="widget.title" type="text"/>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</t>
|
||||
</t>
|
||||
|
||||
<t t-name="web_editor.dialog.font-icons">
|
||||
<form action="#">
|
||||
<input type="hidden" id="fa-icon"/>
|
||||
@@ -220,61 +326,40 @@
|
||||
</form>
|
||||
</t>
|
||||
<t t-name="web_editor.dialog.font-icons.icons">
|
||||
<t t-foreach="iconsParser" t-as="data">
|
||||
<span t-foreach="data.cssData" t-as="cssData"
|
||||
t-attf-class="#{data.base} font-icons-icon #{cssData[2]}"
|
||||
t-attf-data-alias=",#{cssData[3]},"
|
||||
t-att-title="cssData[3].join(', ')"
|
||||
t-att-data-id="cssData[2]"/>
|
||||
<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>
|
||||
|
||||
<t t-name="web_editor.dialog.video">
|
||||
<form action="#" class="form-inline">
|
||||
<div class="well">
|
||||
<div class="form-group btn-group">
|
||||
<span class="text-muted pull-right" style="margin-left:10px; line-height: 2em;">(Youtube, Vimeo, Dailymotion)</span>
|
||||
<label for="urlvideo" style="width: 220px; line-height: 2em;" class="pull-left">Set a video URL</label>
|
||||
<input type="text"
|
||||
name="url"
|
||||
class="form-control url pull-left"
|
||||
style="width: 400px;"
|
||||
id="urlvideo"
|
||||
placeholder="//www.youtube.com/embed/yws1tbgNV7k"
|
||||
t-translation="off"/>
|
||||
<label class="pull-left" for="urlvideo" style="width: 220px; line-height: 2em;">Set a video URL</label>
|
||||
<input class="form-control url pull-left" id="urlvideo" name="url" placeholder="//www.youtube.com/embed/yws1tbgNV7k" style="width: 400px;" t-translation="off" type="text"/>
|
||||
<button class="btn btn-default">Preview</button>
|
||||
</div>
|
||||
<div class="form-group btn-group">
|
||||
<label for="urlvideo" style="width: 220px; line-height: 2em;" class="pull-left"><span class="text-muted">— or —</span> Embed Video (HTML)</label>
|
||||
<input type="text"
|
||||
name="embed"
|
||||
class="form-control url pull-left"
|
||||
style="width: 400px;"
|
||||
id="embedvideo"
|
||||
placeholder='<iframe src="//www.youtube.com/embed/yws1tbgNV7k"></iframe>'
|
||||
t-translation="off"/>
|
||||
<label class="pull-left" for="urlvideo" style="width: 220px; line-height: 2em;">
|
||||
<span class="text-muted">— or —</span>Embed Video (HTML)</label>
|
||||
<input class="form-control url pull-left" id="embedvideo" name="embed" placeholder="<iframe src="//www.youtube.com/embed/yws1tbgNV7k"></iframe>" style="width: 400px;" t-translation="off" type="text"/>
|
||||
<button class="btn btn-default">Preview</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="video-preview" style="width: 450px; margin: 0 auto;">
|
||||
<div class="media_iframe_video">
|
||||
<div class="media_iframe_video_size"></div>
|
||||
<iframe
|
||||
src=""
|
||||
frameborder="0"
|
||||
allowfullscreen="allowfullscreen"></iframe>
|
||||
<div class="media_iframe_video_size"/>
|
||||
<iframe allowfullscreen="allowfullscreen" frameborder="0" src=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mt32">
|
||||
<div class="checkbox">
|
||||
<label><input type="checkbox" id="autoplay"/> Autoplay</label>
|
||||
<label>
|
||||
<input id="autoplay" type="checkbox"/>Autoplay</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</t>
|
||||
|
||||
<t t-name="web_editor.dialog.link">
|
||||
<t t-call="web_editor.dialog">
|
||||
<t t-set="title">Link to</t>
|
||||
@@ -282,78 +367,85 @@
|
||||
<div class="list-group">
|
||||
<div class="form-group list-group-item active">
|
||||
<h3 class="list-group-item-heading">
|
||||
<label for="link-new" class="control-label">
|
||||
Link Label
|
||||
<label class="control-label" for="link-new">Link Label
|
||||
</label>
|
||||
</h3>
|
||||
<input type="text" class="form-control" id="link-text" required="required"/>
|
||||
<input class="form-control" id="link-text" required="required" type="text"/>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item form-group clearfix active">
|
||||
<div class="pull-right" style="display: none;">
|
||||
<label>
|
||||
<input type="checkbox" class="window-new"/>
|
||||
Open in new window
|
||||
</label>
|
||||
<input class="window-new" type="checkbox"/>Open in new window</label>
|
||||
</div>
|
||||
<h4 class="list-group-item-heading">
|
||||
<label for="link-external" class="control-label">
|
||||
URL or Email Address
|
||||
<label class="control-label" for="link-external">URL or Email Address
|
||||
</label>
|
||||
</h4>
|
||||
<input type="text" class="form-control url email-address url-source"
|
||||
id="link-external" placeholder="http://openerp.com"/>
|
||||
<input class="form-control url email-address url-source" id="link-external" placeholder="http://openerp.com" type="text"/>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="form-horizontal link-style">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">
|
||||
Style
|
||||
<label class="col-sm-2 control-label">Style
|
||||
</label>
|
||||
<div class="col-sm-4">
|
||||
<div class="dropdown" style="line-height: 2em;">
|
||||
<a data-toggle="dropdown" class="btn btn-default" href="#">Color Style <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
|
||||
<a class="btn btn-default" data-toggle="dropdown" href="#">Color Style
|
||||
<span class="caret"/></a>
|
||||
<ul aria-labelledby="dLabel" class="dropdown-menu" role="menu">
|
||||
<li>
|
||||
<label class="btn btn-link">Link<input value="" class="link-style" type="radio" name="link-style-type" checked="checked"/></label>
|
||||
<label class="btn btn-link">Link
|
||||
<input checked="checked" class="link-style" name="link-style-type" type="radio" value=""/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-default">Basic<input value="btn-default" class="link-style" type="radio" name="link-style-type"/></label>
|
||||
<label class="btn btn-default">Basic
|
||||
<input class="link-style" name="link-style-type" type="radio" value="btn-default"/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-success">Success<input value="btn-success" class="link-style" type="radio" name="link-style-type"/></label>
|
||||
<label class="btn btn-success">Success
|
||||
<input class="link-style" name="link-style-type" type="radio" value="btn-success"/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-primary">Primary<input value="btn-primary" class="link-style" type="radio" name="link-style-type"/></label>
|
||||
<label class="btn btn-primary">Primary
|
||||
<input class="link-style" name="link-style-type" type="radio" value="btn-primary"/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-info">Info<input value="btn-info" class="link-style" type="radio" name="link-style-type"/></label>
|
||||
<label class="btn btn-info">Info
|
||||
<input class="link-style" name="link-style-type" type="radio" value="btn-info"/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-warning">Warning<input value="btn-warning" class="link-style" type="radio" name="link-style-type"/></label>
|
||||
<label class="btn btn-warning">Warning
|
||||
<input class="link-style" name="link-style-type" type="radio" value="btn-warning"/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-danger">Danger<input value="btn-danger" class="link-style" type="radio" name="link-style-type"/></label>
|
||||
<label class="btn btn-danger">Danger
|
||||
<input class="link-style" name="link-style-type" type="radio" value="btn-danger"/></label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="dropdown" style="line-height: 2em;">
|
||||
<a data-toggle="dropdown" class="btn btn-default" href="#">Size <span class="caret"></span></a>
|
||||
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
|
||||
<a class="btn btn-default" data-toggle="dropdown" href="#">Size
|
||||
<span class="caret"/></a>
|
||||
<ul aria-labelledby="dLabel" class="dropdown-menu" role="menu">
|
||||
<li>
|
||||
<label class="btn btn-default btn-xs">Extra Small<input value="btn-xs" class="link-style" type="radio" name="link-style-size"/></label>
|
||||
<label class="btn btn-default btn-xs">Extra Small
|
||||
<input class="link-style" name="link-style-size" type="radio" value="btn-xs"/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-default btn-sm">Small<input value="btn-sm" class="link-style" type="radio" name="link-style-size"/></label>
|
||||
<label class="btn btn-default btn-sm">Small
|
||||
<input class="link-style" name="link-style-size" type="radio" value="btn-sm"/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-default">Default<input value="" class="link-style" type="radio" name="link-style-size" checked="checked"/></label>
|
||||
<label class="btn btn-default">Default
|
||||
<input checked="checked" class="link-style" name="link-style-size" type="radio" value=""/></label>
|
||||
</li>
|
||||
<li>
|
||||
<label class="btn btn-default btn-lg">Large<input value="btn-lg" class="link-style" type="radio" name="link-style-size"/></label>
|
||||
<label class="btn btn-default btn-lg">Large
|
||||
<input class="link-style" name="link-style-size" type="radio" value="btn-lg"/></label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -362,12 +454,11 @@
|
||||
</div>
|
||||
<div class="form-horizontal link-style">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">
|
||||
Preview
|
||||
<label class="col-sm-2 control-label">Preview
|
||||
</label>
|
||||
<div class="col-sm-10" style="line-height: 2em;">
|
||||
<div style="overflow: auto; max-width: 100%; max-height: 200px;">
|
||||
<a id="link-preview" href="#"></a>
|
||||
<a href="#" id="link-preview"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -375,4 +466,11 @@
|
||||
</form>
|
||||
</t>
|
||||
</t>
|
||||
<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>
|
||||
</templates>
|
||||
|
||||
@@ -13,43 +13,30 @@
|
||||
</li>
|
||||
</t>
|
||||
|
||||
<t t-name="web_editor.snippets">
|
||||
<div id='oe_snippets' class="hidden-xs o_open">
|
||||
<div id="o_arrow">
|
||||
<span class="fa fa-angle-double-right fa-1x" style="top: 10px;"></span>
|
||||
<div>Insert Blocks</div>
|
||||
<span class="fa fa-angle-double-right fa-1x" style="bottom: 10px;"></span>
|
||||
</div>
|
||||
<div id="o_left_bar">
|
||||
<span class='snippets_loading'>Snippets are loading...</span>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
<t t-name="web_editor.snippet_overlay">
|
||||
<div class="oe_overlay">
|
||||
<div class="oe_handles">
|
||||
<div class="oe_handle n readonly"/>
|
||||
<div class="oe_handle e readonly"/>
|
||||
<div class="oe_handle w readonly"/>
|
||||
<div class="oe_handle s readonly"/>
|
||||
<div class="oe_handle size readonly">
|
||||
<div class="oe_handle_button auto_size">Auto Resize</div>
|
||||
<div class="oe_handle_button size">Resize</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="oe_overlay_options" contentEditable="false">
|
||||
<div class="btn-group">
|
||||
<a href="#" class="btn btn-default btn-sm oe_snippet_parent" title="Select Container Block"><i class="fa fa-upload"></i></a>
|
||||
<a href="#" class="btn btn-default btn-sm oe_snippet_parent" title="Select Container Block"><i class="fa fa-upload"/></a>
|
||||
<div class="dropdown oe_options hidden btn-group">
|
||||
<a href="#" data-toggle="dropdown" class="btn btn-primary btn-sm" title="Customize">Customize <span class="caret"/></a>
|
||||
<ul class="dropdown-menu" role="menu"></ul>
|
||||
<a href="#" data-toggle="dropdown" class="btn btn-primary btn-sm" title="Customize">Customize</a>
|
||||
<ul class="dropdown-menu" role="menu"/>
|
||||
</div>
|
||||
<a href="#" class="btn btn-default btn-sm oe_snippet_move" title="Drag to Move"><i class="fa fa-arrows ml4 mr4"></i></a>
|
||||
<a href="#" class="btn btn-default btn-sm oe_snippet_clone" title="Duplicate Container"><i class="fa fa-files-o ml4 mr4"></i></a>
|
||||
<a href="#" class="btn btn-default btn-sm oe_snippet_remove" title="Remove Block"><i class="fa fa-trash-o ml4 mr4"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class='oe_handles'>
|
||||
<div class='oe_handle n readonly'><div></div></div>
|
||||
<div class='oe_handle e readonly'><div></div></div>
|
||||
<div class='oe_handle w readonly'><div></div></div>
|
||||
<div class='oe_handle size readonly'>
|
||||
<div class="oe_handle_button auto_size">Auto Resize</div>
|
||||
<div class="oe_handle_button size">Resize</div>
|
||||
</div>
|
||||
<div class='oe_handle s readonly'><div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
||||
@@ -57,8 +44,21 @@
|
||||
<div class='oe_snippet_manipulator'></div>
|
||||
</t>
|
||||
|
||||
<!-- t-field options -->
|
||||
<!-- options -->
|
||||
<div t-name="web_editor.snippet.option.colorpicker" class="colorpicker">
|
||||
<div class="note-palette-title">Background Color</div>
|
||||
<div class="btn-group palette-reset">
|
||||
<div class="note-color-reset" data-event="foreColor" data-value="inherit" title="None">
|
||||
<i class="fa fa-ban"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="o_colorpicker_sections">
|
||||
<ul class="nav nav-pills o_colorpicker_section_menu"/>
|
||||
<div class="tab-content o_colorpicker_section_tabs"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- t-field options -->
|
||||
<t t-name="web_editor.many2one.button">
|
||||
<div class="dropdown">
|
||||
<a href="#" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" title="Search Contact"><i class="fa fa-search"></i></a>
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
|
||||
<t t-name="web_editor.translator">
|
||||
<div id="web_editor-top-edit" class="o_css_editor o_translate navbar navbar-inverse navbar-fixed-top hidden-xs">
|
||||
<form class="navbar-form text-muted">
|
||||
<button type="button" data-action="save" class="btn btn-primary btn-xs">Save</button>
|
||||
<span>or</span>
|
||||
<a href="#" data-action="cancel" class="btn btn-link btn-xs">Discard</a>
|
||||
</form>
|
||||
</div>
|
||||
<t t-name="web_editor.translator" t-extend="web_editor.editorbar">
|
||||
<t t-jquery="#web_editor-top-edit">
|
||||
$(this).addClass('o_translate');
|
||||
</t>
|
||||
<t t-jquery="#web_editor-toolbars" t-operation="replace"/>
|
||||
</t>
|
||||
|
||||
<t t-name="web_editor.translator.attributes">
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
|
||||
<odoo>
|
||||
<template id="summernote" name="Summernote">
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
@@ -13,7 +12,7 @@
|
||||
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;
|
||||
@@ -50,67 +49,105 @@
|
||||
delete odoo.__define__;
|
||||
delete odoo.website_next_define;
|
||||
</script>
|
||||
|
||||
<!--link rel="stylesheet" href="/web_editor/static/lib/summernote/src/less/summernote.less"/-->
|
||||
<link rel="stylesheet" href="/web_editor/static/lib/summernote/summernote.css"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web_editor/static/lib/summernote/src/less/summernote.less"/>
|
||||
</template>
|
||||
|
||||
<template id="editor" name="Editor">
|
||||
<link rel='stylesheet' href='/web_editor/static/src/css/snippets.css'/>
|
||||
<link rel="stylesheet" href='/web_editor/static/src/css/editor.css'/>
|
||||
<script type="text/javascript" src='/web_editor/static/lib/nearest/jquery.nearest.js' />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/editor.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/rte.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/rte.summernote.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/widgets.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/snippets.editor.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/snippets.options.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/tour.rte.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/transcoder.js"></script>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/translator.js"></script>
|
||||
<template id="less_helpers" inherit_id="web.less_helpers">
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.variables.less"/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="assets_common" inherit_id="web.assets_common" name="web_editor base assets_common">
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" href='/web_editor/static/src/css/web_editor.css'/>
|
||||
<link rel="stylesheet" href='/web_editor/static/src/less/web_editor.less'/>
|
||||
<xpath expr="script[last()]" position="after">
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/base.js" />
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/snippets.animation.js" />
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="assets_editor" name="web_editor assets for editor">
|
||||
<t t-call="web.assets_common"/>
|
||||
<t t-call="web.bootstrap"/>
|
||||
<script type="text/javascript" src="/web/static/lib/select2/select2.js"></script>
|
||||
<t t-call="web_editor.summernote"/>
|
||||
<t t-call="web_editor.editor"/>
|
||||
</template>
|
||||
|
||||
<template id="assets_backend" name="web_editor assets for backend" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<t t-call="web_editor.summernote"/>
|
||||
<t t-call="web_editor.editor"/>
|
||||
<link rel="stylesheet" href="/web_editor/static/src/css/backend.css"/>
|
||||
<template id="assets_backend" inherit_id="web.assets_backend" name="web_editor assets for backend">
|
||||
<xpath expr="link[last()]" position="after">
|
||||
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.common.less"/> <!-- not in common because compiled diffently with context -->
|
||||
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.backend.less"/>
|
||||
</xpath>
|
||||
<xpath expr="script[last()]" position="after">
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/backend.js" />
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<!-- color-picker -->
|
||||
<!-- HTML class to hide option for one mode : only-text, only-bg -->
|
||||
|
||||
<template id="web_editor.colorpicker" name="Color-Picker">
|
||||
<table class="colorpicker">
|
||||
<tr>
|
||||
<td><button class="bg-primary" title="Primary Color"/></td>
|
||||
<td><button class="bg-success" title="Success Color"/></td>
|
||||
<td><button class="bg-info" title="Info Color"/></td>
|
||||
<td><button class="bg-warning" title="Warning Color"/></td>
|
||||
<td><button class="bg-danger" title="Danger Color"/></td>
|
||||
<!-- retrocompatibility v8 -->
|
||||
<td><button class="oe_dark" title="Light"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
<template id="assets_frontend" inherit_id="web.assets_frontend">
|
||||
<xpath expr="//link[last()]" position="after">
|
||||
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.common.less"/> <!-- not in common because compiled diffently with context -->
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</openerp>
|
||||
<template id="assets_editor" name="Full web_editor assets">
|
||||
<t t-call="web.less_helpers"/>
|
||||
|
||||
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.ui.less"/>
|
||||
<link rel="stylesheet" type="text/less" href="/web_editor/static/src/less/web_editor.ui.components.less"/>
|
||||
|
||||
<script type="text/javascript" src="/web_editor/static/lib/nearest/jquery.nearest.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/editor.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/rte.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/rte.summernote.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/widgets.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/snippets.editor.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/snippets.options.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/tour.rte.js"/>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/transcoder.js"></script>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/translator.js"></script>
|
||||
</template>
|
||||
|
||||
<template id="webclient_bootstrap" inherit_id="web.webclient_bootstrap">
|
||||
<xpath expr="//t[@t-call-assets='web.assets_backend'][@t-js='false']" position="after">
|
||||
<t t-call-assets="web_editor.summernote" t-js="false"/>
|
||||
<t t-call-assets="web_editor.assets_editor" t-js="false"/>
|
||||
</xpath>
|
||||
<xpath expr="//t[@t-call-assets='web.assets_backend'][@t-css='false']" position="after">
|
||||
<t t-call-assets="web_editor.summernote" t-css="false"/>
|
||||
<t t-call-assets="web_editor.assets_editor" t-css="false"/>
|
||||
</xpath>
|
||||
</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.
|
||||
-->
|
||||
<template id="web_editor.colorpicker" name="Color-Picker">
|
||||
<colorpicker>
|
||||
<div class="o_colorpicker_section" data-name="theme" data-icon-class="fa fa-flask">
|
||||
<button data-color="alpha">Alpha</button>
|
||||
<button data-color="beta">Beta</button>
|
||||
<button data-color="gamma">Gamma</button>
|
||||
<button data-color="delta">Delta</button>
|
||||
<button data-color="epsilon">Epsilon</button>
|
||||
</div>
|
||||
<div class="o_colorpicker_section" data-name="grayscale" data-icon-class="fa fa-database">
|
||||
<button data-color="white">White</button>
|
||||
<button data-color="gray-lighter">Gray Lighter</button>
|
||||
<button data-color="gray-light">Gray Light</button>
|
||||
<button data-color="gray">Gray</button>
|
||||
<button data-color="gray-dark">Gray Dark</button>
|
||||
<button data-color="gray-darker">Gray Darker</button>
|
||||
<button data-color="black">Black</button>
|
||||
</div>
|
||||
<div class="o_colorpicker_section" data-name="ui" data-icon-class="fa fa-paint-brush">
|
||||
<button data-color="primary">Primary</button>
|
||||
<button data-color="success">Success</button>
|
||||
<button data-color="info">Info</button>
|
||||
<button data-color="warning">Warning</button>
|
||||
<button data-color="danger">Danger</button>
|
||||
</div>
|
||||
</colorpicker>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
@@ -15,21 +15,20 @@
|
||||
var snippets_url = '<t t-esc="snippets or ''"/>';
|
||||
var callback = window.location.href.match(/callback=([^&=]+)/)[1];
|
||||
</script>
|
||||
<link t-if="enable_editor and inline_mode" rel="stylesheet" href="/web_editor/static/src/css/inline.css" type="text/css"/>
|
||||
<t t-if="not dont_load_assets">
|
||||
<t t-call-assets="web_editor.assets_editor"/>
|
||||
<style>
|
||||
.note-popover .popover { left: 5px !important; }
|
||||
html[data-translatable] .note-popover .popover { left: 150px !important; }
|
||||
</style>
|
||||
<t t-call-assets="web.assets_common" t-js="false"/>
|
||||
<t t-call-assets="web.assets_frontend" t-js="false"/>
|
||||
<t t-call-assets="web_editor.summernote" t-js="false"/>
|
||||
<t t-call-assets="web_editor.assets_editor" t-js="false"/>
|
||||
|
||||
<t t-call-assets="web.assets_common" t-css="false"/>
|
||||
<t t-call-assets="web_editor.summernote" t-css="false"/>
|
||||
<t t-call-assets="web_editor.assets_editor" t-css="false"/>
|
||||
|
||||
<script type="text/javascript" src="/web/static/src/js/framework/session_instance.js"></script>
|
||||
<script type="text/javascript" src="/web_editor/static/src/js/iframe.js"></script>
|
||||
<script t-if="enable_editor and inline_mode" type="text/javascript" src="/web_editor/static/src/js/inline.js"></script>
|
||||
</t>
|
||||
<script type="text/javascript">
|
||||
var snippets_url = '<t t-esc="snippets or ''"/>';
|
||||
var callback = window.location.href.match(/callback=([^&=]+)/)[1];
|
||||
</script>
|
||||
<script>
|
||||
if (window.top.odoo && !window.top.odoo[callback+"_updown"]) {
|
||||
window.top.odoo[callback+"_updown"] = function (value, fields_values) {
|
||||
|
||||
@@ -1,49 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<odoo>
|
||||
<template id="snippets">
|
||||
<ul id="snippets_menu">
|
||||
<li class="active">
|
||||
<a href="#snippet_structure" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="active">
|
||||
<a href="#snippet_structure" class="scroll-link">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fa fa-square fa-stack-2x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="o_scroll">
|
||||
<div id="snippet_structure" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<span class="fa-stack">
|
||||
<i class="fa fa-th-large fa-stack-1x"></i>
|
||||
</span> First Panel
|
||||
</div>
|
||||
<div class="o_panel_body">
|
||||
|
||||
<div id="o_scroll">
|
||||
<div id="snippet_structure" class="o_panel">
|
||||
<div class="o_panel_header">
|
||||
<i class="fa fa-th-large"/> First Panel
|
||||
</div>
|
||||
<div class="o_panel_body"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="snippet_options" class="hidden">
|
||||
<t t-call="web_editor.snippet_options"/>
|
||||
</div>
|
||||
<div id="snippet_options" class="hidden">
|
||||
<t t-call="web_editor.snippet_options"/>
|
||||
</div>
|
||||
</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="[data-oe-many2one-model]:not([data-oe-readonly])"
|
||||
data-no-check="true"/>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
}
|
||||
|
||||
// community
|
||||
#oe_main_menu_navbar {
|
||||
#oe_main_menu_navbar:not(.o_main_navbar) {
|
||||
.o_planner_systray {
|
||||
> .progress {
|
||||
margin-top: 10px;
|
||||
|
||||
@@ -317,7 +317,7 @@ class Website(openerp.addons.web.controllers.main.Home):
|
||||
set_active(enable, True)
|
||||
|
||||
if get_bundle:
|
||||
bundle = AssetsBundle('website.assets_frontend', cr=http.request.cr, uid=http.request.uid, context={}, registry=http.request.registry)
|
||||
bundle = AssetsBundle('web.assets_frontend', cr=http.request.cr, uid=http.request.uid, context={}, registry=http.request.registry)
|
||||
return bundle.to_html()
|
||||
|
||||
return True
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
@import "compass/css3"
|
||||
@import "compass/css3/user-interface"
|
||||
@import "compass/css3/transition"
|
||||
@import "compass/support"
|
||||
|
||||
//smartphones, iPhone, portrait 480x320 phones
|
||||
$smart_phone: 320px
|
||||
//portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide.*/
|
||||
$small-tablet: 481px
|
||||
//portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones
|
||||
$portrait-tablet: 641px
|
||||
//tablet, landscape iPad, lo-res laptops ands desktops
|
||||
$tablet: 961px
|
||||
//big landscape tablets, laptops, and desktops
|
||||
$desktop: 1025px
|
||||
|
||||
@mixin editor-font
|
||||
font-size: 14px
|
||||
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace
|
||||
line-height: normal
|
||||
|
||||
@mixin selection()
|
||||
::-moz-selection
|
||||
@content
|
||||
::selection
|
||||
@content
|
||||
|
||||
// Lifted from compass-animation
|
||||
// LICENSED UNDER THE MIT LICENSE (MIT)
|
||||
//
|
||||
// Copyright (c) 2012 Eric Meyer
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
@mixin set-experimental-support($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false)
|
||||
$experimental-support-for-mozilla: $moz
|
||||
$experimental-support-for-webkit: $webkit
|
||||
$experimental-support-for-microsoft: $ms
|
||||
$experimental-support-for-opera: $o
|
||||
$experimental-support-for-khtml: $khtml
|
||||
|
||||
@mixin with-only-support-for($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false)
|
||||
// Capture the current state
|
||||
$original-moz: $experimental-support-for-mozilla
|
||||
$original-webkit: $experimental-support-for-webkit
|
||||
$original-o: $experimental-support-for-opera
|
||||
$original-ms: $experimental-support-for-microsoft
|
||||
$original-khtml: $experimental-support-for-khtml
|
||||
|
||||
@include set-experimental-support($moz, $webkit, $ms, $o, $khtml)
|
||||
@content
|
||||
@include set-experimental-support($original-moz, $original-webkit, $original-ms, $original-o, $original-khtml)
|
||||
|
||||
@mixin keyframes($name)
|
||||
@-moz-keyframes #{$name}
|
||||
+with-only-support-for($moz: true)
|
||||
@content
|
||||
@-webkit-keyframes #{$name}
|
||||
+with-only-support-for($webkit: true)
|
||||
@content
|
||||
@-o-keyframes #{$name}
|
||||
+with-only-support-for($o: true)
|
||||
@content
|
||||
@keyframes #{$name}
|
||||
+with-only-support-for
|
||||
@content
|
||||
@@ -1,657 +0,0 @@
|
||||
/* ---- SummerNote Minimal Reset ---- {{{ */
|
||||
.note-popover .popover {
|
||||
position: fixed !important;
|
||||
top: -9px !important;
|
||||
right: auto !important;
|
||||
left: 300px !important;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
z-index: 1040;
|
||||
}
|
||||
.note-popover .popover-content {
|
||||
padding: 0 !important;
|
||||
margin: 0 0 0 6px !important;
|
||||
}
|
||||
.note-popover .popover-content > div {
|
||||
padding-top: 0 !important;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.note-popover .popover-content > a {
|
||||
border-radius: 3px;
|
||||
background-color: #fff;
|
||||
border-color: #ccc;
|
||||
padding: 4px 10px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.note-popover .popover-content .note-para .dropdown-menu {
|
||||
min-width: 148px !important;
|
||||
padding: 5px 0 5px 5px !important;
|
||||
}
|
||||
.note-popover .popover-content .note-ul .dropdown-menu {
|
||||
min-width: 150px !important;
|
||||
padding: 5px 0 5px 5px !important;
|
||||
}
|
||||
.note-popover .popover-content .note-ul .dropdown-menu .note-li {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.note-popover .popover-content > span {
|
||||
display: inline-block;
|
||||
max-width: 200px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
border-radius: 3px;
|
||||
background-color: white;
|
||||
border-color: #cccccc;
|
||||
padding: 4px 10px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.note-popover .popover-content .colorpicker {
|
||||
margin: 0;
|
||||
}
|
||||
.note-popover .popover-content .colorpicker td > * {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
.note-popover .popover .popover-content .dropdown-menu a {
|
||||
display: block;
|
||||
}
|
||||
.note-popover .arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.o_editable:not(:empty):not([data-oe-model="ir.ui.view"]):not([data-oe-type="html"]):hover, .o_editable[data-oe-type]:not([data-oe-model="ir.ui.view"]):not([data-oe-type="html"]):hover {
|
||||
/* to do change into primary color in less */
|
||||
-moz-box-shadow: #3071a9 0 0 5px 2px inset;
|
||||
-webkit-box-shadow: #3071a9 0 0 5px 2px inset;
|
||||
box-shadow: #3071a9 0 0 5px 2px inset;
|
||||
}
|
||||
.o_editable:focus, .o_editable[data-oe-type] {
|
||||
min-height: 0.8em;
|
||||
min-width: 8px;
|
||||
}
|
||||
.o_editable.o_is_inline_editable {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.editor_enable [data-oe-readonly]:hover {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* Summernote not Support for placeholder text https://github.com/summernote/summernote/issues/581 */
|
||||
.o_editable[placeholder]:empty:not(:focus):before {
|
||||
content: attr(placeholder);
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
/* Prevent the text contents of draggable elements from being selectable. */
|
||||
[draggable] {
|
||||
-moz-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Prevent firefox handler. */
|
||||
.o_editable .btn {
|
||||
-webkit-user-select: auto;
|
||||
-moz-user-select: auto;
|
||||
-ms-user-select: auto;
|
||||
user-select: auto;
|
||||
}
|
||||
|
||||
/* ---- OpenERP Style ---- {{{ */
|
||||
.oe_website_editorbar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 2px;
|
||||
margin: 0;
|
||||
z-index: 20000;
|
||||
background: #414141, url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY0NjA2MCIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzI2MjYyNiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
|
||||
background: #414141, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #646060), color-stop(100%, #262626));
|
||||
background: #414141, -moz-linear-gradient(#646060, #262626);
|
||||
background: #414141, -webkit-linear-gradient(#646060, #262626);
|
||||
background: #414141, linear-gradient(#646060, #262626);
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.oe_website_editorbar li {
|
||||
display: inline;
|
||||
color: #eee;
|
||||
}
|
||||
.oe_website_editorbar li:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
text-shadow: black 0px 0px 3px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.oe_website_editorbar .oe_rte_toolbar div.dropdown {
|
||||
display: inline-block;
|
||||
}
|
||||
.oe_website_editorbar .oe_rte_toolbar div.dropdown li {
|
||||
display: list-item;
|
||||
}
|
||||
.oe_website_editorbar .oe_rte_toolbar button {
|
||||
font-family: FontAwesome;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
.oe_website_editorbar .oe_rte_toolbar button.oe_button_list {
|
||||
padding-right: 3px;
|
||||
}
|
||||
.oe_website_editorbar .oe_rte_toolbar button.oe_button_list:after {
|
||||
content: "";
|
||||
padding-left: 6px;
|
||||
}
|
||||
|
||||
.oe_editable:focus {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
.css_editable_display {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.css_editable_hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.editor_enable .css_editable_mode_hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.editor_enable .css_non_editable_mode_hidden {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.o_editable .media_iframe_video .css_editable_mode_display {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child {
|
||||
background-image: url("/website/static/src/img/edit_here.png") !important;
|
||||
}
|
||||
.oe_structure.oe_empty:empty:before, [data-oe-type=html]:empty:before, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:before, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before {
|
||||
content: "Press The Top-Left Edit Button" !important;
|
||||
}
|
||||
|
||||
.o_editable.oe_structure.oe_empty > p:empty:only-child, .o_editable[data-oe-type=html] > p:empty:only-child {
|
||||
color: #aaa;
|
||||
}
|
||||
.o_editable.oe_structure.oe_empty:empty, .o_editable[data-oe-type=html]:empty, .o_editable.oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, .o_editable[data-oe-type=html] > .oe_drop_zone.oe_insert:only-child, .o_editable.oe_structure.oe_empty > p:empty:only-child, .o_editable[data-oe-type=html] > p:empty:only-child {
|
||||
background-image: none !important;
|
||||
}
|
||||
.o_editable.oe_structure.oe_empty:empty:before, .o_editable[data-oe-type=html]:empty:before, .o_editable.oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:before, .o_editable[data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before, .o_editable.oe_structure.oe_empty > p:empty:only-child:before, .o_editable[data-oe-type=html] > p:empty:only-child:before {
|
||||
content: "Write your text here" !important;
|
||||
}
|
||||
.o_editable.oe_structure.oe_empty:empty:focus:before, .o_editable[data-oe-type=html]:empty:focus:before, .o_editable.oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:focus:before, .o_editable[data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:focus:before, .o_editable.oe_structure.oe_empty > p:empty:only-child:focus:before, .o_editable[data-oe-type=html] > p:empty:only-child:focus:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#oe_snippets ~ #wrapwrap .oe_structure.oe_empty:empty, #oe_snippets ~ #wrapwrap [data-oe-type=html]:empty, #oe_snippets ~ #wrapwrap .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, #oe_snippets ~ #wrapwrap [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child {
|
||||
background-image: url("/website/static/src/img/drag_here.png") !important;
|
||||
}
|
||||
#oe_snippets ~ #wrapwrap .oe_structure.oe_empty:empty:before, #oe_snippets ~ #wrapwrap [data-oe-type=html]:empty:before, #oe_snippets ~ #wrapwrap .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child:before, #oe_snippets ~ #wrapwrap [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child:before {
|
||||
content: "Drag Building Blocks Here" !important;
|
||||
}
|
||||
|
||||
.oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child {
|
||||
background-image: none;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
height: 220px !important;
|
||||
}
|
||||
|
||||
[data-oe-type=html].oe_no_empty:empty:before {
|
||||
content: "" !important;
|
||||
}
|
||||
|
||||
[data-oe-type=html].oe_no_empty:empty {
|
||||
background-image: none !important;
|
||||
height: 16px !important;
|
||||
}
|
||||
|
||||
#website-top-edit {
|
||||
width: 100%;
|
||||
}
|
||||
#website-top-edit > ul > li {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#website-top-navbar {
|
||||
min-height: 34px;
|
||||
height: 34px;
|
||||
}
|
||||
#website-top-navbar form {
|
||||
margin: 0;
|
||||
}
|
||||
#website-top-navbar form button, #website-top-navbar form a {
|
||||
padding: 4px 8px 4px 8px;
|
||||
margin-top: 2px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* ---- EDITOR BAR ---- {{{ */
|
||||
table.editorbar-panel {
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
}
|
||||
table.editorbar-panel td {
|
||||
border: 1px solid #aaa;
|
||||
}
|
||||
table.editorbar-panel td.selected {
|
||||
background-color: #b1c9d9;
|
||||
}
|
||||
|
||||
.link-style .dropdown > .btn {
|
||||
min-width: 160px;
|
||||
}
|
||||
.link-style .link-style {
|
||||
display: none;
|
||||
}
|
||||
.link-style li {
|
||||
text-align: center;
|
||||
}
|
||||
.link-style li label {
|
||||
width: 100px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
.link-style .col-sm-2 > * {
|
||||
line-height: 2em;
|
||||
}
|
||||
|
||||
/* ---- MENU ---- {{{ */
|
||||
div.oe_menu_buttons {
|
||||
top: -8px;
|
||||
right: -8px;
|
||||
}
|
||||
|
||||
ul.oe_menu_editor .fa-home {
|
||||
display: none;
|
||||
}
|
||||
ul.oe_menu_editor > li:first-child > div > span > .fa-home {
|
||||
display: block;
|
||||
}
|
||||
ul.oe_menu_editor .oe_menu_placeholder {
|
||||
outline: 1px dashed #4183C4;
|
||||
}
|
||||
ul.oe_menu_editor ul {
|
||||
list-style: none;
|
||||
}
|
||||
ul.oe_menu_editor li div {
|
||||
cursor: move;
|
||||
}
|
||||
ul.oe_menu_editor .disclose {
|
||||
cursor: pointer;
|
||||
width: 10px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ---- RTE ---- {{{ */
|
||||
.oe_editable .btn, .btn.oe_editable {
|
||||
-moz-user-select: auto;
|
||||
-ms-user-select: auto;
|
||||
-webkit-user-select: auto;
|
||||
user-select: auto;
|
||||
cursor: text !important;
|
||||
}
|
||||
|
||||
.modal-dialog.select-media {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.modal .existing-attachments .pager {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.modal .image-preview {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.modal.nosave .wait {
|
||||
display: inline-block !important;
|
||||
visibility: visible !important;
|
||||
}
|
||||
.modal.nosave .modal-body .filepicker, .modal.nosave .modal-body .image-preview {
|
||||
display: none;
|
||||
}
|
||||
.modal.nosave .modal-body .wait {
|
||||
width: 100%;
|
||||
}
|
||||
.modal.nosave .modal-footer .save {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.modal .font-icons-icons {
|
||||
font-size: 2em;
|
||||
max-height: 9em;
|
||||
overflow: auto;
|
||||
}
|
||||
.modal .font-icons-icons .font-icons-icon {
|
||||
display: inline-block;
|
||||
width: 2em;
|
||||
padding: 0.25em;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.modal .font-icons {
|
||||
position: relative;
|
||||
display: block;
|
||||
}
|
||||
.modal .font-icons:before {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
|
||||
opacity: 0.7;
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 3px;
|
||||
font-size: 2em;
|
||||
}
|
||||
.modal #icon-search {
|
||||
padding-left: 2.5em;
|
||||
}
|
||||
.modal .font-icons-selected {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.oe_carlos_danger {
|
||||
outline: 1px solid red !important;
|
||||
background-color: #ffd9dd !important;
|
||||
}
|
||||
|
||||
.hover-edition {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.preview-container {
|
||||
text-align: center;
|
||||
line-height: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.preview-container > * {
|
||||
max-height: 100px;
|
||||
line-height: 100px;
|
||||
margin: 0 auto;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.note-editable .fa {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.img-responsive {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
/* ---- MOBILE PREVIEW ---- {{{ */
|
||||
.oe_mobile_preview.modal .modal-content {
|
||||
height: 660px;
|
||||
background-color: #000000;
|
||||
border: 2px solid #1C1F1F;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
max-width: 330px;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header {
|
||||
background-color: #000000;
|
||||
border-bottom: 0;
|
||||
-moz-border-radius-topleft: 10px;
|
||||
-webkit-border-top-left-radius: 10px;
|
||||
border-top-left-radius: 10px;
|
||||
-moz-border-radius-topright: 10px;
|
||||
-webkit-border-top-right-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header .modal-title {
|
||||
color: #1C1F1F;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header .close {
|
||||
color: lightgrey;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
|
||||
opacity: 1;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header .close:hover {
|
||||
color: #E00101;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
|
||||
opacity: 1;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-body {
|
||||
background-color: #000000;
|
||||
max-height: 600px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-body .oe_mobile_viewport {
|
||||
width: 320px;
|
||||
height: 568px;
|
||||
padding: 5px;
|
||||
border: none;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-footer {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
/* ---- SEO TOOLS ---- {{{ */
|
||||
.oe_seo_configuration .modal-dialog {
|
||||
width: 80%;
|
||||
}
|
||||
.oe_seo_configuration .oe_remove {
|
||||
color: #E00101;
|
||||
}
|
||||
.oe_seo_configuration .oe_seo_suggestion {
|
||||
cursor: pointer;
|
||||
}
|
||||
.oe_seo_configuration .oe_seo_keyword {
|
||||
padding: 0.2em 0.4em 0.2em 0.5em;
|
||||
-moz-border-radius: 0.4em;
|
||||
-webkit-border-radius: 0.4em;
|
||||
border-radius: 0.4em;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g {
|
||||
line-height: 1.2;
|
||||
list-style: none;
|
||||
list-style-image: none;
|
||||
list-style-position: outside;
|
||||
list-style-type: none;
|
||||
font-size: small;
|
||||
font-family: arial, sans-serif;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g h3 {
|
||||
font-size: medium;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .r {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .r a {
|
||||
color: #1e0fbe;
|
||||
text-decoration: underline;
|
||||
text-transform: none;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .r a em {
|
||||
font-style: normal !important;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .s {
|
||||
color: #444;
|
||||
max-width: 42em;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .kv, .oe_seo_configuration li.oe_seo_preview_g .slp {
|
||||
display: block;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .f {
|
||||
color: #666;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .f cite {
|
||||
color: #006621;
|
||||
font-style: normal;
|
||||
font-size: 14px;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .st {
|
||||
line-height: 1.24;
|
||||
}
|
||||
|
||||
/* ---- ACE EDITOR ---- {{{ */
|
||||
.oe_ace_view_editor {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
z-index: 1001;
|
||||
height: 100%;
|
||||
background: #2F3129;
|
||||
color: white;
|
||||
}
|
||||
.oe_ace_view_editor .oe_ace_view_editor_title {
|
||||
width: 100%;
|
||||
padding-top: 0;
|
||||
padding-left: 0;
|
||||
height: 30px;
|
||||
}
|
||||
.oe_ace_view_editor .oe_ace_view_editor_title .oe_view_list {
|
||||
width: 50%;
|
||||
height: 30px;
|
||||
font-size: 14px;
|
||||
font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "source-code-pro", monospace;
|
||||
line-height: normal;
|
||||
}
|
||||
.oe_ace_view_editor .oe_ace_view_editor_title .btn {
|
||||
height: 30px;
|
||||
padding: 0 4px 0 4px;
|
||||
font-size: 14px;
|
||||
font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "source-code-pro", monospace;
|
||||
line-height: normal;
|
||||
}
|
||||
.oe_ace_view_editor .ace_editor {
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
right: 0;
|
||||
left: 0;
|
||||
}
|
||||
.oe_ace_view_editor .ace_editor .ace_gutter {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
.oe_ace_view_editor #ace-view-id {
|
||||
padding: 0 1em;
|
||||
}
|
||||
.oe_ace_view_editor.oe_ace_open {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=97);
|
||||
opacity: 0.97;
|
||||
}
|
||||
.oe_ace_view_editor.oe_ace_closed {
|
||||
z-index: -1000;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.oe_include_bundles {
|
||||
font-weight: normal;
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
/* ---- CUSTOMIZE THEME ---- {{{ */
|
||||
#theme_error {
|
||||
background: #ffc;
|
||||
}
|
||||
|
||||
#theme_customize_modal {
|
||||
overflow: auto;
|
||||
z-index: 1020;
|
||||
background: transparent;
|
||||
display: block;
|
||||
}
|
||||
#theme_customize_modal .modal-dialog {
|
||||
top: 75px;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
font-family: "Lato-Regular";
|
||||
font-weight: normal;
|
||||
text-transform: capitalize;
|
||||
letter-spacing: normal;
|
||||
}
|
||||
#theme_customize_modal .modal-h5 {
|
||||
color: #ffffff;
|
||||
font-family: "Lato-Regular";
|
||||
font-weight: normal;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: normal;
|
||||
font-size: 14px;
|
||||
color: white;
|
||||
padding: 4px 0 4px 4px;
|
||||
background-color: #bdc3c7;
|
||||
}
|
||||
#theme_customize_modal table {
|
||||
width: 100%;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
#theme_customize_modal label {
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
#theme_customize_modal label > div, #theme_customize_modal label > img {
|
||||
border: 1px solid #fff;
|
||||
line-height: 30px;
|
||||
font-size: 0.9em;
|
||||
margin: 2px 4px;
|
||||
}
|
||||
#theme_customize_modal label.checked > div, #theme_customize_modal label.checked > img {
|
||||
box-shadow: 2px 2px 3px #888;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
#theme_customize_modal label img {
|
||||
width: 60px;
|
||||
height: 35px;
|
||||
margin: 2px;
|
||||
border: 1px solid rgba(136, 136, 136, 0.5);
|
||||
}
|
||||
#theme_customize_modal label input {
|
||||
display: none;
|
||||
}
|
||||
#theme_customize_modal .loading_backdrop {
|
||||
display: none;
|
||||
}
|
||||
#theme_customize_modal.loading .loading_backdrop {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
opacity: 0.3;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
@@ -1,567 +0,0 @@
|
||||
@import "common"
|
||||
|
||||
/* ---- SummerNote Minimal Reset ---- {{{ */
|
||||
|
||||
.note-popover
|
||||
.popover
|
||||
position: fixed !important
|
||||
top: -9px !important
|
||||
right: auto !important
|
||||
left: 300px !important
|
||||
border: 0
|
||||
background: transparent
|
||||
box-shadow: none
|
||||
-webkit-box-shadow: none
|
||||
z-index: 1040
|
||||
.popover-content
|
||||
padding: 0 !important
|
||||
margin: 0 0 0 6px !important
|
||||
> div
|
||||
padding-top: 0 !important
|
||||
margin-top: 0 !important
|
||||
> a
|
||||
border-radius: 3px
|
||||
background-color: #fff
|
||||
border-color: #ccc
|
||||
padding: 4px 10px
|
||||
font-size: 14px
|
||||
line-height: 1.5
|
||||
.note-para .dropdown-menu
|
||||
min-width: 148px !important
|
||||
padding: 5px 0 5px 5px !important
|
||||
.note-ul .dropdown-menu
|
||||
min-width: 150px !important
|
||||
padding: 5px 0 5px 5px !important
|
||||
.note-li
|
||||
margin-right: 5px
|
||||
> span
|
||||
display: inline-block
|
||||
max-width: 200px
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
white-space: nowrap
|
||||
vertical-align: middle
|
||||
border-radius: 3px
|
||||
background-color: white
|
||||
border-color: #cccccc
|
||||
padding: 4px 10px
|
||||
font-size: 14px
|
||||
line-height: 1.5
|
||||
|
||||
.colorpicker
|
||||
margin: 0
|
||||
td > *
|
||||
width: 20px
|
||||
height: 20px
|
||||
padding: 0
|
||||
margin: 0
|
||||
border: 1px solid #fff
|
||||
|
||||
.popover .popover-content .dropdown-menu a
|
||||
display: block
|
||||
.arrow
|
||||
display: none
|
||||
|
||||
.o_editable
|
||||
&:not(:empty),&[data-oe-type]
|
||||
&:not([data-oe-model="ir.ui.view"]):not([data-oe-type="html"]):hover
|
||||
/* to do change into primary color in less */
|
||||
-moz-box-shadow: #3071a9 0 0 5px 2px inset
|
||||
-webkit-box-shadow: #3071a9 0 0 5px 2px inset
|
||||
box-shadow: #3071a9 0 0 5px 2px inset
|
||||
&:focus,&[data-oe-type]
|
||||
min-height: 0.8em
|
||||
min-width: 8px
|
||||
&.o_is_inline_editable
|
||||
display: inline-block
|
||||
.editor_enable [data-oe-readonly]:hover
|
||||
cursor: default
|
||||
|
||||
// }}}
|
||||
/* Summernote not Support for placeholder text https://github.com/summernote/summernote/issues/581 */
|
||||
.o_editable[placeholder]:empty:not(:focus):before
|
||||
content: attr(placeholder)
|
||||
opacity: 0.3
|
||||
|
||||
/* Prevent the text contents of draggable elements from being selectable. */
|
||||
[draggable]
|
||||
-moz-user-select: none
|
||||
-khtml-user-select: none
|
||||
-webkit-user-select: none
|
||||
user-select: none
|
||||
|
||||
/* Prevent firefox handler. */
|
||||
.o_editable .btn
|
||||
-webkit-user-select: auto
|
||||
-moz-user-select: auto
|
||||
-ms-user-select: auto
|
||||
user-select: auto
|
||||
|
||||
/* ---- OpenERP Style ---- {{{ */
|
||||
|
||||
.oe_website_editorbar
|
||||
position: fixed
|
||||
top: 0
|
||||
right: 0
|
||||
display: block
|
||||
width: 100%
|
||||
padding: 2px
|
||||
margin: 0
|
||||
z-index: 20000
|
||||
@include background(#414141, linear-gradient(#646060, #262626))
|
||||
+box-sizing(border-box)
|
||||
li
|
||||
display: inline
|
||||
color: #eee
|
||||
&:hover
|
||||
background: rgba(0,0,0,0.2)
|
||||
+text-shadow(black 0px 0px 3px)
|
||||
color: white
|
||||
|
||||
.oe_website_editorbar .oe_rte_toolbar
|
||||
div.dropdown
|
||||
display: inline-block
|
||||
li
|
||||
display: list-item
|
||||
|
||||
button
|
||||
font-family: FontAwesome
|
||||
font-weight: normal
|
||||
font-style: normal
|
||||
text-decoration: inherit
|
||||
&.oe_button_list
|
||||
padding-right: 3px
|
||||
&:after
|
||||
content: "\F0D7"
|
||||
padding-left: 6px
|
||||
|
||||
.oe_editable:focus
|
||||
outline: none !important
|
||||
|
||||
.css_editable_display
|
||||
display: block !important
|
||||
|
||||
.css_editable_hidden
|
||||
display: none !important
|
||||
|
||||
.editor_enable .css_editable_mode_hidden
|
||||
display: none
|
||||
|
||||
.editor_enable .css_non_editable_mode_hidden
|
||||
display: block !important
|
||||
|
||||
.o_editable .media_iframe_video .css_editable_mode_display
|
||||
display: block !important
|
||||
|
||||
.oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child
|
||||
background-image: url('/website/static/src/img/edit_here.png') !important
|
||||
&:before
|
||||
content: 'Press The Top-Left Edit Button' !important
|
||||
|
||||
.o_editable
|
||||
&.oe_structure.oe_empty > p:empty:only-child, &[data-oe-type=html] > p:empty:only-child
|
||||
color: #aaa
|
||||
&.oe_structure.oe_empty:empty, &[data-oe-type=html]:empty, &.oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, &[data-oe-type=html] > .oe_drop_zone.oe_insert:only-child, &.oe_structure.oe_empty > p:empty:only-child, &[data-oe-type=html] > p:empty:only-child
|
||||
background-image: none !important
|
||||
&:before
|
||||
content: 'Write your text here' !important
|
||||
&:focus:before
|
||||
display: none
|
||||
|
||||
#oe_snippets ~ #wrapwrap
|
||||
.oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child
|
||||
background-image: url('/website/static/src/img/drag_here.png') !important
|
||||
&:before
|
||||
content: 'Drag Building Blocks Here' !important
|
||||
|
||||
.oe_structure.oe_empty:empty, [data-oe-type=html]:empty, .oe_structure.oe_empty > .oe_drop_zone.oe_insert:only-child, [data-oe-type=html] > .oe_drop_zone.oe_insert:only-child
|
||||
background-image: none
|
||||
background-repeat: no-repeat
|
||||
background-position: center
|
||||
height: 220px !important
|
||||
|
||||
[data-oe-type=html].oe_no_empty:empty:before
|
||||
content: '' !important
|
||||
|
||||
[data-oe-type=html].oe_no_empty:empty
|
||||
background-image: none !important
|
||||
height: 16px !important
|
||||
|
||||
#website-top-edit
|
||||
width: 100%
|
||||
> ul > li
|
||||
margin: 0
|
||||
|
||||
#website-top-navbar
|
||||
min-height: 34px
|
||||
height: 34px
|
||||
form
|
||||
margin: 0
|
||||
button, a
|
||||
padding: 4px 8px 4px 8px
|
||||
margin-top: 2px
|
||||
font-size: 13px
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- EDITOR BAR ---- {{{ */
|
||||
|
||||
table.editorbar-panel
|
||||
cursor: pointer
|
||||
width: 100%
|
||||
td
|
||||
border: 1px solid #aaa
|
||||
td.selected
|
||||
background-color: #b1c9d9
|
||||
|
||||
.link-style
|
||||
.dropdown > .btn
|
||||
min-width: 160px
|
||||
.link-style
|
||||
display: none
|
||||
li
|
||||
text-align: center
|
||||
label
|
||||
width: 100px
|
||||
margin: 0 5px
|
||||
.col-sm-2 > *
|
||||
line-height: 2em
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- MENU ---- {{{ */
|
||||
|
||||
div.oe_menu_buttons
|
||||
top: -8px
|
||||
right: -8px
|
||||
|
||||
ul.oe_menu_editor
|
||||
.fa-home
|
||||
display: none
|
||||
> li:first-child > div > span > .fa-home
|
||||
display: block
|
||||
.oe_menu_placeholder
|
||||
outline: 1px dashed #4183C4
|
||||
ul
|
||||
list-style: none
|
||||
li div
|
||||
cursor: move
|
||||
.disclose
|
||||
cursor: pointer
|
||||
width: 10px
|
||||
display: none
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- RTE ---- {{{ */
|
||||
|
||||
// bootstrap makes .btn elements unselectable -> RTE double-click can't know
|
||||
// about them either
|
||||
.oe_editable .btn, .btn.oe_editable
|
||||
+user-select(auto)
|
||||
cursor: text !important
|
||||
|
||||
.modal-dialog.select-media
|
||||
width: 80%
|
||||
|
||||
.modal .existing-attachments
|
||||
.pager
|
||||
margin: 0
|
||||
|
||||
.modal .image-preview
|
||||
margin-bottom: 0.5em
|
||||
|
||||
.modal-footer
|
||||
text-align: left
|
||||
|
||||
.modal.nosave
|
||||
.wait
|
||||
display: inline-block !important
|
||||
visibility: visible !important
|
||||
.modal-body
|
||||
.filepicker, .image-preview
|
||||
display: none
|
||||
.wait
|
||||
width: 100%
|
||||
.modal-footer .save
|
||||
display: none
|
||||
|
||||
// fontawesome modal
|
||||
.modal
|
||||
.font-icons-icons
|
||||
font-size: 2em
|
||||
max-height: 9em
|
||||
overflow: auto
|
||||
|
||||
.font-icons-icon
|
||||
display: inline-block
|
||||
width: 2em
|
||||
padding: 0.25em
|
||||
text-align: center
|
||||
cursor: pointer
|
||||
|
||||
.font-icons
|
||||
position: relative
|
||||
display: block
|
||||
|
||||
&:before
|
||||
+opacity(0.7)
|
||||
position: absolute
|
||||
top: 2px
|
||||
left: 3px
|
||||
font-size: 2em
|
||||
#icon-search
|
||||
padding-left: 2.5em
|
||||
|
||||
.font-icons-selected
|
||||
background-color: #ddd
|
||||
|
||||
.oe_carlos_danger
|
||||
outline: 1px solid red !important
|
||||
background-color: #ffd9dd !important
|
||||
|
||||
.hover-edition
|
||||
display: inline-block
|
||||
position: absolute
|
||||
top: 0
|
||||
left: 0
|
||||
// This z-index is due to .navbar of bootstrap & jQuery-transfo
|
||||
z-index: 1001
|
||||
.preview-container
|
||||
text-align: center
|
||||
line-height: 100px
|
||||
height: 100px
|
||||
> *
|
||||
max-height: 100px
|
||||
line-height: 100px
|
||||
margin: 0 auto
|
||||
display: inline-block
|
||||
|
||||
// fontawesome
|
||||
.note-editable .fa
|
||||
cursor: pointer
|
||||
|
||||
.img-responsive
|
||||
text-align: center
|
||||
|
||||
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12
|
||||
min-height: 24px
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- MOBILE PREVIEW ---- {{{ */
|
||||
|
||||
$mobile_preview_background: #000000
|
||||
$mobile_preview_border: #1C1F1F
|
||||
$icon_close: #E00101
|
||||
.oe_mobile_preview
|
||||
&.modal .modal-content
|
||||
height: 660px
|
||||
background-color: $mobile_preview_background
|
||||
border: 2px solid $mobile_preview_border
|
||||
+border-radius(10px)
|
||||
margin: auto
|
||||
top: 0
|
||||
left: 0
|
||||
bottom: 0
|
||||
right: 0
|
||||
max-width: 330px
|
||||
.modal-header
|
||||
background-color: $mobile_preview_background
|
||||
border-bottom: 0
|
||||
+border-top-left-radius(10px)
|
||||
+border-top-right-radius(10px)
|
||||
.modal-title
|
||||
color: $mobile_preview_border
|
||||
.close
|
||||
color: lightgrey
|
||||
+opacity(1)
|
||||
.close:hover
|
||||
color: $icon_close
|
||||
+opacity(1)
|
||||
.modal-body
|
||||
background-color: $mobile_preview_background
|
||||
max-height: 600px
|
||||
padding: 0
|
||||
margin: 0
|
||||
.oe_mobile_viewport
|
||||
width: 320px
|
||||
height: 568px
|
||||
padding: 5px
|
||||
border: none
|
||||
.modal-footer
|
||||
background-color: $mobile_preview_background
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- SEO TOOLS ---- {{{ */
|
||||
|
||||
$remove_color: $icon_close
|
||||
$in_title_color: #5cb85c
|
||||
$in_description_color: #428bca
|
||||
$in_body_color: #5bc0de
|
||||
$highlighted_text_color: #ffffff
|
||||
.oe_seo_configuration
|
||||
.modal-dialog
|
||||
width: 80%
|
||||
.oe_remove
|
||||
color: $remove_color
|
||||
.oe_seo_suggestion
|
||||
cursor: pointer
|
||||
.oe_seo_keyword
|
||||
padding: .2em .4em .2em .5em
|
||||
+border-radius(.4em)
|
||||
li.oe_seo_preview_g
|
||||
line-height: 1.2
|
||||
list-style: none
|
||||
list-style-image: none
|
||||
list-style-position: outside
|
||||
list-style-type: none
|
||||
font-size: small
|
||||
font-family: arial,sans-serif
|
||||
h3
|
||||
font-size: medium
|
||||
.r
|
||||
margin: 0
|
||||
font-size: 16px
|
||||
font-style: normal
|
||||
font-weight: normal
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
-webkit-text-overflow: ellipsis
|
||||
white-space: nowrap
|
||||
a
|
||||
color: rgb(30, 15, 190)
|
||||
text-decoration: underline
|
||||
text-transform: none
|
||||
em
|
||||
font-style: normal !important
|
||||
.s
|
||||
color: #444
|
||||
max-width: 42em
|
||||
.kv,.slp
|
||||
display: block
|
||||
margin-bottom: 1px
|
||||
.f
|
||||
color: #666
|
||||
margin-bottom: 1px
|
||||
cite
|
||||
color: #006621
|
||||
font-style: normal
|
||||
font-size: 14px
|
||||
.st
|
||||
line-height: 1.24
|
||||
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- ACE EDITOR ---- {{{ */
|
||||
|
||||
$editorbar_height: 30px
|
||||
$infobar_height: 20px
|
||||
// TODO Fix => might break with themes
|
||||
|
||||
.oe_ace_view_editor
|
||||
position: fixed
|
||||
// top property is set programmatically
|
||||
right: 0
|
||||
z-index: 1001
|
||||
height: 100%
|
||||
background: #2F3129
|
||||
color: white
|
||||
.oe_ace_view_editor_title
|
||||
width: 100%
|
||||
padding-top: 0
|
||||
padding-left: 0
|
||||
height: $editorbar_height
|
||||
.oe_view_list
|
||||
width: 50%
|
||||
height: $editorbar_height
|
||||
@include editor-font
|
||||
.btn
|
||||
height: $editorbar_height
|
||||
padding: 0 4px 0 4px
|
||||
@include editor-font
|
||||
.ace_editor
|
||||
position: absolute
|
||||
top: $editorbar_height + $infobar_height
|
||||
right: 0
|
||||
// bottom property is set programmatically
|
||||
left: 0
|
||||
.ace_gutter
|
||||
cursor: ew-resize
|
||||
#ace-view-id
|
||||
padding: 0 1em
|
||||
&.oe_ace_open
|
||||
+opacity(0.97)
|
||||
&.oe_ace_closed
|
||||
z-index: -1000
|
||||
display: none
|
||||
|
||||
.oe_include_bundles
|
||||
font-weight: normal
|
||||
padding: 0 8px
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- CUSTOMIZE THEME ---- {{{ */
|
||||
#theme_error
|
||||
background: #ffc
|
||||
#theme_customize_modal
|
||||
overflow: auto
|
||||
z-index: 1020
|
||||
background: transparent
|
||||
display: block
|
||||
.modal-dialog
|
||||
top: 75px
|
||||
width: auto
|
||||
margin: 0
|
||||
position: absolute
|
||||
right: 10px
|
||||
font-family: 'Lato-Regular'
|
||||
font-weight: normal
|
||||
text-transform: capitalize
|
||||
letter-spacing: normal
|
||||
.modal-h5
|
||||
color: #ffffff
|
||||
font-family: 'Lato-Regular'
|
||||
font-weight: normal
|
||||
text-transform: uppercase
|
||||
letter-spacing: normal
|
||||
font-size: 14px
|
||||
color: white
|
||||
padding: 4px 0 4px 4px
|
||||
background-color: #bdc3c7
|
||||
table
|
||||
width: 100%
|
||||
margin-bottom: 8px
|
||||
label
|
||||
display: block
|
||||
text-align: center
|
||||
> div, > img
|
||||
border: 1px solid #fff
|
||||
line-height: 30px
|
||||
font-size: 0.9em
|
||||
margin: 2px 4px
|
||||
&.checked
|
||||
> div, > img
|
||||
box-shadow: 2px 2px 3px #888
|
||||
border: 1px solid #666
|
||||
img
|
||||
width: 60px
|
||||
height: 35px
|
||||
margin: 2px
|
||||
border: 1px solid rgba(136, 136, 136, 0.5)
|
||||
input
|
||||
display: none
|
||||
.loading_backdrop
|
||||
display: none
|
||||
&.loading
|
||||
.loading_backdrop
|
||||
display: block
|
||||
width: 100%
|
||||
height: 100%
|
||||
background: #000
|
||||
opacity: 0.3
|
||||
position: absolute
|
||||
z-index: 1
|
||||
Binary file not shown.
@@ -1,228 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata></metadata>
|
||||
<defs>
|
||||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
||||
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
||||
<missing-glyph horiz-adv-x="500" />
|
||||
<glyph />
|
||||
<glyph />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="*" d="M1100 500h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200z" />
|
||||
<glyph unicode="+" d="M1100 400h-400v-400h-300v400h-400v300h400v400h300v-400h400v-300z" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="434" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="163" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="72" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode="€" d="M800 500h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257 q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406z" />
|
||||
<glyph unicode="−" d="M1100 700h-900v-300h900v300z" />
|
||||
<glyph unicode="☁" d="M178 300h750q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5q0 -80 56.5 -137t135.5 -57z" />
|
||||
<glyph unicode="✉" d="M1200 1100h-1200l600 -603zM300 600l-300 -300v600zM1200 900v-600l-300 300zM800 500l400 -400h-1200l400 400l200 -200z" />
|
||||
<glyph unicode="✏" d="M1101 889l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13l-94 -97zM401 189l614 614l-214 214l-614 -614zM-13 -13l333 112l-223 223z" />
|
||||
<glyph unicode="" horiz-adv-x="500" d="M0 0z" />
|
||||
<glyph unicode="" d="M700 100h300v-100h-800v100h300v550l-500 550h1200l-500 -550v-550z" />
|
||||
<glyph unicode="" d="M1000 934v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q17 -55 85.5 -75.5t147.5 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7q-79 -25 -122.5 -82t-25.5 -112t86 -75.5t147 5.5 q65 21 109 69t44 90v606z" />
|
||||
<glyph unicode="" d="M913 432l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342t142 342t342 142t342 -142t142 -342q0 -142 -78 -261zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
||||
<glyph unicode="" d="M649 949q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5t-94 124.5t-33.5 117.5q0 64 28 123t73 100.5t104.5 64t119 20.5 t120 -38.5t104.5 -104.5z" />
|
||||
<glyph unicode="" d="M791 522l145 -449l-384 275l-382 -275l146 447l-388 280h479l146 400h2l146 -400h472zM168 71l2 1z" />
|
||||
<glyph unicode="" d="M791 522l145 -449l-384 275l-382 -275l146 447l-388 280h479l146 400h2l146 -400h472zM747 331l-74 229l193 140h-235l-77 211l-78 -211h-239l196 -142l-73 -226l192 140zM168 71l2 1z" />
|
||||
<glyph unicode="" d="M1200 143v-143h-1200v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100z" />
|
||||
<glyph unicode="" d="M1200 1100v-1100h-1200v1100h1200zM200 1000h-100v-100h100v100zM900 1000h-600v-400h600v400zM1100 1000h-100v-100h100v100zM200 800h-100v-100h100v100zM1100 800h-100v-100h100v100zM200 600h-100v-100h100v100zM1100 600h-100v-100h100v100zM900 500h-600v-400h600 v400zM200 400h-100v-100h100v100zM1100 400h-100v-100h100v100zM200 200h-100v-100h100v100zM1100 200h-100v-100h100v100z" />
|
||||
<glyph unicode="" d="M500 1050v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5zM1100 1050v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h400 q21 0 35.5 -14.5t14.5 -35.5zM500 450v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5zM1100 450v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M300 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM700 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5zM1100 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM300 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM700 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1100 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM300 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM700 250v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1100 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5 t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M300 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1200 1050v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h700 q21 0 35.5 -14.5t14.5 -35.5zM300 450v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-200q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5zM1200 650v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5zM300 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5zM1200 250v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M448 34l818 820l-212 212l-607 -607l-206 207l-212 -212z" />
|
||||
<glyph unicode="" d="M882 106l-282 282l-282 -282l-212 212l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282z" />
|
||||
<glyph unicode="" d="M913 432l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342t142 342t342 142t342 -142t142 -342q0 -142 -78 -261zM507 363q137 0 233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5t-234 -97t-97 -233 t97 -233t234 -97zM600 800h100v-200h-100v-100h-200v100h-100v200h100v100h200v-100z" />
|
||||
<glyph unicode="" d="M913 432l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342t142 342t342 142t342 -142t142 -342q0 -141 -78 -262zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 801v-200h400v200h-400z" />
|
||||
<glyph unicode="" d="M700 750v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5zM800 975v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123 t-123 184t-45.5 224.5q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155z" />
|
||||
<glyph unicode="" d="M1200 1h-200v1200h200v-1200zM900 1h-200v800h200v-800zM600 1h-200v500h200v-500zM300 301h-200v-300h200v300z" />
|
||||
<glyph unicode="" d="M488 183l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5 q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39zM600 815q89 0 152 -63 t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152q0 88 63 151t152 63z" />
|
||||
<glyph unicode="" d="M900 1100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100zM800 1100v100h-300v-100h300zM200 900h900v-800q0 -41 -29.5 -71 t-70.5 -30h-700q-41 0 -70.5 30t-29.5 71v800zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
|
||||
<glyph unicode="" d="M1301 601h-200v-600h-300v400h-300v-400h-300v600h-200l656 644z" />
|
||||
<glyph unicode="" d="M600 700h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18v1150q0 11 7 18t18 7h475v-500zM1000 800h-300v300z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM600 600h200 v-100h-300v400h100v-300z" />
|
||||
<glyph unicode="" d="M721 400h-242l-40 -400h-539l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538zM712 500l-27 300h-170l-27 -300h224z" />
|
||||
<glyph unicode="" d="M1100 400v-400h-1100v400h490l-290 300h200v500h300v-500h200l-290 -300h490zM988 300h-175v-100h175v100z" />
|
||||
<glyph unicode="" d="M600 1199q122 0 233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233t47.5 233t127.5 191t191 127.5t233 47.5zM600 1012q-170 0 -291 -121t-121 -291t121 -291t291 -121t291 121 t121 291t-121 291t-291 121zM700 600h150l-250 -300l-250 300h150v300h200v-300z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM850 600h-150 v-300h-200v300h-150l250 300z" />
|
||||
<glyph unicode="" d="M0 500l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18v475zM903 1000h-606l-97 -500h200l50 -200h300l50 200h200z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5zM797 598 l-297 -201v401z" />
|
||||
<glyph unicode="" d="M1177 600h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123t-123 -184t-45.5 -224.5t45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123 t123 184t45.5 224.5z" />
|
||||
<glyph unicode="" d="M700 800l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400zM500 400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122l-145 -145v400h400z" />
|
||||
<glyph unicode="" d="M100 1200v-1200h1100v1200h-1100zM1100 100h-900v900h900v-900zM400 800h-100v100h100v-100zM1000 800h-500v100h500v-100zM400 600h-100v100h100v-100zM1000 600h-500v100h500v-100zM400 400h-100v100h100v-100zM1000 400h-500v100h500v-100zM400 200h-100v100h100v-100 zM1000 300h-500v-100h500v100z" />
|
||||
<glyph unicode="" d="M200 0h-100v1100h100v-1100zM1100 600v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5z" />
|
||||
<glyph unicode="" d="M1200 275v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5t-49.5 -227v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50 q11 0 18 7t7 18zM400 480v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14zM1000 480v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14z" />
|
||||
<glyph unicode="" d="M0 800v-400h300l300 -200v800l-300 -200h-300zM971 600l141 -141l-71 -71l-141 141l-141 -141l-71 71l141 141l-141 141l71 71l141 -141l141 141l71 -71z" />
|
||||
<glyph unicode="" d="M0 800v-400h300l300 -200v800l-300 -200h-300zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
|
||||
<glyph unicode="" d="M974 186l6 8q142 178 142 405q0 230 -144 408l-6 8l-83 -64l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8zM300 801l300 200v-800l-300 200h-300v400h300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257z" />
|
||||
<glyph unicode="" d="M100 700h400v100h100v100h-100v300h-500v-600h100v100zM1200 700v500h-600v-200h100v-300h200v-300h300v200h-200v100h200zM100 1100h300v-300h-300v300zM800 800v300h300v-300h-300zM200 900h100v100h-100v-100zM900 1000h100v-100h-100v100zM300 600h-100v-100h-200 v-500h500v500h-200v100zM900 200v-100h-200v100h-100v100h100v200h-200v100h300v-300h200v-100h-100zM400 400v-300h-300v300h300zM300 200h-100v100h100v-100zM1100 300h100v-100h-100v100zM600 100h100v-100h-100v100zM1200 100v-100h-300v100h300z" />
|
||||
<glyph unicode="" d="M100 1200h-100v-1000h100v1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 1200v-1000h-200v1000h200zM400 100v-100h-300v100h300zM500 91h100v-91h-100v91zM700 91h100v-91h-100v91zM1100 91v-91h-200v91h200z " />
|
||||
<glyph unicode="" d="M1200 500l-500 -500l-699 700v475q0 10 7.5 17.5t17.5 7.5h474zM320 882q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71t29 -71q30 -30 71.5 -30t71.5 30z" />
|
||||
<glyph unicode="" d="M1201 500l-500 -500l-699 700v475q0 11 7 18t18 7h474zM1501 500l-500 -500l-50 50l450 450l-700 700h100zM320 882q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71t30 -71q29 -30 71 -30t71 30z" />
|
||||
<glyph unicode="" d="M1200 1200v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900v1025l175 175h925z" />
|
||||
<glyph unicode="" d="M947 829l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18l-94 -346l40 -124h592zM1200 800v-700h-200v200h-800v-200h-200v700h200l100 -200h600l100 200h200zM881 176l38 -152q2 -10 -3.5 -17t-15.5 -7h-600q-10 0 -15.5 7t-3.5 17l38 152q2 10 11.5 17t19.5 7 h500q10 0 19.5 -7t11.5 -17z" />
|
||||
<glyph unicode="" d="M1200 0v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417zM416 521l178 457l46 -140l116 -317 h-340z" />
|
||||
<glyph unicode="" d="M100 1199h471q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111t-162 -38.5h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21 t-29 14t-49 14.5v70zM400 1079v-379h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400z" />
|
||||
<glyph unicode="" d="M877 1200l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425z" />
|
||||
<glyph unicode="" d="M1150 1200h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49v300h150h700zM100 1000v-800h75l-125 -167l-125 167h75v800h-75l125 167 l125 -167h-75z" />
|
||||
<glyph unicode="" d="M950 1201h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50v300h150h700zM200 101h800v75l167 -125l-167 -125v75h-800v-75l-167 125l167 125 v-75z" />
|
||||
<glyph unicode="" d="M700 950v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35zM1100 650v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h1000 q21 0 35.5 15t14.5 35zM900 350v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35zM1200 50v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35 t35.5 -15h1100q21 0 35.5 15t14.5 35z" />
|
||||
<glyph unicode="" d="M1000 950v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35zM1200 650v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h1100 q21 0 35.5 15t14.5 35zM1000 350v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35zM1200 50v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35 t35.5 -15h1100q21 0 35.5 15t14.5 35z" />
|
||||
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35zM0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M400 1100h-100v-1100h100v1100zM700 950v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35zM1100 650v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15 h500q20 0 35 15t15 35zM100 425v75h-201v100h201v75l166 -125zM900 350v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35zM1200 50v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5 v-100q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35z" />
|
||||
<glyph unicode="" d="M201 950v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35zM801 1100h100v-1100h-100v1100zM601 650v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15 h500q20 0 35 15t15 35zM1101 425v75h200v100h-200v75l-167 -125zM401 350v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35zM701 50v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5 v-100q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35z" />
|
||||
<glyph unicode="" d="M900 925v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53zM1200 300l-300 300l300 300v-600z" />
|
||||
<glyph unicode="" d="M1200 1056v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31zM1100 1000h-1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500zM476 750q0 -56 -39 -95t-95 -39t-95 39t-39 95t39 95t95 39t95 -39 t39 -95z" />
|
||||
<glyph unicode="" d="M600 1213q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262q0 124 60.5 231.5t165 172t226.5 64.5zM599 514q107 0 182.5 75.5t75.5 182.5t-75.5 182 t-182.5 75t-182 -75.5t-75 -181.5q0 -107 75.5 -182.5t181.5 -75.5z" />
|
||||
<glyph unicode="" d="M600 1199q122 0 233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233t47.5 233t127.5 191t191 127.5t233 47.5zM600 173v854q-176 0 -301.5 -125t-125.5 -302t125.5 -302t301.5 -125z " />
|
||||
<glyph unicode="" d="M554 1295q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5zM455 296q-7 6 -18 17 t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156q14 -82 59.5 -136t136.5 -80z" />
|
||||
<glyph unicode="" d="M1108 902l113 113l-21 85l-92 28l-113 -113zM1100 625v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5 t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125zM436 341l161 50l412 412l-114 113l-405 -405z" />
|
||||
<glyph unicode="" d="M1100 453v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5z M813 431l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209z" />
|
||||
<glyph unicode="" d="M1100 569v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69z M625 348l566 567l-136 137l-430 -431l-147 147l-136 -136z" />
|
||||
<glyph unicode="" d="M900 303v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198l-300 300l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296z" />
|
||||
<glyph unicode="" d="M900 0l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100z" />
|
||||
<glyph unicode="" d="M1200 0l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100z" />
|
||||
<glyph unicode="" d="M1200 0l-500 488v-488l-564 550l564 550v-487l500 487v-1100z" />
|
||||
<glyph unicode="" d="M1100 550l-900 550v-1100z" />
|
||||
<glyph unicode="" d="M500 150v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5zM900 150v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800q0 -21 14.5 -35.5t35.5 -14.5h200 q21 0 35.5 14.5t14.5 35.5z" />
|
||||
<glyph unicode="" d="M1100 150v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35z" />
|
||||
<glyph unicode="" d="M500 0v488l-500 -488v1100l500 -487v487l564 -550z" />
|
||||
<glyph unicode="" d="M1050 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488l-500 -488v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M650 1064l-550 -564h1100zM1200 350v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M777 7l240 240l-353 353l353 353l-240 240l-592 -594z" />
|
||||
<glyph unicode="" d="M513 -46l-241 240l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1z" />
|
||||
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM500 900v-200h-200v-200h200v-200h200v200h200v200h-200v200h-200z" />
|
||||
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM300 700v-200h600v200h-600z" />
|
||||
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM247 741l141 -141l-142 -141l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141 l-141 142z" />
|
||||
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM546 623l-102 102l-174 -174l276 -277l411 411l-175 174z" />
|
||||
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM500 500h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3 q-105 0 -172 -56t-67 -183h144q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5zM500 400v-100h200v100h-200z" />
|
||||
<glyph unicode="" d="M600 1197q162 0 299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5t80 299.5t217.5 217.5t299.5 80zM500 900v-100h200v100h-200zM400 700v-100h100v-200h-100v-100h400v100h-100v300h-300z" />
|
||||
<glyph unicode="" d="M1200 700v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203zM700 500v-206q149 48 201 206h-201v200h200 q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210q24 -73 79.5 -127.5t130.5 -78.5v206h200z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM844 735 l-135 -135l135 -135l-109 -109l-135 135l-135 -135l-109 109l135 135l-135 135l109 109l135 -135l135 135z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM896 654 l-346 -345l-228 228l141 141l87 -87l204 205z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM248 385l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5q0 -115 62 -215zM955 809l-564 -564q97 -59 209 -59q171 0 292.5 121.5 t121.5 292.5q0 112 -59 209z" />
|
||||
<glyph unicode="" d="M1200 400h-600v-301l-600 448l600 453v-300h600v-300z" />
|
||||
<glyph unicode="" d="M600 400h-600v300h600v300l600 -453l-600 -448v301z" />
|
||||
<glyph unicode="" d="M1098 600h-298v-600h-300v600h-296l450 600z" />
|
||||
<glyph unicode="" d="M998 600l-449 -600l-445 600h296v600h300v-600h298z" />
|
||||
<glyph unicode="" d="M600 199v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453z" />
|
||||
<glyph unicode="" d="M1200 1200h-400l129 -129l-294 -294l142 -142l294 294l129 -129v400zM565 423l-294 -294l129 -129h-400v400l129 -129l294 294z" />
|
||||
<glyph unicode="" d="M871 730l129 -130h-400v400l129 -129l295 295l142 -141zM200 600h400v-400l-129 130l-295 -295l-142 141l295 295z" />
|
||||
<glyph unicode="" d="M600 1177q118 0 224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5t45.5 224.5t123 184t184 123t224.5 45.5zM686 549l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5 l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5zM700 400h-200v-100h200v100z" />
|
||||
<glyph unicode="" d="M1200 900h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100h100v-200h400v300h200v-300h400v200h100v100z M731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269zM481 900h-281q-3 0 14 48t35 96l18 47zM100 0h400v400h-400v-400zM700 400h400v-400h-400v400z" />
|
||||
<glyph unicode="" d="M0 121l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55l-201 -202 v143zM692 611q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5t86.5 76.5q55 66 367 234z" />
|
||||
<glyph unicode="" d="M1261 600l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30l-26 40l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5 t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30zM600 240q64 0 123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212 q0 85 46 158q-102 -87 -226 -258q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5zM484 762l-107 -106q49 -124 154 -191l105 105q-37 24 -75 72t-57 84z" />
|
||||
<glyph unicode="" d="M906 1200l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43l-26 40l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148zM1261 600l-26 -40q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5 t-124 -100t-146.5 -79l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52zM513 264l37 141q-107 18 -178.5 101.5t-71.5 193.5q0 85 46 158q-102 -87 -226 -258q210 -282 393 -336z M484 762l-107 -106q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68z" />
|
||||
<glyph unicode="" d="M-47 0h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66t50.5 -34zM700 200v100h-200v-100h-345l445 723l445 -723h-345zM700 700h-200v-100l100 -300l100 300v100z" />
|
||||
<glyph unicode="" d="M800 711l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -21 -13 -29t-32 1l-94 78h-222l-94 -78q-19 -9 -32 -1t-13 29v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41q0 20 11 44.5t26 38.5 l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339z" />
|
||||
<glyph unicode="" d="M941 800l-600 -600h-341v200h259l600 600h241v198l300 -295l-300 -300v197h-159zM381 678l141 142l-181 180h-341v-200h259zM1100 598l300 -295l-300 -300v197h-241l-181 181l141 142l122 -123h159v198z" />
|
||||
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
||||
<glyph unicode="" d="M400 900h-300v300h300v-300zM1100 900h-300v300h300v-300zM1100 800v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5t-58 109.5t-31.5 116t-15 104t-3 83v200h300v-250q0 -113 6 -145 q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300z" />
|
||||
<glyph unicode="" d="M902 184l226 227l-578 579l-580 -579l227 -227l352 353z" />
|
||||
<glyph unicode="" d="M650 218l578 579l-226 227l-353 -353l-352 353l-227 -227z" />
|
||||
<glyph unicode="" d="M1198 400v600h-796l215 -200h381v-400h-198l299 -283l299 283h-200zM-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196z" />
|
||||
<glyph unicode="" d="M1050 1200h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35 q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43l-100 475q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5z" />
|
||||
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
||||
<glyph unicode="" d="M201 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000zM1501 700l-300 -700h-1200l300 700h1200z" />
|
||||
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
||||
<glyph unicode="" d="M900 303v197h-600v-197l-300 297l300 298v-198h600v198l300 -298z" />
|
||||
<glyph unicode="" d="M31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM100 300h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM900 200h-100v-100h100v100z M1100 200h-100v-100h100v100z" />
|
||||
<glyph unicode="" d="M1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35zM325 800l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35q-56 337 -56 351v250v5 q0 13 0.5 18.5t2.5 13t8 10.5t15 3h200zM-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5z" />
|
||||
<glyph unicode="" d="M445 1180l-45 -233l-224 78l78 -225l-233 -44l179 -156l-179 -155l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180z" />
|
||||
<glyph unicode="" d="M700 1200h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400q0 -75 100 -75h61q123 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5zM700 925l-50 -225h450 v-125l-250 -375h-214l-136 100h-100v375l150 212l100 213h50v-175zM0 800v-600h200v600h-200z" />
|
||||
<glyph unicode="" d="M700 0h-50q-27 0 -51 20t-38 48l-96 198l-145 196q-20 26 -20 63v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5zM200 400h-200v600h200 v-600zM700 275l-50 225h450v125l-250 375h-214l-136 -100h-100v-375l150 -212l100 -213h50v175z" />
|
||||
<glyph unicode="" d="M364 873l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM408 792v-503 l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83zM208 200h-200v600h200v-600z" />
|
||||
<glyph unicode="" d="M475 1104l365 -230q7 -4 16.5 -10.5t26 -26t16.5 -36.5v-526q0 -13 -85.5 -93.5t-93.5 -80.5h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-84 0 -139 39t-55 111t54 110t139 37h302l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6zM370 946 l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100h222q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l106 89v502l-342 237zM1199 201h-200v600h200v-600z" />
|
||||
<glyph unicode="" d="M1100 473v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90zM911 400h-503l-236 339 l83 86l183 -146q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294zM1000 200v-200h-600v200h600z" />
|
||||
<glyph unicode="" d="M305 1104v200h600v-200h-600zM605 310l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15l-230 -362q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85l-1 -302q0 -84 38.5 -138t110.5 -54t111 55t39 139v106z M905 804v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146l-83 86l237 339h503z" />
|
||||
<glyph unicode="" d="M603 1195q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM598 701h-298v-201h300l-2 -194l402 294l-402 298v-197z" />
|
||||
<glyph unicode="" d="M597 1195q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5zM200 600l400 -294v194h302v201h-300v197z" />
|
||||
<glyph unicode="" d="M603 1195q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM300 600h200v-300h200v300h200l-300 400z" />
|
||||
<glyph unicode="" d="M603 1195q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM500 900v-300h-200l300 -400l300 400h-200v300h-200z" />
|
||||
<glyph unicode="" d="M603 1195q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5zM627 1101q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6 q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55 t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q102 -2 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7 q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5 t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 36 -17 53.5t-64 28.5t-56 23q-19 -3 -37 0zM613 994q0 -18 8 -42.5t16.5 -44t9.5 -23.5q-9 2 -31 5t-36 5t-32 8t-30 14q3 12 16 30t16 25q10 -10 18.5 -10 t14 6t14.5 14.5t16 12.5z" />
|
||||
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
||||
<glyph unicode="" d="M1100 1200v-100h-1000v100h1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
||||
<glyph unicode="" d="M329 729l142 142l-200 200l129 129h-400v-400l129 129zM1200 1200v-400l-129 129l-200 -200l-142 142l200 200l-129 129h400zM271 129l129 -129h-400v400l129 -129l200 200l142 -142zM1071 271l129 129v-400h-400l129 129l-200 200l142 142z" />
|
||||
<glyph unicode="" d="M596 1192q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM596 1010q-171 0 -292.5 -121.5t-121.5 -292.5q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5zM455 905 q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5t16 38.5t39 16.5zM708 821l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5 q0 32 20.5 56.5t51.5 29.5zM855 709q23 0 38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39q0 22 16 38t39 16zM345 709q23 0 39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39t15.5 38.5t38.5 15.5z" />
|
||||
<glyph unicode="" d="M649 54l-16 22q-90 125 -293 323q-71 70 -104.5 105.5t-77 89.5t-61 99t-17.5 91q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-203 -198 -293 -323zM844 524l12 12 q64 62 97.5 97t64.5 79t31 72q0 71 -48 119t-105 48q-74 0 -132 -82l-118 -171l-114 174q-51 79 -123 79q-60 0 -109.5 -49t-49.5 -118q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203z" />
|
||||
<glyph unicode="" d="M476 406l19 -17l105 105l-212 212l389 389l247 -247l-95 -96l18 -18q46 -46 77 -99l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159q0 -93 66 -159zM123 193l141 -141q66 -66 159 -66q95 0 159 66 l283 283q66 66 66 159t-66 159l-141 141q-12 12 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159q0 -94 66 -160z" />
|
||||
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM900 1000h-600v-700h600v700zM600 46q43 0 73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5t-73.5 -30.5t-30.5 -73.5 t30.5 -73.5t73.5 -30.5z" />
|
||||
<glyph unicode="" d="M700 1029v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5h139q5 -77 48.5 -126.5t117.5 -64.5v335l-27 7q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5 t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5zM600 755v274q-61 -8 -97.5 -37.5t-36.5 -102.5q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3zM700 548 v-311q170 18 170 151q0 64 -44 99.5t-126 60.5z" />
|
||||
<glyph unicode="" d="M866 300l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5t-30 142.5h-221v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5 t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -11 2.5 -24.5t5.5 -24t9.5 -26.5t10.5 -25t14 -27.5t14 -25.5t15.5 -27t13.5 -24h242v-100h-197q8 -50 -2.5 -115t-31.5 -94 q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30z" />
|
||||
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM900 1200l298 -300h-198v-900h-200v900h-198z" />
|
||||
<glyph unicode="" d="M400 300h198l-298 -300l-298 300h198v900h200v-900zM1000 1200v-500h-100v100h-100v-100h-100v500h300zM901 1100h-100v-200h100v200zM700 500h300v-200h-99v-100h-100v100h99v100h-200v100zM800 100h200v-100h-300v200h100v-100z" />
|
||||
<glyph unicode="" d="M400 300h198l-298 -300l-298 300h198v900h200v-900zM1000 1200v-200h-99v-100h-100v100h99v100h-200v100h300zM800 800h200v-100h-300v200h100v-100zM700 500h300v-500h-100v100h-100v-100h-100v500zM801 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM900 1100h-100v100h200v-500h-100v400zM1100 500v-500h-100v100h-200v400h300zM1001 400h-100v-200h100v200z" />
|
||||
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM1100 1200v-500h-100v100h-200v400h300zM1001 1100h-100v-200h100v200zM900 400h-100v100h200v-500h-100v400z" />
|
||||
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
||||
<glyph unicode="" d="M300 0l298 300h-198v900h-200v-900h-198zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
||||
<glyph unicode="" d="M400 1100h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5v300q0 165 117.5 282.5t282.5 117.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5 t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
||||
<glyph unicode="" d="M700 0h-300q-163 0 -281.5 117.5t-118.5 282.5v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5 t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5zM400 800v-500l333 250z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM900 300v500q0 41 -29.5 70.5t-70.5 29.5h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5 t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5zM800 700h-500l250 -333z" />
|
||||
<glyph unicode="" d="M1100 700v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5zM900 300v500q0 41 -29.5 70.5t-70.5 29.5h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5 t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5zM550 733l-250 -333h500z" />
|
||||
<glyph unicode="" d="M500 1100h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200zM700 550l-400 -350v200h-300v300h300v200z" />
|
||||
<glyph unicode="" d="M403 2l9 -1q13 0 26 16l538 630q15 19 6 36q-8 18 -32 16h-300q1 4 78 219.5t79 227.5q2 17 -6 27l-8 8h-9q-16 0 -25 -15q-4 -5 -98.5 -111.5t-228 -257t-209.5 -238.5q-17 -19 -7 -40q10 -19 32 -19h302q-155 -438 -160 -458q-5 -21 4 -32z" />
|
||||
<glyph unicode="" d="M800 200h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185zM900 200v200h-300v300h300v200l400 -350z" />
|
||||
<glyph unicode="" d="M1200 700l-149 149l-342 -353l-213 213l353 342l-149 149h500v-500zM1022 571l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5v-300 q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM600 794 q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
||||
<glyph unicode="" d="M700 800v400h-300v-400h-300l445 -500l450 500h-295zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||
<glyph unicode="" d="M400 700v-300h300v300h295l-445 500l-450 -500h300zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||
<glyph unicode="" d="M405 400l596 596l-154 155l-442 -442l-150 151l-155 -155zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||
<glyph unicode="" d="M409 1103l-97 97l-212 -212l97 -98zM650 861l-149 149l-212 -212l149 -149l-238 -248h700v699zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||
<glyph unicode="" d="M539 950l-149 -149l212 -212l149 148l248 -237v700h-699zM297 709l-97 -97l212 -212l98 97zM25 300h1048q11 0 19 -7.5t8 -17.5v-275h-1100v275q0 11 7 18t18 7zM1000 200h-100v-50h100v50z" />
|
||||
<glyph unicode="" d="M1200 1199v-1079l-475 272l-310 -393v416h-392zM1166 1148l-672 -712v-226z" />
|
||||
<glyph unicode="" d="M1100 1000v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1200h-100v-200h100v200z" />
|
||||
<glyph unicode="" d="M578 500h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120zM700 1200h-100v-200h100v200zM1300 538l-475 -476l-244 244l123 123l120 -120l353 352z" />
|
||||
<glyph unicode="" d="M529 500h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170zM700 1200h-100v-200h100v200zM1167 6l-170 170l-170 -170l-127 127l170 170l-170 170l127 127l170 -170l170 170l127 -128 l-170 -169l170 -170z" />
|
||||
<glyph unicode="" d="M700 500h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200zM700 1000h-100v200h100v-200zM1000 600h-200v-300h-200l300 -300l300 300h-200v300z" />
|
||||
<glyph unicode="" d="M602 500h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200zM700 1000h-100v200h100v-200zM1000 300h200l-300 300l-300 -300h200v-300h200v300z" />
|
||||
<glyph unicode="" d="M1200 900v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h1200zM0 800v-550q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200zM100 500h400v-200h-400v200z" />
|
||||
<glyph unicode="" d="M500 1000h400v198l300 -298l-300 -298v198h-400v200zM100 800v200h100v-200h-100zM400 800h-100v200h100v-200zM700 300h-400v-198l-300 298l300 298v-198h400v-200zM800 500h100v-200h-100v200zM1000 500v-200h100v200h-100z" />
|
||||
<glyph unicode="" d="M1200 50v1106q0 31 -18 40.5t-44 -7.5l-276 -117q-25 -16 -43.5 -50.5t-18.5 -65.5v-359q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5zM550 1200l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447l-100 203v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300z" />
|
||||
<glyph unicode="" d="M1100 106v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394 q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5z" />
|
||||
<glyph unicode="" d="M675 1000l-100 100h-375l-100 -100h400l200 -200v-98l295 98h105v200h-425zM500 300v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5zM100 800h300v-200h-300v200zM700 565l400 133 v-163l-400 -133v163zM100 500h300v-200h-300v200zM805 300l295 98v-298h-425l-100 -100h-375l-100 100h400l200 200h105z" />
|
||||
<glyph unicode="" d="M179 1169l-162 -162q-1 -11 -0.5 -32.5t16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q16 17 13 40.5t-22 37.5l-192 136q-19 14 -45 12t-42 -19l-119 -118q-143 103 -267 227q-126 126 -227 268l118 118 q17 17 20 41.5t-11 44.5l-139 194q-14 19 -36.5 22t-40.5 -14z" />
|
||||
<glyph unicode="" d="M1200 712v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40t-53.5 -36.5t-31 -27.5l-9 -10v-200q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38 t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5zM800 650l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -15 -35.5t-35 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5 t30 -27.5t12 -24l1 -10v-50z" />
|
||||
<glyph unicode="" d="M175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250zM1200 100v-100h-1100v100h1100z" />
|
||||
<glyph unicode="" d="M600 1100h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300v1000q0 41 29.5 70.5t70.5 29.5zM1000 800h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300v700q0 41 29.5 70.5t70.5 29.5zM400 0v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400h300z" />
|
||||
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM200 800v-300h200v-100h-200v-100h300v300h-200v100h200v100h-300zM800 800h-200v-500h200v100h100v300h-100 v100zM800 700v-300h-100v300h100z" />
|
||||
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM400 600h-100v200h-100v-500h100v200h100v-200h100v500h-100v-200zM800 800h-200v-500h200v100h100v300h-100 v100zM800 700v-300h-100v300h100z" />
|
||||
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM200 800v-500h300v100h-200v300h200v100h-300zM600 800v-500h300v100h-200v300h200v100h-300z" />
|
||||
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM500 700l-300 -150l300 -150v300zM600 400l300 150l-300 150v-300z" />
|
||||
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM900 800v-500h-700v500h700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM800 700h-130 q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300z" />
|
||||
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM200 800v-300h200v-100h-200v-100h300v300h-200v100h200v100h-300zM800 300h100v500h-200v-100h100v-400z M601 300h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M1200 800v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212zM1000 900h-900v-700h900v700zM300 700v100h-100v-500h300v400h-200zM800 300h100v500h-200v-100h100v-400zM401 400h-100v200h100v-200z M601 300h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM1000 900h-900v-700h900v700zM400 700h-200v100h300v-300h-99v-100h-100v100h99v200zM800 700h-100v100h200v-500h-100v400zM201 400h100v-100 h-100v100zM701 300h-100v100h100v-100z" />
|
||||
<glyph unicode="" d="M600 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM600 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM800 700h-300 v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
||||
<glyph unicode="" d="M596 1196q162 0 299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299t80 299t217 217t299 80zM596 1014q-171 0 -292.5 -121.5t-121.5 -292.5t121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5zM800 700v-100 h-100v100h-200v-100h200v-100h-200v-100h-100v400h300zM800 400h-100v100h100v-100z" />
|
||||
<glyph unicode="" d="M800 300h128q120 0 205 86t85 208q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5q0 -80 56.5 -137t135.5 -57h222v300h400v-300zM700 200h200l-300 -300 l-300 300h200v300h200v-300z" />
|
||||
<glyph unicode="" d="M600 714l403 -403q94 26 154.5 104t60.5 178q0 121 -85 207.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5q0 -80 56.5 -137t135.5 -57h8zM700 -100h-200v300h-200l300 300 l300 -300h-200v-300z" />
|
||||
<glyph unicode="" d="M700 200h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-155l-75 -45h350l-75 45v155z" />
|
||||
<glyph unicode="" d="M700 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -12t1 -11q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5 q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350z" />
|
||||
<glyph unicode="💼" d="M800 1000h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100zM500 1000h200v100h-200v-100zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
||||
<glyph unicode="📅" d="M1100 900v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150h1100zM0 800v-750q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100zM100 600h100v-100h-100v100zM300 600h100v-100h-100v100z M500 600h100v-100h-100v100zM700 600h100v-100h-100v100zM900 600h100v-100h-100v100zM100 400h100v-100h-100v100zM300 400h100v-100h-100v100zM500 400h100v-100h-100v100zM700 400h100v-100h-100v100zM900 400h100v-100h-100v100zM100 200h100v-100h-100v100zM300 200 h100v-100h-100v100zM500 200h100v-100h-100v100zM700 200h100v-100h-100v100zM900 200h100v-100h-100v100z" />
|
||||
<glyph unicode="📌" d="M902 1185l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207l-380 -303l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="📎" d="M518 119l69 -60l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163t35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84 t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348 q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256z" />
|
||||
<glyph unicode="📷" d="M1200 200v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5z M1000 700h-100v100h100v-100zM844 500q0 -100 -72 -172t-172 -72t-172 72t-72 172t72 172t172 72t172 -72t72 -172zM706 500q0 44 -31 75t-75 31t-75 -31t-31 -75t31 -75t75 -31t75 31t31 75z" />
|
||||
<glyph unicode="🔒" d="M900 800h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
|
||||
<glyph unicode="🔔" d="M1062 400h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23t-167.5 -37t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94 q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327zM600 104q-54 0 -103 6q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6z" />
|
||||
<glyph unicode="🔖" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
||||
<glyph unicode="🔥" d="M400 755q2 -12 8 -41.5t8 -43t6 -39.5t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85t5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5 q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129 q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5z" />
|
||||
<glyph unicode="🔧" d="M948 778l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
Before Width: | Height: | Size: 62 KiB |
Binary file not shown.
Binary file not shown.
@@ -1,166 +0,0 @@
|
||||
@charset "UTF-8";
|
||||
#oe_manipulators {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1050;
|
||||
}
|
||||
|
||||
/* ---- Table Snippet ---- {{{ */
|
||||
.table_desc {
|
||||
margin: 0 0 20px 0;
|
||||
width: 100%;
|
||||
word-break: break-all;
|
||||
border: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
.table_heading {
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #dddddd;
|
||||
color: #666666;
|
||||
font-size: 14px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
table.table_desc tr td {
|
||||
text-align: left;
|
||||
padding: 5px;
|
||||
font-size: 13px;
|
||||
}
|
||||
table.table_desc tr td:first-child {
|
||||
width: 25%;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #c9c9c9;
|
||||
border-right: 1px solid #c9c9c9;
|
||||
border-left: none;
|
||||
}
|
||||
table.table_desc tr td:last-child {
|
||||
border-bottom: 1px solid #c9c9c9;
|
||||
}
|
||||
|
||||
/* ---- thumbnail ---- {{{ */
|
||||
.oe_snippet.o_block_banner .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_banner.png");
|
||||
}
|
||||
.oe_snippet.o_block_text_image .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_text_image.png");
|
||||
}
|
||||
.oe_snippet.o_block_image_text .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_image_text.png");
|
||||
}
|
||||
.oe_snippet.o_block_jumbotron .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_jumbotron.png");
|
||||
}
|
||||
.oe_snippet.o_block_text_block .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_text_block.png");
|
||||
}
|
||||
.oe_snippet.o_block_title .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_title.png");
|
||||
}
|
||||
.oe_snippet.o_block_features .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_features.png");
|
||||
}
|
||||
.oe_snippet.o_block_big_picture .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_big_picture.png");
|
||||
}
|
||||
.oe_snippet.o_block_three_columns .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_three_columns.png");
|
||||
}
|
||||
.oe_snippet.o_block_well .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_well.png");
|
||||
}
|
||||
.oe_snippet.o_block_quote .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_quote.png");
|
||||
}
|
||||
.oe_snippet.o_block_panel .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_panel.png");
|
||||
}
|
||||
.oe_snippet.o_block_image_float .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_text_image.png");
|
||||
}
|
||||
.oe_snippet.o_block_image_floating .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_text_image.png");
|
||||
}
|
||||
.oe_snippet.o_block_separator .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_separator.png");
|
||||
}
|
||||
.oe_snippet.o_block_button .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_button.png");
|
||||
}
|
||||
.oe_snippet.o_block_image_gallery .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_image_gallery.png");
|
||||
}
|
||||
.oe_snippet.o_block_comparison .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_comparison.png");
|
||||
}
|
||||
.oe_snippet.o_block_button .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_button.png");
|
||||
}
|
||||
.oe_snippet.o_block_faq .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_faq.png");
|
||||
}
|
||||
.oe_snippet.o_block_references .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_references.png");
|
||||
}
|
||||
.oe_snippet.o_block_quotes_slider .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_quotes_slider.png");
|
||||
}
|
||||
.oe_snippet.o_block_features .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_features.png");
|
||||
}
|
||||
.oe_snippet.o_block_parallax .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_parallax.png");
|
||||
}
|
||||
.oe_snippet.o_block_quotes_slider .oe_snippet_thumbnail_img {
|
||||
background-image: url("/website/static/src/img/blocks/block_quotes_slider.png");
|
||||
}
|
||||
|
||||
/* snippets default margins */
|
||||
.s_banner {
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.s_big_message {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.s_text_block {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.s_features {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.s_big_picture {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.s_three_columns {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.s_references {
|
||||
margin-top: 16px;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.s_quotes_slider {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.s_features_grid {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
/* other snippet styles */
|
||||
.s_comparisons .panel .list-group-item:not(.active) {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.s_references .img-thumbnail {
|
||||
border: none;
|
||||
}
|
||||
@@ -1,142 +0,0 @@
|
||||
@import "compass/css3"
|
||||
@import "compass/css3/user-interface"
|
||||
@import "compass/css3/transition"
|
||||
|
||||
#oe_manipulators
|
||||
position: absolute
|
||||
top: 0
|
||||
z-index: 1050
|
||||
|
||||
|
||||
/* ---- Table Snippet ---- {{{ */
|
||||
|
||||
.table_desc
|
||||
margin: 0 0 20px 0
|
||||
width: 100%
|
||||
word-break: break-all
|
||||
border: 1px solid #dddddd
|
||||
|
||||
.table_heading
|
||||
background-color: #f5f5f5
|
||||
border: 1px solid #dddddd
|
||||
color: #666666
|
||||
font-size: 14px
|
||||
padding: 4px
|
||||
|
||||
table.table_desc tr td
|
||||
text-align: left
|
||||
padding: 5px
|
||||
font-size: 13px
|
||||
&:first-child
|
||||
width: 25%
|
||||
font-weight: bold
|
||||
border-bottom: 1px solid #c9c9c9
|
||||
border-right: 1px solid #c9c9c9
|
||||
border-left: none
|
||||
&:last-child
|
||||
border-bottom: 1px solid #c9c9c9
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- thumbnail ---- {{{ */
|
||||
|
||||
.oe_snippet
|
||||
&.o_block_banner .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_banner.png')
|
||||
&.o_block_text_image .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_text_image.png')
|
||||
&.o_block_image_text .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_image_text.png')
|
||||
&.o_block_jumbotron .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_jumbotron.png')
|
||||
&.o_block_text_block .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_text_block.png')
|
||||
&.o_block_title .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_title.png')
|
||||
&.o_block_features .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_features.png')
|
||||
&.o_block_big_picture .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_big_picture.png')
|
||||
&.o_block_three_columns .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_three_columns.png')
|
||||
|
||||
&.o_block_well .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_well.png')
|
||||
&.o_block_quote .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_quote.png')
|
||||
&.o_block_panel .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_panel.png')
|
||||
&.o_block_image_float .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_text_image.png')
|
||||
&.o_block_image_floating .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_text_image.png')
|
||||
&.o_block_separator .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_separator.png')
|
||||
&.o_block_button .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_button.png')
|
||||
|
||||
&.o_block_image_gallery .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_image_gallery.png')
|
||||
&.o_block_comparison .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_comparison.png')
|
||||
&.o_block_button .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_button.png')
|
||||
&.o_block_faq .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_faq.png')
|
||||
&.o_block_references .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_references.png')
|
||||
&.o_block_quotes_slider .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_quotes_slider.png')
|
||||
&.o_block_features .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_features.png')
|
||||
|
||||
&.o_block_parallax .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_parallax.png')
|
||||
&.o_block_quotes_slider .oe_snippet_thumbnail_img
|
||||
background-image: url('/website/static/src/img/blocks/block_quotes_slider.png')
|
||||
// }}}
|
||||
|
||||
/* snippets default margins */
|
||||
.s_banner
|
||||
margin-bottom: 32px
|
||||
|
||||
.s_big_message
|
||||
margin-top: 16px
|
||||
margin-bottom: 16px
|
||||
|
||||
.s_text_block
|
||||
margin-top: 16px
|
||||
margin-bottom: 16px
|
||||
|
||||
.s_features
|
||||
margin-top: 16px
|
||||
|
||||
.s_big_picture
|
||||
margin-top: 16px
|
||||
margin-bottom: 16px
|
||||
|
||||
.s_three_columns
|
||||
margin-top: 16px
|
||||
margin-bottom: 16px
|
||||
|
||||
.s_references
|
||||
margin-top: 16px
|
||||
margin-bottom: 32px
|
||||
|
||||
.s_quotes_slider
|
||||
margin-bottom: 0px
|
||||
|
||||
.s_features_grid
|
||||
margin-bottom: 16px
|
||||
|
||||
|
||||
/* other snippet styles */
|
||||
|
||||
.s_comparisons
|
||||
.panel
|
||||
.list-group-item:not(.active)
|
||||
color: #666
|
||||
|
||||
.s_references
|
||||
.img-thumbnail
|
||||
border: none
|
||||
@@ -1,800 +0,0 @@
|
||||
@charset "UTF-8";
|
||||
/* THIS CSS FILE IS FOR WEBSITE THEMING CUSTOMIZATION ONLY
|
||||
*
|
||||
* css for editor buttons, openerp widget included in the website and other
|
||||
* stuff must go to the editor.css
|
||||
*
|
||||
*/
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
li > ul {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
li > * > li > ul {
|
||||
list-style-type: square;
|
||||
}
|
||||
|
||||
li > * > li > * > li > ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
li > * > li > * > li > * > li > ul {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
li > * > li > * > li > * > li > * > li > ul {
|
||||
list-style-type: square;
|
||||
}
|
||||
|
||||
li > * > li > * > li > * > li > * > li > * > li > ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
li > ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
|
||||
li > * > li > ol {
|
||||
list-style-type: lower-greek;
|
||||
}
|
||||
|
||||
li > * > li > * > li > ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
li > * > li > * > li > * > li > ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
|
||||
li > * > li > * > li > * > li > * > li > ol {
|
||||
list-style-type: lower-greek;
|
||||
}
|
||||
|
||||
li > * > li > * > li > * > li > * > li > * > li > ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
li > p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
font[style*='background'], font[class*='bg-'] {
|
||||
padding: 0 2px;
|
||||
}
|
||||
|
||||
.o_ul_toggle_self, .o_ul_toggle_next {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.o_ul_folded .o_close {
|
||||
display: none !important;
|
||||
}
|
||||
.o_ul_folded .o_ul_toggle_self, .o_ul_folded .o_ul_toggle_next {
|
||||
display: inline-block;
|
||||
line-height: inherit;
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-left: -1em;
|
||||
z-index: 1;
|
||||
top: -0.15em;
|
||||
left: 0.2em;
|
||||
font-size: 1.4em;
|
||||
text-decoration: none;
|
||||
}
|
||||
.o_ul_folded .o_ul_toggle_self:before, .o_ul_folded .o_ul_toggle_next:before {
|
||||
content: "";
|
||||
}
|
||||
.o_ul_folded .o_ul_toggle_self.o_open, .o_ul_folded .o_ul_toggle_next.o_open {
|
||||
left: 0em;
|
||||
}
|
||||
.o_ul_folded .o_ul_toggle_self.o_open:before, .o_ul_folded .o_ul_toggle_next.o_open:before {
|
||||
content: "";
|
||||
}
|
||||
|
||||
/* Extra Styles */
|
||||
h1.text-muted, h2.text-muted, h3.text-muted {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
header a.navbar-brand.logo {
|
||||
padding: 0 15px;
|
||||
}
|
||||
header a.navbar-brand img {
|
||||
max-height: 50px;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin-bottom: 10px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
/* ----- Snippets Styles ----- */
|
||||
.para_large {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
.jumbotron.para_large p {
|
||||
font-size: 150%;
|
||||
}
|
||||
|
||||
.readable {
|
||||
font-size: 120%;
|
||||
max-width: 700px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/* ----- BOOTSTRAP FIX ----- */
|
||||
.container .container, .readable .container {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
width: auto!important;
|
||||
}
|
||||
|
||||
/* ----- BOOTSTRAP HACK FOR HEADER NAV BAR ----- */
|
||||
.navbar.navbar-static-top {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.navbar.navbar-static-top ul.nav > li.divider {
|
||||
margin-top: 15px;
|
||||
padding-top: 20px;
|
||||
border-right: 1px solid grey;
|
||||
}
|
||||
|
||||
/* ----- BOOTSTRAP HACK FOR STICKY FOOTER ----- */
|
||||
html, body, #wrapwrap {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#wrapwrap {
|
||||
display: table;
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
}
|
||||
#wrapwrap > * {
|
||||
display: table-row;
|
||||
}
|
||||
#wrapwrap > main {
|
||||
height: 100%;
|
||||
}
|
||||
#wrapwrap > footer {
|
||||
height: 100%;
|
||||
background: rgba(200, 200, 200, 0.1);
|
||||
}
|
||||
|
||||
body > nav.navbar {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
@media (min-width: 767px) {
|
||||
nav.navbar + #wrapwrap {
|
||||
padding-top: 34px;
|
||||
}
|
||||
}
|
||||
/* ----- BOOTSTRAP FIX ----- */
|
||||
@-moz-document url-prefix() {
|
||||
.table .img-responsive {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.navbar .nav > li > p {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
/* ---- HOMEPAGE THEME CUSTOMIZATION ---- */
|
||||
.nav-hierarchy {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
/* -- Hack for removing double scrollbar from mobile preview -- */
|
||||
div#mobile-preview.modal {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
ul.nav-stacked > li > a {
|
||||
padding: 2px 15px;
|
||||
}
|
||||
|
||||
#customize-menu .dropdown-header {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* ---- PUBLISH ---- */
|
||||
.css_published .btn-danger, .css_published .css_publish {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.css_unpublished .btn-success, .css_unpublished .css_unpublish {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[data-publish='off'] > *:not(.css_options) {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/* ---- END of PUBLISH ---- */
|
||||
::-moz-selection {
|
||||
background: rgba(150, 150, 220, 0.3);
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: rgba(150, 150, 220, 0.3);
|
||||
}
|
||||
|
||||
.logo-img {
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.o_normalwhitespace {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.oe_demo {
|
||||
position: relative;
|
||||
}
|
||||
.oe_demo img {
|
||||
width: 100%;
|
||||
}
|
||||
.oe_demo div {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
opacity: 0.85;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
padding: 7px;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
.oe_demo div a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* ---- SNIPPETS --- */
|
||||
.oe_img_bg {
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.carousel, .parallax, .blockquote {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@media (max-width: 400px) {
|
||||
section, .parallax, .row, .hr, .blockquote {
|
||||
height: auto !important;
|
||||
}
|
||||
}
|
||||
.carousel-inner {
|
||||
height: 100%;
|
||||
}
|
||||
.carousel-inner .item {
|
||||
height: 100%;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.carousel .carousel-control {
|
||||
cursor: pointer;
|
||||
}
|
||||
.carousel .carousel-control span {
|
||||
top: 50%;
|
||||
position: absolute;
|
||||
margin-top: -8px;
|
||||
}
|
||||
.carousel .carousel-control.left {
|
||||
left: -10px;
|
||||
}
|
||||
.carousel .carousel-control.left * {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
z-index: 5;
|
||||
right: 50%;
|
||||
}
|
||||
.carousel .carousel-control.right {
|
||||
right: -10px;
|
||||
}
|
||||
.carousel .carousel-control.right * {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
z-index: 5;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
.quotecarousel {
|
||||
padding-bottom: 16px;
|
||||
}
|
||||
|
||||
.hr {
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
.o_image_floating {
|
||||
width: 40%;
|
||||
margin: 4px;
|
||||
}
|
||||
.o_image_floating div.o_container {
|
||||
position: relative;
|
||||
}
|
||||
.o_image_floating div.o_container mark {
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
background-color: rgba(86, 61, 124, 0.25);
|
||||
}
|
||||
.o_image_floating div.o_container mark a {
|
||||
color: white;
|
||||
}
|
||||
.o_image_floating.o_hide_link div.o_container mark {
|
||||
display: none;
|
||||
}
|
||||
.o_image_floating.o_margin_s {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.o_image_floating.o_margin_s.pull-right {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.o_image_floating.o_margin_s.pull-left {
|
||||
margin-right: 8px;
|
||||
}
|
||||
.o_image_floating.o_margin_m {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.o_image_floating.o_margin_m.pull-right {
|
||||
margin-left: 12px;
|
||||
}
|
||||
.o_image_floating.o_margin_m.pull-left {
|
||||
margin-right: 12px;
|
||||
}
|
||||
.o_image_floating.o_margin_l {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.o_image_floating.o_margin_l.pull-right {
|
||||
margin-left: 16px;
|
||||
}
|
||||
.o_image_floating.o_margin_l.pull-left {
|
||||
margin-right: 16px;
|
||||
}
|
||||
.o_image_floating.o_margin_xl {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
.o_image_floating.o_margin_xl.pull-right {
|
||||
margin-left: 32px;
|
||||
}
|
||||
.o_image_floating.o_margin_xl.pull-left {
|
||||
margin-right: 32px;
|
||||
}
|
||||
|
||||
/* gallery */
|
||||
.o_gallery.o_grid .img, .o_gallery.o_masonry .img {
|
||||
width: 100%;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-none div.row {
|
||||
margin: 0;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-none div.row > * {
|
||||
padding: 0;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-small div.row {
|
||||
margin: 5px 0;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-small div.row > * {
|
||||
padding: 0 5px;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-medium div.row {
|
||||
margin: 10px 0;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-medium div.row > * {
|
||||
padding: 0 10px;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-big div.row {
|
||||
margin: 15px 0;
|
||||
}
|
||||
.o_gallery.o_grid.o_spc-big div.row > * {
|
||||
padding: 0 15px;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-none div.col {
|
||||
padding: 0;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-none div.col > img {
|
||||
margin: 0 !important;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-small div.col {
|
||||
padding: 0 5px;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-small div.col > img {
|
||||
margin: 5px 0 !important;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-medium div.col {
|
||||
padding: 0 10px;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-medium div.col > img {
|
||||
margin: 10px 0 !important;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-big div.col {
|
||||
padding: 0 15px;
|
||||
}
|
||||
.o_gallery.o_masonry.o_spc-big div.col > img {
|
||||
margin: 15px 0 !important;
|
||||
}
|
||||
.o_gallery.o_grid.size-auto .row {
|
||||
height: auto;
|
||||
}
|
||||
.o_gallery.o_grid.size-small .row {
|
||||
height: 100px;
|
||||
}
|
||||
.o_gallery.o_grid.size-medium .row {
|
||||
height: 250px;
|
||||
}
|
||||
.o_gallery.o_grid.size-big .row {
|
||||
height: 400px;
|
||||
}
|
||||
.o_gallery.o_grid.size-small .img, .o_gallery.o_grid.size-medium .img, .o_gallery.o_grid.size-big .img {
|
||||
height: 100%;
|
||||
}
|
||||
.o_gallery.o_nomode.o_spc-none .img {
|
||||
padding: 0;
|
||||
}
|
||||
.o_gallery.o_nomode.o_spc-small .img {
|
||||
padding: 5px;
|
||||
}
|
||||
.o_gallery.o_nomode.o_spc-medium .img {
|
||||
padding: 10px;
|
||||
}
|
||||
.o_gallery.o_nomode.o_spc-big .img {
|
||||
padding: 15px;
|
||||
}
|
||||
.o_gallery.o_slideshow .carousel ul.carousel-indicators li {
|
||||
border: 1px solid #aaa;
|
||||
}
|
||||
.o_gallery .carousel-inner .item img {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
.o_gallery.o_slideshow > .container {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.o_gallery.o_slideshow .carousel, .modal-body.o_slideshow .carousel {
|
||||
height: 100%;
|
||||
}
|
||||
.o_gallery.o_slideshow .carousel .item, .modal-body.o_slideshow .carousel .item {
|
||||
padding-bottom: 64px;
|
||||
}
|
||||
.o_gallery.o_slideshow .carousel img, .modal-body.o_slideshow .carousel img {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
margin: auto;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
-ms-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.o_gallery.o_slideshow .carousel ul.carousel-indicators, .modal-body.o_slideshow .carousel ul.carousel-indicators {
|
||||
display: block;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
border-width: 0;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
.o_gallery.o_slideshow .carousel ul.carousel-indicators > *, .modal-body.o_slideshow .carousel ul.carousel-indicators > * {
|
||||
list-style-image: none;
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin: 0 0px 5px 5px;
|
||||
padding: 0;
|
||||
border: 1px solid #aaa;
|
||||
text-indent: initial;
|
||||
background-size: cover;
|
||||
background-color: #fff;
|
||||
border-radius: 0;
|
||||
}
|
||||
.o_gallery.o_slideshow .carousel ul.carousel-indicators > *:not(.active), .modal-body.o_slideshow .carousel ul.carousel-indicators > *:not(.active) {
|
||||
opacity: 0.8;
|
||||
-webkit-filter: grayscale(100%);
|
||||
filter: grayscale(100%);
|
||||
filter: gray;
|
||||
filter: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale");
|
||||
}
|
||||
.o_gallery.o_slideshow .carousel .carousel-control.left, .o_gallery.o_slideshow .carousel .carousel-control.right, .modal-body.o_slideshow .carousel .carousel-control.left, .modal-body.o_slideshow .carousel .carousel-control.right {
|
||||
background-image: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* Parallax Theme */
|
||||
div.carousel .carousel-indicators li {
|
||||
border: 1px solid grey;
|
||||
}
|
||||
div.carousel .carousel-indicators .active {
|
||||
background-color: grey;
|
||||
}
|
||||
div.carousel span.carousel-img img, div.carousel div.carousel-content {
|
||||
max-height: 95%;
|
||||
padding: 10px;
|
||||
}
|
||||
div.carousel div.carousel-content {
|
||||
background-color: black;
|
||||
color: white;
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.parallax {
|
||||
background-size: cover;
|
||||
}
|
||||
.parallax > div {
|
||||
position: relative;
|
||||
display: table;
|
||||
width: 100%;
|
||||
min-height: 200px;
|
||||
}
|
||||
.parallax > div > div {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
padding: 32px 0;
|
||||
}
|
||||
|
||||
/* Background (kept for 8.0 compatibility) */
|
||||
.oe_dark {
|
||||
background-color: rgba(200, 200, 200, 0.14);
|
||||
}
|
||||
|
||||
.oe_black {
|
||||
background-color: rgba(0, 0, 0, 0.9);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.oe_green {
|
||||
background-color: #169C78;
|
||||
color: white;
|
||||
}
|
||||
.oe_green .text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.oe_blue_light {
|
||||
background-color: #41b6ab;
|
||||
color: white;
|
||||
}
|
||||
.oe_blue_light .text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.oe_blue {
|
||||
background-color: #34495e;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.oe_orange {
|
||||
background-color: #f05442;
|
||||
color: white;
|
||||
}
|
||||
.oe_orange .text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.oe_purple {
|
||||
background-color: #b163a3;
|
||||
color: white;
|
||||
}
|
||||
.oe_purple .text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.oe_red {
|
||||
background-color: #9C1b31;
|
||||
color: white;
|
||||
}
|
||||
.oe_red .text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
.oe_none {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.oe_yellow {
|
||||
background-color: #A2A51B;
|
||||
}
|
||||
|
||||
.oe_green {
|
||||
background-color: #149F2C;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
.texttop {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.well tr th {
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
}
|
||||
table.well tr td {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.logo-img {
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.oe_demo {
|
||||
position: relative;
|
||||
}
|
||||
.oe_demo img {
|
||||
width: 100%;
|
||||
}
|
||||
.oe_demo div {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
opacity: 0.85;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
padding: 7px;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
.oe_demo div a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.oe_template_fallback {
|
||||
-moz-column-count: 3;
|
||||
-webkit-column-count: 3;
|
||||
column-count: 3;
|
||||
}
|
||||
|
||||
.oe_website_login_container {
|
||||
width: 400px;
|
||||
margin: 40px auto;
|
||||
}
|
||||
|
||||
.oe_website_overflow_ellipsis {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.oe_website_spinner {
|
||||
width: 121px;
|
||||
}
|
||||
.oe_website_spinner input {
|
||||
text-align: center;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
div.carousel .container > .carousel-caption {
|
||||
position: absolute;
|
||||
right: 50%;
|
||||
left: 50%;
|
||||
bottom: 20px;
|
||||
}
|
||||
div.carousel .container > .carousel-caption > div {
|
||||
position: absolute;
|
||||
text-align: left;
|
||||
padding: 20px;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
bottom: 20px;
|
||||
}
|
||||
div.carousel .container > .carousel-image {
|
||||
top: 5%;
|
||||
bottom: 5%;
|
||||
position: absolute;
|
||||
max-height: 90%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
div.carousel .item.text_image .container > .carousel-caption {
|
||||
left: 10%;
|
||||
}
|
||||
div.carousel .item.text_image .container > .carousel-caption > div {
|
||||
right: 50%;
|
||||
margin-right: -20%;
|
||||
max-width: 550px;
|
||||
}
|
||||
div.carousel .item.text_image .container > .carousel-image {
|
||||
right: 10%;
|
||||
left: 50%;
|
||||
}
|
||||
div.carousel .item.image_text .container > .carousel-caption {
|
||||
right: 10%;
|
||||
}
|
||||
div.carousel .item.image_text .container > .carousel-caption > div {
|
||||
left: 50%;
|
||||
margin-left: -20%;
|
||||
max-width: 550px;
|
||||
}
|
||||
div.carousel .item.image_text .container > .carousel-image {
|
||||
right: 50%;
|
||||
left: 10%;
|
||||
}
|
||||
div.carousel .item.text_only .container > .carousel-caption {
|
||||
left: 10%;
|
||||
right: 10%;
|
||||
top: 10%;
|
||||
bottom: auto;
|
||||
}
|
||||
div.carousel .item.text_only .container > .carousel-caption > div {
|
||||
text-align: center;
|
||||
background: transparent;
|
||||
bottom: auto;
|
||||
width: 100%;
|
||||
}
|
||||
div.carousel .item.text_only .container > .carousel-image {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* ---- Menu nav bar ---- {{{ */
|
||||
#oe_main_menu_navbar {
|
||||
position: fixed;
|
||||
min-height: 34px;
|
||||
z-index: 1001;
|
||||
-moz-border-radius: 0px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
#oe_main_menu_navbar li a, #oe_main_menu_navbar li button {
|
||||
padding: 4px 8px 4px 8px;
|
||||
margin-top: 2px;
|
||||
font-size: 13px;
|
||||
}
|
||||
#oe_main_menu_navbar .navbar-nav.navbar-right:last-child {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
/* ---- footer style ---- {{{ */
|
||||
#footer div.row {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.container nav#oe_main_menu_navbar {
|
||||
position: inherit;
|
||||
}
|
||||
|
||||
.oe_search_clear {
|
||||
position: absolute;
|
||||
display: none;
|
||||
cursor: pointer;
|
||||
z-index: 2;
|
||||
right: 42px;
|
||||
color: #939393;
|
||||
padding: 10px 0;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
.oe_search_box {
|
||||
padding-right: 23px;
|
||||
}
|
||||
|
||||
.note-editor button {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.o_hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#PlannerDialog {
|
||||
top: 35px;
|
||||
-webkit-box-shadow: 0 3px 9px #666666;
|
||||
box-shadow: 0 3px 9px #666666;
|
||||
}
|
||||
|
||||
.tour .popover-navigation {
|
||||
margin-left: 13px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
@@ -1,255 +0,0 @@
|
||||
@charset "utf-8";
|
||||
/* ---- Common---- {{{ */
|
||||
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
/* ---- MOBILE PREVIEW ---- {{{ */
|
||||
.oe_mobile_preview.modal .modal-content {
|
||||
height: 660px;
|
||||
background-color: #000000;
|
||||
border: 2px solid #1C1F1F;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
max-width: 330px;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header {
|
||||
background-color: #000000;
|
||||
border-bottom: 0;
|
||||
-moz-border-radius-topleft: 10px;
|
||||
-webkit-border-top-left-radius: 10px;
|
||||
border-top-left-radius: 10px;
|
||||
-moz-border-radius-topright: 10px;
|
||||
-webkit-border-top-right-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header .modal-title {
|
||||
color: #1C1F1F;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header .close {
|
||||
color: lightgrey;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
|
||||
opacity: 1;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-header .close:hover {
|
||||
color: #E00101;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
|
||||
opacity: 1;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-body {
|
||||
background-color: #000000;
|
||||
max-height: 600px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-body .oe_mobile_viewport {
|
||||
width: 320px;
|
||||
height: 568px;
|
||||
padding: 5px;
|
||||
border: none;
|
||||
}
|
||||
.oe_mobile_preview.modal .modal-content .modal-footer {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
/* ---- SEO TOOLS ---- {{{ */
|
||||
.oe_seo_configuration .modal-dialog {
|
||||
width: 80%;
|
||||
}
|
||||
.oe_seo_configuration .oe_remove {
|
||||
color: #E00101;
|
||||
}
|
||||
.oe_seo_configuration .oe_seo_suggestion {
|
||||
cursor: pointer;
|
||||
}
|
||||
.oe_seo_configuration .oe_seo_keyword {
|
||||
padding: 0.2em 0.4em 0.2em 0.5em;
|
||||
-moz-border-radius: 0.4em;
|
||||
-webkit-border-radius: 0.4em;
|
||||
border-radius: 0.4em;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g {
|
||||
line-height: 1.2;
|
||||
list-style: none;
|
||||
list-style-image: none;
|
||||
list-style-position: outside;
|
||||
list-style-type: none;
|
||||
font-size: small;
|
||||
font-family: arial, sans-serif;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g h3 {
|
||||
font-size: medium;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .r {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .r a {
|
||||
color: #1e0fbe;
|
||||
text-decoration: underline;
|
||||
text-transform: none;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .r a em {
|
||||
font-style: normal !important;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .s {
|
||||
color: #444;
|
||||
max-width: 42em;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .kv, .oe_seo_configuration li.oe_seo_preview_g .slp {
|
||||
display: block;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .f {
|
||||
color: #666;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .f cite {
|
||||
color: #006621;
|
||||
font-style: normal;
|
||||
font-size: 14px;
|
||||
}
|
||||
.oe_seo_configuration li.oe_seo_preview_g .st {
|
||||
line-height: 1.24;
|
||||
}
|
||||
|
||||
/* ---- ACE EDITOR ---- {{{ */
|
||||
.oe_ace_view_editor {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
z-index: 1001;
|
||||
height: 100%;
|
||||
background: #2F3129;
|
||||
color: white;
|
||||
}
|
||||
.oe_ace_view_editor .oe_ace_view_editor_title {
|
||||
width: 100%;
|
||||
padding-top: 0;
|
||||
padding-left: 0;
|
||||
height: 30px;
|
||||
}
|
||||
.oe_ace_view_editor .oe_ace_view_editor_title .oe_view_list {
|
||||
width: 50%;
|
||||
height: 30px;
|
||||
font-size: 14px;
|
||||
font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "source-code-pro", monospace;
|
||||
line-height: normal;
|
||||
}
|
||||
.oe_ace_view_editor .oe_ace_view_editor_title .btn {
|
||||
height: 30px;
|
||||
padding: 0 4px 0 4px;
|
||||
font-size: 14px;
|
||||
font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "source-code-pro", monospace;
|
||||
line-height: normal;
|
||||
}
|
||||
.oe_ace_view_editor .ace_editor {
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
right: 0;
|
||||
left: 0;
|
||||
}
|
||||
.oe_ace_view_editor .ace_editor .ace_gutter {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
.oe_ace_view_editor #ace-view-id {
|
||||
padding: 0 1em;
|
||||
}
|
||||
.oe_ace_view_editor.oe_ace_open {
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=97);
|
||||
opacity: 0.97;
|
||||
}
|
||||
.oe_ace_view_editor.oe_ace_closed {
|
||||
z-index: -1000;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.oe_include_bundles {
|
||||
font-weight: normal;
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
/* ---- CUSTOMIZE THEME ---- {{{ */
|
||||
#theme_error {
|
||||
background: #ffc;
|
||||
}
|
||||
|
||||
#theme_customize_modal {
|
||||
overflow: auto;
|
||||
z-index: 1020;
|
||||
background: transparent;
|
||||
display: block;
|
||||
}
|
||||
#theme_customize_modal .modal-dialog {
|
||||
top: 75px;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
font-family: "Lato-Regular";
|
||||
font-weight: normal;
|
||||
text-transform: capitalize;
|
||||
letter-spacing: normal;
|
||||
}
|
||||
#theme_customize_modal .modal-h5 {
|
||||
color: #ffffff;
|
||||
font-family: "Lato-Regular";
|
||||
font-weight: normal;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: normal;
|
||||
font-size: 14px;
|
||||
color: white;
|
||||
padding: 4px 0 4px 4px;
|
||||
background-color: #bdc3c7;
|
||||
}
|
||||
#theme_customize_modal table {
|
||||
width: 100%;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
#theme_customize_modal label {
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
#theme_customize_modal label > div, #theme_customize_modal label > img {
|
||||
border: 1px solid #fff;
|
||||
line-height: 30px;
|
||||
font-size: 0.9em;
|
||||
margin: 2px 4px;
|
||||
}
|
||||
#theme_customize_modal label.checked > div, #theme_customize_modal label.checked > img {
|
||||
box-shadow: 2px 2px 3px #888;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
#theme_customize_modal label img {
|
||||
width: 60px;
|
||||
height: 35px;
|
||||
margin: 2px;
|
||||
border: 1px solid rgba(136, 136, 136, 0.5);
|
||||
}
|
||||
#theme_customize_modal label input {
|
||||
display: none;
|
||||
}
|
||||
#theme_customize_modal .loading_backdrop {
|
||||
display: none;
|
||||
}
|
||||
#theme_customize_modal.loading .loading_backdrop {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #000;
|
||||
opacity: 0.3;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
@@ -1,226 +0,0 @@
|
||||
@charset "utf-8"
|
||||
@import "common"
|
||||
|
||||
/* ---- Common---- {{{ */
|
||||
|
||||
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12
|
||||
min-height: 24px
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- MOBILE PREVIEW ---- {{{ */
|
||||
|
||||
$mobile_preview_background: #000000
|
||||
$mobile_preview_border: #1C1F1F
|
||||
$icon_close: #E00101
|
||||
.oe_mobile_preview
|
||||
&.modal .modal-content
|
||||
height: 660px
|
||||
background-color: $mobile_preview_background
|
||||
border: 2px solid $mobile_preview_border
|
||||
+border-radius(10px)
|
||||
margin: auto
|
||||
top: 0
|
||||
left: 0
|
||||
bottom: 0
|
||||
right: 0
|
||||
max-width: 330px
|
||||
.modal-header
|
||||
background-color: $mobile_preview_background
|
||||
border-bottom: 0
|
||||
+border-top-left-radius(10px)
|
||||
+border-top-right-radius(10px)
|
||||
.modal-title
|
||||
color: $mobile_preview_border
|
||||
.close
|
||||
color: lightgrey
|
||||
+opacity(1)
|
||||
.close:hover
|
||||
color: $icon_close
|
||||
+opacity(1)
|
||||
.modal-body
|
||||
background-color: $mobile_preview_background
|
||||
max-height: 600px
|
||||
padding: 0
|
||||
margin: 0
|
||||
.oe_mobile_viewport
|
||||
width: 320px
|
||||
height: 568px
|
||||
padding: 5px
|
||||
border: none
|
||||
.modal-footer
|
||||
background-color: $mobile_preview_background
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- SEO TOOLS ---- {{{ */
|
||||
|
||||
$remove_color: $icon_close
|
||||
$in_title_color: #5cb85c
|
||||
$in_description_color: #428bca
|
||||
$in_body_color: #5bc0de
|
||||
$highlighted_text_color: #ffffff
|
||||
.oe_seo_configuration
|
||||
.modal-dialog
|
||||
width: 80%
|
||||
.oe_remove
|
||||
color: $remove_color
|
||||
.oe_seo_suggestion
|
||||
cursor: pointer
|
||||
.oe_seo_keyword
|
||||
padding: .2em .4em .2em .5em
|
||||
+border-radius(.4em)
|
||||
li.oe_seo_preview_g
|
||||
line-height: 1.2
|
||||
list-style: none
|
||||
list-style-image: none
|
||||
list-style-position: outside
|
||||
list-style-type: none
|
||||
font-size: small
|
||||
font-family: arial,sans-serif
|
||||
h3
|
||||
font-size: medium
|
||||
.r
|
||||
margin: 0
|
||||
font-size: 16px
|
||||
font-style: normal
|
||||
font-weight: normal
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
-webkit-text-overflow: ellipsis
|
||||
white-space: nowrap
|
||||
a
|
||||
color: rgb(30, 15, 190)
|
||||
text-decoration: underline
|
||||
text-transform: none
|
||||
em
|
||||
font-style: normal !important
|
||||
.s
|
||||
color: #444
|
||||
max-width: 42em
|
||||
.kv,.slp
|
||||
display: block
|
||||
margin-bottom: 1px
|
||||
.f
|
||||
color: #666
|
||||
margin-bottom: 1px
|
||||
cite
|
||||
color: #006621
|
||||
font-style: normal
|
||||
font-size: 14px
|
||||
.st
|
||||
line-height: 1.24
|
||||
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- ACE EDITOR ---- {{{ */
|
||||
|
||||
$editorbar_height: 30px
|
||||
$infobar_height: 20px
|
||||
// TODO Fix => might break with themes
|
||||
|
||||
.oe_ace_view_editor
|
||||
position: fixed
|
||||
// top property is set programmatically
|
||||
right: 0
|
||||
z-index: 1001
|
||||
height: 100%
|
||||
background: #2F3129
|
||||
color: white
|
||||
.oe_ace_view_editor_title
|
||||
width: 100%
|
||||
padding-top: 0
|
||||
padding-left: 0
|
||||
height: $editorbar_height
|
||||
.oe_view_list
|
||||
width: 50%
|
||||
height: $editorbar_height
|
||||
@include editor-font
|
||||
.btn
|
||||
height: $editorbar_height
|
||||
padding: 0 4px 0 4px
|
||||
@include editor-font
|
||||
.ace_editor
|
||||
position: absolute
|
||||
top: $editorbar_height + $infobar_height
|
||||
right: 0
|
||||
// bottom property is set programmatically
|
||||
left: 0
|
||||
.ace_gutter
|
||||
cursor: ew-resize
|
||||
#ace-view-id
|
||||
padding: 0 1em
|
||||
&.oe_ace_open
|
||||
+opacity(0.97)
|
||||
&.oe_ace_closed
|
||||
z-index: -1000
|
||||
+opacity(0)
|
||||
|
||||
.oe_include_bundles
|
||||
font-weight: normal
|
||||
padding: 0 8px
|
||||
|
||||
// }}}
|
||||
|
||||
/* ---- CUSTOMIZE THEME ---- {{{ */
|
||||
#theme_error
|
||||
background: #ffc
|
||||
#theme_customize_modal
|
||||
overflow: auto
|
||||
z-index: 1020
|
||||
background: transparent
|
||||
display: block
|
||||
.modal-dialog
|
||||
top: 75px
|
||||
width: auto
|
||||
margin: 0
|
||||
position: absolute
|
||||
right: 10px
|
||||
font-family: 'Lato-Regular'
|
||||
font-weight: normal
|
||||
text-transform: capitalize
|
||||
letter-spacing: normal
|
||||
.modal-h5
|
||||
color: #ffffff
|
||||
font-family: 'Lato-Regular'
|
||||
font-weight: normal
|
||||
text-transform: uppercase
|
||||
letter-spacing: normal
|
||||
font-size: 14px
|
||||
color: white
|
||||
padding: 4px 0 4px 4px
|
||||
background-color: #bdc3c7
|
||||
table
|
||||
width: 100%
|
||||
margin-bottom: 8px
|
||||
label
|
||||
display: block
|
||||
text-align: center
|
||||
> div, > img
|
||||
border: 1px solid #fff
|
||||
line-height: 30px
|
||||
font-size: 0.9em
|
||||
margin: 2px 4px
|
||||
&.checked
|
||||
> div, > img
|
||||
box-shadow: 2px 2px 3px #888
|
||||
border: 1px solid #666
|
||||
img
|
||||
width: 60px
|
||||
height: 35px
|
||||
margin: 2px
|
||||
border: 1px solid rgba(136, 136, 136, 0.5)
|
||||
input
|
||||
display: none
|
||||
.loading_backdrop
|
||||
display: none
|
||||
&.loading
|
||||
.loading_backdrop
|
||||
display: block
|
||||
width: 100%
|
||||
height: 100%
|
||||
background: #000
|
||||
opacity: 0.3
|
||||
position: absolute
|
||||
z-index: 1
|
||||
@@ -1,656 +0,0 @@
|
||||
@charset "utf-8"
|
||||
|
||||
@import "common"
|
||||
|
||||
/*
|
||||
* THIS CSS FILE IS FOR WEBSITE THEMING CUSTOMIZATION ONLY
|
||||
*
|
||||
* css for editor buttons, openerp widget included in the website and other
|
||||
* stuff must go to the editor.css
|
||||
*
|
||||
*/
|
||||
|
||||
ul
|
||||
list-style-type: disc
|
||||
li > ul
|
||||
list-style-type: circle
|
||||
li > * > li > ul
|
||||
list-style-type: square
|
||||
li > * > li > * > li > ul
|
||||
list-style-type: disc
|
||||
li > * > li > * > li > * > li > ul
|
||||
list-style-type: circle
|
||||
li > * > li > * > li > * > li > * > li > ul
|
||||
list-style-type: square
|
||||
li > * > li > * > li > * > li > * > li > * > li > ul
|
||||
list-style-type: disc
|
||||
|
||||
ol
|
||||
list-style-type: decimal
|
||||
li > ol
|
||||
list-style-type: lower-alpha
|
||||
li > * > li > ol
|
||||
list-style-type: lower-greek
|
||||
li > * > li > * > li > ol
|
||||
list-style-type: decimal
|
||||
li > * > li > * > li > * > li > ol
|
||||
list-style-type: lower-alpha
|
||||
li > * > li > * > li > * > li > * > li > ol
|
||||
list-style-type: lower-greek
|
||||
li > * > li > * > li > * > li > * > li > * > li > ol
|
||||
list-style-type: decimal
|
||||
|
||||
li > p
|
||||
margin: 0
|
||||
|
||||
font[style*='background'], font[class*='bg-']
|
||||
padding: 0 2px
|
||||
|
||||
.o_ul_toggle_self, .o_ul_toggle_next
|
||||
display: none
|
||||
.o_ul_folded
|
||||
.o_close
|
||||
display: none !important
|
||||
.o_ul_toggle_self, .o_ul_toggle_next
|
||||
display: inline-block
|
||||
line-height: inherit
|
||||
float: left
|
||||
position: relative
|
||||
margin-left: -1em
|
||||
z-index: 1
|
||||
top: -0.15em
|
||||
left: 0.2em
|
||||
font-size: 1.4em
|
||||
text-decoration: none
|
||||
&:before
|
||||
content: "\f0da"
|
||||
&.o_open
|
||||
left: 0em
|
||||
&:before
|
||||
content: "\f0d7"
|
||||
|
||||
/* Extra Styles */
|
||||
|
||||
h1.text-muted, h2.text-muted, h3.text-muted
|
||||
margin-top: 10px
|
||||
|
||||
header
|
||||
a.navbar-brand.logo
|
||||
padding: 0 15px
|
||||
a.navbar-brand
|
||||
img
|
||||
max-height: 50px
|
||||
|
||||
hr
|
||||
margin-bottom: 10px
|
||||
padding-bottom: 10px
|
||||
|
||||
/* ----- Snippets Styles ----- */
|
||||
|
||||
.para_large
|
||||
font-size: 120%
|
||||
|
||||
.jumbotron.para_large p
|
||||
font-size: 150%
|
||||
|
||||
.readable
|
||||
font-size: 120%
|
||||
max-width: 700px
|
||||
margin-left: auto
|
||||
margin-right: auto
|
||||
|
||||
/* ----- BOOTSTRAP FIX ----- */
|
||||
|
||||
.container, .readable
|
||||
.container
|
||||
padding-left: 0
|
||||
padding-right: 0
|
||||
width: auto!important
|
||||
|
||||
/* ----- BOOTSTRAP HACK FOR HEADER NAV BAR ----- */
|
||||
|
||||
.navbar.navbar-static-top
|
||||
margin-bottom: 0
|
||||
ul.nav
|
||||
> li.divider
|
||||
margin-top: 15px
|
||||
padding-top: 20px
|
||||
border-right: 1px solid grey
|
||||
|
||||
/* ----- BOOTSTRAP HACK FOR STICKY FOOTER ----- */
|
||||
|
||||
html,body, #wrapwrap
|
||||
+box-sizing(border-box)
|
||||
height: 100%
|
||||
|
||||
#wrapwrap
|
||||
display: table
|
||||
table-layout: fixed
|
||||
width: 100%
|
||||
> *
|
||||
display: table-row
|
||||
> main
|
||||
height: 100%
|
||||
> footer
|
||||
height: 100%
|
||||
background: rgba(200, 200, 200, 0.1)
|
||||
body > nav.navbar
|
||||
width: 100%
|
||||
position: absolute
|
||||
z-index: 10000
|
||||
@media (min-width: 767px)
|
||||
nav.navbar + #wrapwrap
|
||||
padding-top: 34px
|
||||
|
||||
/* ----- BOOTSTRAP FIX ----- */
|
||||
|
||||
@-moz-document url-prefix()
|
||||
.table .img-responsive
|
||||
width: 100%
|
||||
|
||||
.navbar .nav > li > p
|
||||
margin-bottom: 0px
|
||||
|
||||
/* ---- HOMEPAGE THEME CUSTOMIZATION ---- */
|
||||
|
||||
.nav-hierarchy
|
||||
padding-left: 16px
|
||||
|
||||
/* -- Hack for removing double scrollbar from mobile preview -- */
|
||||
div#mobile-preview.modal
|
||||
overflow: hidden
|
||||
|
||||
ul.nav-stacked > li > a
|
||||
padding: 2px 15px
|
||||
|
||||
#customize-menu .dropdown-header
|
||||
text-transform: uppercase
|
||||
|
||||
/* ---- PUBLISH ---- */
|
||||
.css_published
|
||||
.btn-danger, .css_publish
|
||||
display: none
|
||||
.css_unpublished
|
||||
.btn-success, .css_unpublish
|
||||
display: none
|
||||
|
||||
[data-publish='off']>*:not(.css_options)
|
||||
+opacity(0.5)
|
||||
|
||||
/* ---- END of PUBLISH ---- */
|
||||
|
||||
@include selection
|
||||
background: rgba(150, 150, 220, 0.3)
|
||||
|
||||
.logo-img
|
||||
width: 220px
|
||||
|
||||
.o_normalwhitespace
|
||||
white-space: normal
|
||||
|
||||
.oe_demo
|
||||
position: relative
|
||||
img
|
||||
width: 100%
|
||||
div
|
||||
position: absolute
|
||||
left: 0
|
||||
background-color: rgba(0,0,0,0.4)
|
||||
opacity: 0.85
|
||||
bottom: 0px
|
||||
width: 100%
|
||||
padding: 7px
|
||||
color: white
|
||||
font-weight: bold
|
||||
a
|
||||
color: white
|
||||
|
||||
|
||||
/* ---- SNIPPETS --- */
|
||||
|
||||
.oe_img_bg
|
||||
background-size: cover
|
||||
|
||||
.carousel, .parallax, .blockquote
|
||||
overflow: hidden
|
||||
|
||||
@media (max-width: 400px)
|
||||
section, .parallax, .row, .hr, .blockquote
|
||||
height: auto !important
|
||||
|
||||
.carousel-inner
|
||||
height: 100%
|
||||
.item
|
||||
height: 100%
|
||||
background-size: cover
|
||||
.carousel
|
||||
.carousel-control
|
||||
cursor: pointer
|
||||
span
|
||||
top: 50%
|
||||
position: absolute
|
||||
margin-top: -8px
|
||||
&.left
|
||||
left: -10px
|
||||
*
|
||||
position: absolute
|
||||
top: 50%
|
||||
z-index: 5
|
||||
right: 50%
|
||||
&.right
|
||||
right: -10px
|
||||
*
|
||||
position: absolute
|
||||
top: 50%
|
||||
z-index: 5
|
||||
left: 50%
|
||||
|
||||
.quotecarousel
|
||||
padding-bottom: 16px
|
||||
|
||||
.hr
|
||||
padding: 4px 0
|
||||
|
||||
|
||||
.o_image_floating
|
||||
width: 40%
|
||||
margin: 4px
|
||||
div.o_container
|
||||
position: relative
|
||||
mark
|
||||
display: block
|
||||
position: absolute
|
||||
bottom: 0
|
||||
width: 100%
|
||||
background-color: rgba(86,61,124,.25)
|
||||
a
|
||||
color: white
|
||||
&.o_hide_link div.o_container mark
|
||||
display: none
|
||||
&.o_margin_s
|
||||
margin-bottom: 4px
|
||||
&.pull-right
|
||||
margin-left: 8px
|
||||
&.pull-left
|
||||
margin-right: 8px
|
||||
&.o_margin_m
|
||||
margin-bottom: 8px
|
||||
&.pull-right
|
||||
margin-left: 12px
|
||||
&.pull-left
|
||||
margin-right: 12px
|
||||
&.o_margin_l
|
||||
margin-bottom: 12px
|
||||
&.pull-right
|
||||
margin-left: 16px
|
||||
&.pull-left
|
||||
margin-right: 16px
|
||||
&.o_margin_xl
|
||||
margin-bottom: 24px
|
||||
&.pull-right
|
||||
margin-left: 32px
|
||||
&.pull-left
|
||||
margin-right: 32px
|
||||
|
||||
|
||||
/* gallery */
|
||||
|
||||
.o_gallery
|
||||
&.o_grid, &.o_masonry
|
||||
.img
|
||||
width: 100%
|
||||
&.o_grid
|
||||
&.o_spc-none
|
||||
div.row
|
||||
margin: 0
|
||||
> *
|
||||
padding: 0
|
||||
&.o_spc-small
|
||||
div.row
|
||||
margin: 5px 0
|
||||
> *
|
||||
padding: 0 5px
|
||||
&.o_spc-medium
|
||||
div.row
|
||||
margin: 10px 0
|
||||
> *
|
||||
padding: 0 10px
|
||||
&.o_spc-big
|
||||
div.row
|
||||
margin: 15px 0
|
||||
> *
|
||||
padding: 0 15px
|
||||
&.o_masonry
|
||||
&.o_spc-none
|
||||
div.col
|
||||
padding: 0
|
||||
> img
|
||||
margin: 0 !important
|
||||
&.o_spc-small
|
||||
div.col
|
||||
padding: 0 5px
|
||||
> img
|
||||
margin: 5px 0 !important
|
||||
&.o_spc-medium
|
||||
div.col
|
||||
padding: 0 10px
|
||||
> img
|
||||
margin: 10px 0 !important
|
||||
&.o_spc-big
|
||||
div.col
|
||||
padding: 0 15px
|
||||
> img
|
||||
margin: 15px 0 !important
|
||||
&.o_grid
|
||||
&.size-auto .row
|
||||
height: auto
|
||||
&.size-small .row
|
||||
height: 100px
|
||||
&.size-medium .row
|
||||
height: 250px
|
||||
&.size-big .row
|
||||
height: 400px
|
||||
&.size-small, &.size-medium, &.size-big
|
||||
.img
|
||||
height: 100%
|
||||
&.o_nomode
|
||||
&.o_spc-none
|
||||
.img
|
||||
padding: 0
|
||||
&.o_spc-small
|
||||
.img
|
||||
padding: 5px
|
||||
&.o_spc-medium
|
||||
.img
|
||||
padding: 10px
|
||||
&.o_spc-big
|
||||
.img
|
||||
padding: 15px
|
||||
|
||||
&.o_slideshow .carousel ul.carousel-indicators li
|
||||
border: 1px solid #aaa
|
||||
.carousel-inner .item img
|
||||
max-width: none
|
||||
|
||||
.o_gallery.o_slideshow > .container
|
||||
height: 100%
|
||||
|
||||
.o_gallery.o_slideshow .carousel, .modal-body.o_slideshow .carousel
|
||||
height: 100%
|
||||
.item
|
||||
padding-bottom: 64px
|
||||
img
|
||||
max-height: 100%
|
||||
max-width: 100%
|
||||
margin: auto
|
||||
position: relative
|
||||
top: 50%
|
||||
-webkit-transform: translateY(-50%)
|
||||
-ms-transform: translateY(-50%)
|
||||
transform: translateY(-50%)
|
||||
ul.carousel-indicators
|
||||
display: block
|
||||
height: auto
|
||||
padding: 0
|
||||
border-width: 0
|
||||
position: absolute
|
||||
bottom: 0
|
||||
> *
|
||||
list-style-image: none
|
||||
display: inline-block
|
||||
width: 40px
|
||||
height: 40px
|
||||
margin: 0 0px 5px 5px
|
||||
padding: 0
|
||||
border: 1px solid #aaa
|
||||
text-indent: initial
|
||||
background-size: cover
|
||||
background-color: #fff
|
||||
border-radius: 0
|
||||
> *:not(.active)
|
||||
opacity: 0.8
|
||||
-webkit-filter: grayscale(100%)
|
||||
filter: grayscale(100%)
|
||||
filter: gray
|
||||
filter: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale")
|
||||
.carousel-control.left, .carousel-control.right
|
||||
background-image: none
|
||||
background-color: transparent
|
||||
|
||||
/* Parallax Theme */
|
||||
|
||||
div.carousel
|
||||
.carousel-indicators
|
||||
li
|
||||
border: 1px solid grey
|
||||
.active
|
||||
background-color: grey
|
||||
span.carousel-img img, div.carousel-content
|
||||
max-height: 95%
|
||||
padding: 10px
|
||||
div.carousel-content
|
||||
background-color: black
|
||||
color: white
|
||||
background: rgba(0, 0, 0, 0.3)
|
||||
|
||||
.parallax
|
||||
background-size: cover
|
||||
> div
|
||||
position: relative
|
||||
display: table
|
||||
width: 100%
|
||||
min-height: 200px
|
||||
> div
|
||||
display: table-cell
|
||||
vertical-align: middle
|
||||
padding: 32px 0
|
||||
|
||||
/* Background (kept for 8.0 compatibility) */
|
||||
|
||||
.oe_dark
|
||||
background-color: rgba(200, 200, 200, 0.14)
|
||||
|
||||
.oe_black
|
||||
background-color: rgba(0, 0, 0, 0.9)
|
||||
color: white
|
||||
|
||||
.oe_green
|
||||
background-color: #169C78
|
||||
color: white
|
||||
.text-muted
|
||||
color: #ddd
|
||||
|
||||
.oe_blue_light
|
||||
background-color: #41b6ab
|
||||
color: white
|
||||
.text-muted
|
||||
color: #ddd
|
||||
|
||||
.oe_blue
|
||||
background-color: #34495e
|
||||
color: white
|
||||
|
||||
.oe_orange
|
||||
background-color: #f05442
|
||||
color: white
|
||||
.text-muted
|
||||
color: #ddd
|
||||
|
||||
.oe_purple
|
||||
background-color: #b163a3
|
||||
color: white
|
||||
.text-muted
|
||||
color: #ddd
|
||||
|
||||
.oe_red
|
||||
background-color: #9C1b31
|
||||
color: white
|
||||
.text-muted
|
||||
color: #ddd
|
||||
|
||||
.oe_none
|
||||
background-color: #FFFFFF
|
||||
|
||||
.oe_yellow
|
||||
background-color: #A2A51B
|
||||
|
||||
.oe_green
|
||||
background-color: #149F2C
|
||||
|
||||
/* Misc */
|
||||
|
||||
.texttop
|
||||
vertical-align: top
|
||||
|
||||
table.well tr
|
||||
th
|
||||
text-align: right
|
||||
padding-right: 10px
|
||||
td
|
||||
padding-right: 5px
|
||||
|
||||
.logo-img
|
||||
width: 220px
|
||||
|
||||
.oe_demo
|
||||
position: relative
|
||||
img
|
||||
width: 100%
|
||||
div
|
||||
position: absolute
|
||||
left: 0
|
||||
background-color: rgba(0,0,0,0.4)
|
||||
opacity: 0.85
|
||||
bottom: 0px
|
||||
width: 100%
|
||||
padding: 7px
|
||||
color: white
|
||||
font-weight: bold
|
||||
a
|
||||
color: white
|
||||
|
||||
.oe_template_fallback
|
||||
@include column-count(3)
|
||||
|
||||
.oe_website_login_container
|
||||
width: 400px
|
||||
margin: 40px auto
|
||||
|
||||
.oe_website_overflow_ellipsis
|
||||
white-space: nowrap
|
||||
overflow: hidden
|
||||
text-overflow: ellipsis
|
||||
|
||||
.oe_website_spinner
|
||||
width: 121px
|
||||
input
|
||||
text-align: center
|
||||
min-width: 50px
|
||||
|
||||
div.carousel
|
||||
.container
|
||||
> .carousel-caption
|
||||
position: absolute
|
||||
right: 50%
|
||||
left: 50%
|
||||
bottom: 20px
|
||||
> div
|
||||
position: absolute
|
||||
text-align: left
|
||||
padding: 20px
|
||||
background: rgba(0, 0, 0, 0.4)
|
||||
bottom: 20px
|
||||
> .carousel-image
|
||||
top: 5%
|
||||
bottom: 5%
|
||||
position: absolute
|
||||
max-height: 90%
|
||||
margin: 0 auto
|
||||
.item.text_image
|
||||
.container
|
||||
> .carousel-caption
|
||||
left: 10%
|
||||
> div
|
||||
right: 50%
|
||||
margin-right: -20%
|
||||
max-width: 550px
|
||||
> .carousel-image
|
||||
right: 10%
|
||||
left: 50%
|
||||
.item.image_text
|
||||
.container
|
||||
> .carousel-caption
|
||||
right: 10%
|
||||
> div
|
||||
left: 50%
|
||||
margin-left: -20%
|
||||
max-width: 550px
|
||||
> .carousel-image
|
||||
right: 50%
|
||||
left: 10%
|
||||
.item.text_only
|
||||
.container
|
||||
> .carousel-caption
|
||||
left: 10%
|
||||
right: 10%
|
||||
top: 10%
|
||||
bottom: auto
|
||||
> div
|
||||
text-align: center
|
||||
background: transparent
|
||||
bottom: auto
|
||||
width: 100%
|
||||
> .carousel-image
|
||||
display: none !important
|
||||
|
||||
/* ---- Menu nav bar ---- {{{ */
|
||||
|
||||
#oe_main_menu_navbar
|
||||
position: fixed
|
||||
min-height: 34px
|
||||
z-index: 1001
|
||||
+border-radius(0px)
|
||||
margin-bottom: 0px
|
||||
li a, li button
|
||||
padding: 4px 8px 4px 8px
|
||||
margin-top: 2px
|
||||
font-size: 13px
|
||||
.navbar-nav.navbar-right:last-child
|
||||
margin-right: 0 !important
|
||||
|
||||
/* ---- footer style ---- {{{ */
|
||||
#footer div.row
|
||||
word-wrap: break-word
|
||||
|
||||
.container
|
||||
nav#oe_main_menu_navbar
|
||||
position: inherit
|
||||
|
||||
.oe_search_clear
|
||||
position: absolute
|
||||
display: none
|
||||
cursor: pointer
|
||||
z-index: 2
|
||||
right: 42px
|
||||
color: #939393
|
||||
padding: 10px 0
|
||||
top: 1px
|
||||
|
||||
.oe_search_box
|
||||
padding-right: 23px
|
||||
|
||||
.note-editor button
|
||||
height: 30px
|
||||
|
||||
.o_hidden
|
||||
display: none !important
|
||||
|
||||
#PlannerDialog
|
||||
top: 35px
|
||||
-webkit-box-shadow: 0 3px 9px #666666
|
||||
box-shadow: 0 3px 9px #666666
|
||||
|
||||
.tour
|
||||
.popover-navigation
|
||||
margin-left: 13px
|
||||
margin-bottom: 8px
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 338 B |
@@ -10,13 +10,13 @@ require('web_editor.base'); // wait for implicit dependencies to load
|
||||
|
||||
var qweb = core.qweb;
|
||||
|
||||
if(!$('#oe_systray').length) {
|
||||
return $.Deferred().reject("DOM doesn't contain '#oe_systray'");
|
||||
if(!$('#oe_main_menu_navbar').length) {
|
||||
return $.Deferred().reject("DOM doesn't contain #oe_main_menu_navbar");
|
||||
}
|
||||
|
||||
var WebsitePlannerLauncher = Widget.extend({
|
||||
template: "PlannerLauncher",
|
||||
start: function() {
|
||||
start: function () {
|
||||
var self = this;
|
||||
var res = this._super.apply(this, arguments);
|
||||
this.$('.progress').show();
|
||||
@@ -29,22 +29,22 @@ var WebsitePlannerLauncher = Widget.extend({
|
||||
}
|
||||
});
|
||||
},
|
||||
get_website_planner: function() {
|
||||
get_website_planner: function () {
|
||||
return (new Model('web.planner')).call('search_read', [[['planner_application', '=', 'planner_website']]]);
|
||||
},
|
||||
setup: function() {
|
||||
setup: function () {
|
||||
var self = this;
|
||||
this.dialog = new planner.PlannerDialog(this, this.planner);
|
||||
this.dialog.appendTo($('<div>'));
|
||||
this.$(".progress").tooltip({html: true, title: this.planner.tooltip_planner, placement: 'bottom', container: 'body', delay: {'show': 700}});
|
||||
this.dialog.on("planner_progress_changed", this, function(percent) {
|
||||
this.dialog.on("planner_progress_changed", this, function (percent) {
|
||||
self.update_parent_progress_bar(percent);
|
||||
});
|
||||
},
|
||||
update_parent_progress_bar: function(percent) {
|
||||
update_parent_progress_bar: function (percent) {
|
||||
this.$(".progress-bar").css('width', percent+"%");
|
||||
},
|
||||
show_dialog: function() {
|
||||
show_dialog: function () {
|
||||
this.dialog.$el.appendTo(document.body);
|
||||
this.dialog.$el.modal('show');
|
||||
},
|
||||
@@ -52,7 +52,7 @@ var WebsitePlannerLauncher = Widget.extend({
|
||||
|
||||
return ajax.loadXML('/web_planner/static/src/xml/web_planner.xml', qweb).then(function() {
|
||||
var websitePlannerLauncher = new WebsitePlannerLauncher();
|
||||
websitePlannerLauncher.prependTo($('#oe_systray'));
|
||||
websitePlannerLauncher.prependTo($('#oe_main_menu_navbar .o_menu_systray'));
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -105,10 +105,6 @@ var ViewEditor = Widget.extend({
|
||||
self.aceEditor.resize();
|
||||
self.$el.width(width);
|
||||
}
|
||||
function resizeEditorHeight(height) {
|
||||
self.$el.css('top', height);
|
||||
self.$('.ace_editor').css('bottom', height);
|
||||
}
|
||||
function storeEditorWidth() {
|
||||
window.localStorage.setItem('ace_editor_width', self.$el.width());
|
||||
}
|
||||
@@ -136,13 +132,9 @@ var ViewEditor = Widget.extend({
|
||||
self.$('.ace_gutter').mouseup(stopResizing).mousedown(startResizing).click(stopResizing);
|
||||
$(document).mousemove(updateWidth);
|
||||
$('button[data-action=edit]').click(function () {
|
||||
self.close();
|
||||
});
|
||||
this.getParent().on('change:height', this, function () {
|
||||
resizeEditorHeight(this.getParent().$el.outerHeight()+2);
|
||||
self.close();
|
||||
});
|
||||
resizeEditor(readEditorWidth());
|
||||
resizeEditorHeight(this.getParent().$el.outerHeight()+2);
|
||||
},
|
||||
loadTemplates: function () {
|
||||
var self = this;
|
||||
@@ -220,7 +212,7 @@ var ViewEditor = Widget.extend({
|
||||
model: 'ir.ui.view',
|
||||
method: 'read',
|
||||
args: [[viewId], ['arch'], _.extend(base.get_context(), {'lang': null})],
|
||||
}).then(function(result) {
|
||||
}).then(function (result) {
|
||||
var editingSession = self.buffers[viewId] = new ace.EditSession(result[0].arch);
|
||||
editingSession.setMode("ace/mode/xml");
|
||||
editingSession.setUndoManager(new ace.UndoManager());
|
||||
@@ -359,12 +351,7 @@ var ViewEditor = Widget.extend({
|
||||
this.$("#ace-view-list").val(session.id).change();
|
||||
}
|
||||
|
||||
var $dialog = $(qweb.render('website.error_dialog', {
|
||||
title: session.text.match(/\s+name=['"]([^'"]+)['"]/i)[1],
|
||||
message:"<b>Malformed XML document</b>:<br/>" + message
|
||||
}));
|
||||
$dialog.appendTo("body");
|
||||
$dialog.modal('show');
|
||||
website.error(session.text.match(/\s+name=['"]([^'"]+)['"]/i)[1], "<b>Malformed XML document</b>:<br/>" + message);
|
||||
},
|
||||
open: function () {
|
||||
this.$el.removeClass('oe_ace_closed').addClass('oe_ace_open');
|
||||
@@ -378,9 +365,11 @@ var ViewEditor = Widget.extend({
|
||||
website.TopBar.include({
|
||||
start: function () {
|
||||
this.ace = new Ace();
|
||||
var def = this.ace.attachTo($('#html_editor'));
|
||||
return $.when(this._super(), def);
|
||||
}
|
||||
return $.when(
|
||||
this._super.apply(this, arguments),
|
||||
this.ace.attachTo($('#html_editor'))
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -9,7 +9,7 @@ var _t = core._t;
|
||||
|
||||
var WidgetWebsiteButton = form_common.AbstractField.extend({
|
||||
template: 'WidgetWebsiteButton',
|
||||
render_value: function() {
|
||||
render_value: function () {
|
||||
this._super.apply(this, arguments);
|
||||
|
||||
var $value = this.$('.o_value');
|
||||
@@ -28,7 +28,7 @@ var WidgetWebsiteButton = form_common.AbstractField.extend({
|
||||
this.$el.addClass(this.node.attrs.class);
|
||||
}
|
||||
},
|
||||
is_false: function() {
|
||||
is_false: function () {
|
||||
return false;
|
||||
},
|
||||
});
|
||||
|
||||
@@ -15,16 +15,18 @@ var qweb = core.qweb;
|
||||
ajax.loadXML('/website/static/src/xml/website.contentMenu.xml', qweb);
|
||||
|
||||
var TopBarContent = Widget.extend({
|
||||
start: function() {
|
||||
start: function () {
|
||||
var self = this;
|
||||
self.$el.on('click', 'a[data-action]', function(ev) {
|
||||
ev.preventDefault();
|
||||
var $content_item = $(this);
|
||||
self[$content_item.data('action')]();
|
||||
|
||||
// Add page modal + menu content event
|
||||
this.$el.add($('#o_website_add_page_modal')).on('click', 'a[data-action]', function (e) {
|
||||
e.preventDefault();
|
||||
self[$(this).data('action')]();
|
||||
});
|
||||
|
||||
return this._super();
|
||||
},
|
||||
edit_menu: function() {
|
||||
edit_menu: function () {
|
||||
var self = this;
|
||||
var context = base.get_context();
|
||||
var def = $.Deferred();
|
||||
@@ -52,7 +54,7 @@ var TopBarContent = Widget.extend({
|
||||
});
|
||||
});
|
||||
},
|
||||
new_page: function() {
|
||||
new_page: function () {
|
||||
website.prompt({
|
||||
id: "editor_new_page",
|
||||
window_title: _t("New Page"),
|
||||
@@ -61,13 +63,10 @@ var TopBarContent = Widget.extend({
|
||||
var $group = this.$dialog.find("div.form-group");
|
||||
$group.removeClass("mb0");
|
||||
|
||||
var $add = $(
|
||||
'<div class="form-group mb0">'+
|
||||
'<label class="col-sm-offset-3 col-sm-9 text-left">'+
|
||||
' <input type="checkbox" checked="checked" required="required"/> '+
|
||||
'</label>'+
|
||||
'</div>');
|
||||
$add.find('label').append(_t("Add page in menu"));
|
||||
var $add = $('<div/>', {'class': 'form-group mb0'})
|
||||
.append($('<span/>', {'class': 'col-sm-offset-3 col-sm-9 text-left'})
|
||||
.append(qweb.render('web_editor.components.switch', {id: 'switch_addTo_menu', label: _t("Add page in menu")})));
|
||||
$add.find('input').prop('checked', true);
|
||||
$group.after($add);
|
||||
}
|
||||
}).then(function (val, field, $dialog) {
|
||||
@@ -78,7 +77,7 @@ var TopBarContent = Widget.extend({
|
||||
}
|
||||
});
|
||||
},
|
||||
rename_page: function() {
|
||||
rename_page: function () {
|
||||
var self = this;
|
||||
var context = base.get_context();
|
||||
self.mo_id = self.getMainObject().id;
|
||||
@@ -112,7 +111,7 @@ var TopBarContent = Widget.extend({
|
||||
});
|
||||
});
|
||||
},
|
||||
delete_page: function() {
|
||||
delete_page: function () {
|
||||
var self = this;
|
||||
var context = base.get_context();
|
||||
self.mo_id = self.getMainObject().id;
|
||||
@@ -122,17 +121,17 @@ var TopBarContent = Widget.extend({
|
||||
method: 'page_search_dependencies',
|
||||
args: [self.mo_id],
|
||||
kwargs: {
|
||||
context: context
|
||||
context: context,
|
||||
},
|
||||
}).then(function (deps) {
|
||||
website.prompt({
|
||||
id: "editor_delete_page",
|
||||
window_title: _t("Delete Page"),
|
||||
dependencies: deps,
|
||||
init: function() { $('.btn-continue').prop("disabled", true)},
|
||||
init: function () { $('.btn-continue').prop("disabled", true)},
|
||||
}, 'website.delete_page').then(function (val, field, $dialog) {
|
||||
|
||||
if ($dialog.find('input[type="checkbox"]').is(':checked')){
|
||||
if ($dialog.find('input[type="checkbox"]').is(':checked')) {
|
||||
ajax.jsonRpc('/web/dataset/call_kw', 'call', {
|
||||
model: 'website',
|
||||
method: 'delete_page',
|
||||
|
||||
@@ -23,32 +23,23 @@ website.TopBar.include({
|
||||
},
|
||||
start: function () {
|
||||
var self = this;
|
||||
$("#wrapwrap").on('click', '.o_editable, [data-oe-model]', function (event) {
|
||||
var $this = $(event.srcElement);
|
||||
var tag = $this[0] && $this[0].tagName.toLowerCase();
|
||||
if (!(tag === 'a' || tag === "button") && !$this.parents("a, button").length) {
|
||||
self.$('[data-action="edit"]').parent().effect('bounce', {distance: 18, times: 5}, 250);
|
||||
}
|
||||
});
|
||||
|
||||
$("#wrapwrap").find("[data-oe-model] .oe_structure.oe_empty, [data-oe-model].oe_structure.oe_empty, [data-oe-type=html]:empty")
|
||||
.filter(".oe_not_editable")
|
||||
.filter(".oe_no_empty")
|
||||
.addClass("oe_empty")
|
||||
.attr("data-oe-placeholder", _t("Press The Top-Left Edit Button"));
|
||||
.addClass("oe_empty");
|
||||
|
||||
if (location.search.indexOf("enable_editor") >= 0 && $('html').attr('lang') === "en_US") {
|
||||
this.$el.hide();
|
||||
this.$el.addClass('editing_mode');
|
||||
}
|
||||
|
||||
return this._super();
|
||||
return this._super.apply(this, arguments);
|
||||
},
|
||||
edit: function () {
|
||||
this.$('button[data-action=edit]').prop('disabled', true);
|
||||
this.$el.hide();
|
||||
this.$el.addClass('editing_mode');
|
||||
editor.editor_bar = new editor.Class(this);
|
||||
editor.editor_bar.prependTo(document.body);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
/* ----- Customize Template ---- */
|
||||
@@ -58,7 +49,7 @@ website.TopBarCustomize = Widget.extend({
|
||||
'mousedown a.dropdown-toggle': 'load_menu',
|
||||
'click ul a[data-view-id]': 'do_customize',
|
||||
},
|
||||
start: function() {
|
||||
start: function () {
|
||||
var self = this;
|
||||
this.$menu = self.$el.find('ul');
|
||||
this.view_name = $(document.documentElement).data('view-xmlid');
|
||||
@@ -72,32 +63,36 @@ website.TopBarCustomize = Widget.extend({
|
||||
if(this.loaded) {
|
||||
return;
|
||||
}
|
||||
ajax.jsonRpc('/website/customize_template_get', 'call', { 'key': this.view_name }).then(
|
||||
function(result) {
|
||||
_.each(result, function (item) {
|
||||
if (item.key === "website.debugger" && !window.location.search.match(/[&?]debug(&|$)/)) return;
|
||||
if (item.header) {
|
||||
self.$menu.append('<li class="dropdown-header">' + item.name + '</li>');
|
||||
} else {
|
||||
self.$menu.append(_.str.sprintf('<li role="presentation"><a href="#" data-view-id="%s" role="menuitem"><strong class="fa fa%s-square-o"></strong> %s</a></li>',
|
||||
item.id, item.active ? '-check' : '', item.name));
|
||||
}
|
||||
});
|
||||
self.loaded = true;
|
||||
}
|
||||
);
|
||||
ajax.jsonRpc('/website/customize_template_get', 'call', {
|
||||
key: this.view_name,
|
||||
}).then(function (result) {
|
||||
_.each(result, function (item) {
|
||||
if (item.key === "website.debugger" && !window.location.search.match(/[&?]debug(&|$)/)) return;
|
||||
if (item.header) {
|
||||
self.$menu.append('<li class="dropdown-header">' + item.name + '</li>');
|
||||
} else {
|
||||
var $li = $('<li/>', {role: 'presentation'})
|
||||
.append($('<a/>', {href: '#', 'data-view-id': item.id, role: 'menuitem'})
|
||||
.append(qweb.render('web_editor.components.switch', {id: 'switch-' + item.id, label: item.name})));
|
||||
$li.find('input').prop('checked', !!item.active);
|
||||
self.$menu.append($li);
|
||||
}
|
||||
});
|
||||
self.loaded = true;
|
||||
});
|
||||
},
|
||||
do_customize: function (event) {
|
||||
var view_id = $(event.currentTarget).data('view-id');
|
||||
do_customize: function (e) {
|
||||
e.preventDefault();
|
||||
var view_id = $(e.currentTarget).data('view-id');
|
||||
return ajax.jsonRpc('/web/dataset/call_kw', 'call', {
|
||||
model: 'ir.ui.view',
|
||||
method: 'toggle',
|
||||
args: [],
|
||||
kwargs: {
|
||||
ids: [parseInt(view_id, 10)],
|
||||
context: base.get_context()
|
||||
context: base.get_context(),
|
||||
}
|
||||
}).then( function() {
|
||||
}).then(function () {
|
||||
window.location.reload();
|
||||
});
|
||||
},
|
||||
@@ -117,7 +112,7 @@ widget.LinkDialog.include({
|
||||
var self = this;
|
||||
var href = this.data.url;
|
||||
var last;
|
||||
|
||||
|
||||
this.$('#link-page').select2({
|
||||
minimumInputLength: 1,
|
||||
placeholder: _t("New or existing page"),
|
||||
|
||||
@@ -1,189 +1,178 @@
|
||||
odoo.define('website.website', function (require) {
|
||||
"use strict";
|
||||
"use strict";
|
||||
|
||||
var ajax = require('web.ajax');
|
||||
var core = require('web.core');
|
||||
var Widget = require('web.Widget');
|
||||
var session = require('web.session');
|
||||
var base = require('web_editor.base');
|
||||
var Tour = require('web.Tour');
|
||||
var ajax = require('web.ajax');
|
||||
var core = require('web.core');
|
||||
var Widget = require('web.Widget');
|
||||
var session = require('web.session');
|
||||
var base = require('web_editor.base');
|
||||
var Tour = require('web.Tour');
|
||||
|
||||
var qweb = core.qweb;
|
||||
var _t = core._t;
|
||||
base.url_translations = '/website/translations';
|
||||
var qweb = core.qweb;
|
||||
var _t = core._t;
|
||||
base.url_translations = '/website/translations';
|
||||
|
||||
/* --- Set the browser into the dom for css selectors --- */
|
||||
var browser;
|
||||
if ($.browser.webkit) browser = "webkit";
|
||||
else if ($.browser.safari) browser = "safari";
|
||||
else if ($.browser.opera) browser = "opera";
|
||||
else if ($.browser.msie || ($.browser.mozilla && +$.browser.version.replace(/^([0-9]+\.[0-9]+).*/, '\$1') < 20)) browser = "msie";
|
||||
else if ($.browser.mozilla) browser = "mozilla";
|
||||
browser += ","+$.browser.version;
|
||||
if (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase())) browser += ",mobile";
|
||||
document.documentElement.setAttribute('data-browser', browser);
|
||||
/* --- Set the browser into the dom for css selectors --- */
|
||||
var browser;
|
||||
if ($.browser.webkit) browser = "webkit";
|
||||
else if ($.browser.safari) browser = "safari";
|
||||
else if ($.browser.opera) browser = "opera";
|
||||
else if ($.browser.msie || ($.browser.mozilla && +$.browser.version.replace(/^([0-9]+\.[0-9]+).*/, '\$1') < 20)) browser = "msie";
|
||||
else if ($.browser.mozilla) browser = "mozilla";
|
||||
browser += ","+$.browser.version;
|
||||
if (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase())) browser += ",mobile";
|
||||
document.documentElement.setAttribute('data-browser', browser);
|
||||
|
||||
|
||||
/* ----------------------------------------------------
|
||||
Helpers
|
||||
---------------------------------------------------- */
|
||||
|
||||
var get_context = base.get_context;
|
||||
base.get_context = base.get_context = function (dict) {
|
||||
var html = document.documentElement;
|
||||
return _.extend({
|
||||
'website_id': html.getAttribute('data-website-id')|0
|
||||
}, get_context(dict), dict);
|
||||
};
|
||||
|
||||
/* ----------------------------------------------------
|
||||
Widgets
|
||||
---------------------------------------------------- */
|
||||
|
||||
var prompt = function (options, _qweb) {
|
||||
/**
|
||||
* A bootstrapped version of prompt() albeit asynchronous
|
||||
* This was built to quickly prompt the user with a single field.
|
||||
* For anything more complex, please use editor.Dialog class
|
||||
*
|
||||
* Usage Ex:
|
||||
*
|
||||
* website.prompt("What... is your quest ?").then(function (answer) {
|
||||
* arthur.reply(answer || "To seek the Holy Grail.");
|
||||
* });
|
||||
*
|
||||
* website.prompt({
|
||||
* select: "Please choose your destiny",
|
||||
* init: function() {
|
||||
* return [ [0, "Sub-Zero"], [1, "Robo-Ky"] ];
|
||||
* }
|
||||
* }).then(function (answer) {
|
||||
* mame_station.loadCharacter(answer);
|
||||
* });
|
||||
*
|
||||
* @param {Object|String} options A set of options used to configure the prompt or the text field name if string
|
||||
* @param {String} [options.window_title=''] title of the prompt modal
|
||||
* @param {String} [options.input] tell the modal to use an input text field, the given value will be the field title
|
||||
* @param {String} [options.textarea] tell the modal to use a textarea field, the given value will be the field title
|
||||
* @param {String} [options.select] tell the modal to use a select box, the given value will be the field title
|
||||
* @param {Object} [options.default=''] default value of the field
|
||||
* @param {Function} [options.init] optional function that takes the `field` (enhanced with a fillWith() method) and the `dialog` as parameters [can return a deferred]
|
||||
*/
|
||||
if (typeof options === 'string') {
|
||||
options = {
|
||||
text: options
|
||||
};
|
||||
}
|
||||
if (_.isUndefined(_qweb)) {
|
||||
_qweb = 'website.prompt';
|
||||
}
|
||||
options = _.extend({
|
||||
window_title: '',
|
||||
field_name: '',
|
||||
'default': '', // dict notation for IE<9
|
||||
init: function() {},
|
||||
}, options || {});
|
||||
|
||||
var type = _.intersection(Object.keys(options), ['input', 'textarea', 'select']);
|
||||
type = type.length ? type[0] : 'input';
|
||||
options.field_type = type;
|
||||
options.field_name = options.field_name || options[type];
|
||||
|
||||
var def = $.Deferred();
|
||||
var dialog = $(qweb.render(_qweb, options)).appendTo("body");
|
||||
options.$dialog = dialog;
|
||||
var field = dialog.find(options.field_type).first();
|
||||
field.val(options['default']); // dict notation for IE<9
|
||||
field.fillWith = function (data) {
|
||||
if (field.is('select')) {
|
||||
var select = field[0];
|
||||
data.forEach(function (item) {
|
||||
select.options[select.options.length] = new Option(item[1], item[0]);
|
||||
});
|
||||
} else {
|
||||
field.val(data);
|
||||
}
|
||||
/* ----------------------------------------------------
|
||||
Helpers
|
||||
---------------------------------------------------- */
|
||||
var get_context = base.get_context;
|
||||
base.get_context = base.get_context = function (dict) {
|
||||
var html = document.documentElement;
|
||||
return _.extend({
|
||||
'website_id': html.getAttribute('data-website-id')|0
|
||||
}, get_context(dict), dict);
|
||||
};
|
||||
var init = options.init(field, dialog);
|
||||
$.when(init).then(function (fill) {
|
||||
if (fill) {
|
||||
field.fillWith(fill);
|
||||
|
||||
/* ----------------------------------------------------
|
||||
Widgets
|
||||
---------------------------------------------------- */
|
||||
var prompt = function (options, _qweb) {
|
||||
/**
|
||||
* A bootstrapped version of prompt() albeit asynchronous
|
||||
* This was built to quickly prompt the user with a single field.
|
||||
* For anything more complex, please use editor.Dialog class
|
||||
*
|
||||
* Usage Ex:
|
||||
*
|
||||
* website.prompt("What... is your quest ?").then(function (answer) {
|
||||
* arthur.reply(answer || "To seek the Holy Grail.");
|
||||
* });
|
||||
*
|
||||
* website.prompt({
|
||||
* select: "Please choose your destiny",
|
||||
* init: function () {
|
||||
* return [ [0, "Sub-Zero"], [1, "Robo-Ky"] ];
|
||||
* }
|
||||
* }).then(function (answer) {
|
||||
* mame_station.loadCharacter(answer);
|
||||
* });
|
||||
*
|
||||
* @param {Object|String} options A set of options used to configure the prompt or the text field name if string
|
||||
* @param {String} [options.window_title=''] title of the prompt modal
|
||||
* @param {String} [options.input] tell the modal to use an input text field, the given value will be the field title
|
||||
* @param {String} [options.textarea] tell the modal to use a textarea field, the given value will be the field title
|
||||
* @param {String} [options.select] tell the modal to use a select box, the given value will be the field title
|
||||
* @param {Object} [options.default=''] default value of the field
|
||||
* @param {Function} [options.init] optional function that takes the `field` (enhanced with a fillWith() method) and the `dialog` as parameters [can return a deferred]
|
||||
*/
|
||||
if (typeof options === 'string') {
|
||||
options = {
|
||||
text: options
|
||||
};
|
||||
}
|
||||
dialog.modal('show');
|
||||
field.focus();
|
||||
dialog.on('click', '.btn-primary', function () {
|
||||
if (_.isUndefined(_qweb)) {
|
||||
_qweb = 'website.prompt';
|
||||
}
|
||||
options = _.extend({
|
||||
window_title: '',
|
||||
field_name: '',
|
||||
'default': '', // dict notation for IE<9
|
||||
init: function () {},
|
||||
}, options || {});
|
||||
|
||||
var type = _.intersection(Object.keys(options), ['input', 'textarea', 'select']);
|
||||
type = type.length ? type[0] : 'input';
|
||||
options.field_type = type;
|
||||
options.field_name = options.field_name || options[type];
|
||||
|
||||
var def = $.Deferred();
|
||||
var dialog = $(qweb.render(_qweb, options)).appendTo("body");
|
||||
options.$dialog = dialog;
|
||||
var field = dialog.find(options.field_type).first();
|
||||
field.val(options['default']); // dict notation for IE<9
|
||||
field.fillWith = function (data) {
|
||||
if (field.is('select')) {
|
||||
var select = field[0];
|
||||
data.forEach(function (item) {
|
||||
select.options[select.options.length] = new Option(item[1], item[0]);
|
||||
});
|
||||
} else {
|
||||
field.val(data);
|
||||
}
|
||||
};
|
||||
var init = options.init(field, dialog);
|
||||
$.when(init).then(function (fill) {
|
||||
if (fill) {
|
||||
field.fillWith(fill);
|
||||
}
|
||||
dialog.modal('show');
|
||||
field.focus();
|
||||
dialog.on('click', '.btn-primary', function () {
|
||||
var backdrop = $('.modal-backdrop');
|
||||
def.resolve(field.val(), field, dialog);
|
||||
dialog.modal('hide').remove();
|
||||
backdrop.remove();
|
||||
});
|
||||
});
|
||||
dialog.on('hidden.bs.modal', function () {
|
||||
var backdrop = $('.modal-backdrop');
|
||||
def.resolve(field.val(), field, dialog);
|
||||
dialog.modal('hide').remove();
|
||||
def.reject();
|
||||
dialog.remove();
|
||||
backdrop.remove();
|
||||
});
|
||||
});
|
||||
dialog.on('hidden.bs.modal', function () {
|
||||
var backdrop = $('.modal-backdrop');
|
||||
def.reject();
|
||||
dialog.remove();
|
||||
backdrop.remove();
|
||||
});
|
||||
if (field.is('input[type="text"], select')) {
|
||||
field.keypress(function (e) {
|
||||
if (e.which == 13) {
|
||||
e.preventDefault();
|
||||
dialog.find('.btn-primary').trigger('click');
|
||||
}
|
||||
if (field.is('input[type="text"], select')) {
|
||||
field.keypress(function (e) {
|
||||
if (e.which == 13) {
|
||||
e.preventDefault();
|
||||
dialog.find('.btn-primary').trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
return def;
|
||||
};
|
||||
|
||||
var error = function (title, message, url) {
|
||||
return new Dialog(null, {
|
||||
title: data.data ? data.data.arguments[0] : "",
|
||||
$content: $(qweb.render('website.error_dialog', {
|
||||
message: data.data ? data.data.arguments[1] : data.statusText,
|
||||
backend_url: url,
|
||||
})),
|
||||
}).open();
|
||||
};
|
||||
|
||||
function _add_input(form, name, value) {
|
||||
var param = document.createElement('input');
|
||||
param.setAttribute('type', 'hidden');
|
||||
param.setAttribute('name', name);
|
||||
param.setAttribute('value', value);
|
||||
form.appendChild(param);
|
||||
}
|
||||
var form = function (url, method, params) {
|
||||
var form = document.createElement('form');
|
||||
form.setAttribute('action', url);
|
||||
form.setAttribute('method', method);
|
||||
|
||||
if (core.csrf_token) {
|
||||
_add_input(form, 'csrf_token', core.csrf_token);
|
||||
}
|
||||
_.each(params, function (v, k) {
|
||||
_add_input(form, k, v);
|
||||
});
|
||||
}
|
||||
return def;
|
||||
};
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
};
|
||||
|
||||
var error = function(data, url) {
|
||||
var $error = $(qweb.render('website.error_dialog', {
|
||||
'title': data.data ? data.data.arguments[0] : "",
|
||||
'message': data.data ? data.data.arguments[1] : data.statusText,
|
||||
'backend_url': url
|
||||
}));
|
||||
$error.appendTo("body");
|
||||
$error.modal('show');
|
||||
};
|
||||
|
||||
function _add_input(form, name, value) {
|
||||
var param = document.createElement('input');
|
||||
param.setAttribute('type', 'hidden');
|
||||
param.setAttribute('name', name);
|
||||
param.setAttribute('value', value);
|
||||
form.appendChild(param);
|
||||
}
|
||||
var form = function (url, method, params) {
|
||||
var form = document.createElement('form');
|
||||
form.setAttribute('action', url);
|
||||
form.setAttribute('method', method);
|
||||
|
||||
if (core.csrf_token) {
|
||||
_add_input(form, 'csrf_token', core.csrf_token);
|
||||
}
|
||||
_.each(params, function (v, k) {
|
||||
_add_input(form, k, v);
|
||||
ajax.loadXML('/website/static/src/xml/website.xml', qweb);
|
||||
ajax.loadXML('/web/static/src/xml/base_common.xml', qweb);
|
||||
|
||||
base.ready().then(function () {
|
||||
data.topBar = new TopBar();
|
||||
return data.topBar.attachTo($("#oe_main_menu_navbar"));
|
||||
});
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
};
|
||||
|
||||
|
||||
ajax.loadXML('/website/static/src/xml/website.xml', qweb);
|
||||
ajax.loadXML('/web/static/src/xml/base_common.xml', qweb);
|
||||
|
||||
/**
|
||||
* Cancel the auto run of Tour (test) and launch the tour after tob bar all bind events
|
||||
*/
|
||||
|
||||
base.ready().then(function () {
|
||||
data.topBar = new TopBar();
|
||||
data.topBar.attachTo($("#oe_main_menu_navbar"));
|
||||
});
|
||||
|
||||
/**
|
||||
* Returns a deferred resolved when the templates are loaded
|
||||
* and the Widgets can be instanciated.
|
||||
*/
|
||||
|
||||
/* ----- PUBLISHING STUFF ---- */
|
||||
$(document).on('click', '.js_publish_management .js_publish_btn', function () {
|
||||
@@ -194,22 +183,22 @@ base.ready().then(function () {
|
||||
$data.toggleClass("css_unpublished css_published");
|
||||
$data.parents("[data-publish]").attr("data-publish", +result ? 'on' : 'off');
|
||||
}).fail(function (err, data) {
|
||||
error(data, '/web#return_label=Website&model='+$data.data('object')+'&id='+$data.data('id'));
|
||||
error(data.data ? data.data.arguments[0] : "", data.data ? data.data.arguments[1] : data.statusText, '/web#return_label=Website&model='+$data.data('object')+'&id='+$data.data('id'));
|
||||
});
|
||||
});
|
||||
|
||||
if (!$('.js_change_lang').length) {
|
||||
// in case template is not up to date...
|
||||
var links = $('ul.js_language_selector li a:not([data-oe-id])');
|
||||
var m = $(_.min(links, function(l) { return $(l).attr('href').length; })).attr('href');
|
||||
links.each(function() {
|
||||
var m = $(_.min(links, function (l) { return $(l).attr('href').length; })).attr('href');
|
||||
links.each(function () {
|
||||
var t = $(this).attr('href');
|
||||
var l = (t === m) ? "default" : t.split('/')[1];
|
||||
$(this).data('lang', l).addClass('js_change_lang');
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('click', '.js_change_lang', function(e) {
|
||||
$(document).on('click', '.js_change_lang', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var self = $(this);
|
||||
@@ -227,54 +216,65 @@ base.ready().then(function () {
|
||||
init_kanban(this);
|
||||
});
|
||||
|
||||
$('.js_website_submit_form').on('submit', function() {
|
||||
$('.js_website_submit_form').on('submit', function () {
|
||||
var $buttons = $(this).find('button[type="submit"], a.a-submit');
|
||||
_.each($buttons, function(btn) {
|
||||
_.each($buttons, function (btn) {
|
||||
$(btn).attr('data-loading-text', '<i class="fa fa-spinner fa-spin"></i> ' + $(btn).text()).button('loading');
|
||||
});
|
||||
});
|
||||
|
||||
setTimeout(function () {
|
||||
_.defer(function () {
|
||||
if (window.location.hash.indexOf("scrollTop=") > -1) {
|
||||
window.document.body.scrollTop = +location.hash.match(/scrollTop=([0-9]+)/)[1];
|
||||
}
|
||||
},0);
|
||||
|
||||
// display image thumbnail
|
||||
$(".o_image[data-mimetype^='image']").each(function () {
|
||||
var $img = $(this);
|
||||
if (/gif|jpe|jpg|png/.test($img.data('mimetype')) && $img.data('src')) {
|
||||
$img.css('background-image', "url('" + $img.data('src') + "')");
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Object who contains all method and bind for the top bar, the template is create server side.
|
||||
*/
|
||||
|
||||
var TopBar = Widget.extend({
|
||||
start: function () {
|
||||
var $collapse = this.$('#oe_applications ul.dropdown-menu').clone()
|
||||
.attr("id", "oe_applications_collapse")
|
||||
.attr("class", "nav navbar-nav navbar-left navbar-collapse collapse");
|
||||
this.$('#oe_applications').before($collapse);
|
||||
$collapse.wrap('<div class="visible-xs"/>');
|
||||
this.$('[data-target="#oe_applications"]').attr("data-target", "#oe_applications_collapse");
|
||||
|
||||
return this._super();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var data = {
|
||||
prompt: prompt,
|
||||
form: form,
|
||||
TopBar: TopBar,
|
||||
ready: function () {
|
||||
console.warn("website.ready is deprecated: Please use require('web_editor.base').ready()");
|
||||
return base.ready();
|
||||
}
|
||||
};
|
||||
return data;
|
||||
});
|
||||
|
||||
// display image thumbnail
|
||||
$(".o_image[data-mimetype^='image']").each(function () {
|
||||
var $img = $(this);
|
||||
if (/gif|jpe|jpg|png/.test($img.data('mimetype')) && $img.data('src')) {
|
||||
$img.css('background-image', "url('" + $img.data('src') + "')");
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Object who contains all method and bind for the top bar, the template is create server side.
|
||||
*/
|
||||
var TopBar = Widget.extend({
|
||||
start: function () {
|
||||
var $collapse = this.$('#oe_applications ul.dropdown-menu').clone()
|
||||
.attr("id", "oe_applications_collapse")
|
||||
.attr("class", "nav navbar-nav navbar-left navbar-collapse collapse");
|
||||
this.$('#oe_applications').before($collapse);
|
||||
$collapse.wrap('<div class="visible-xs"/>');
|
||||
this.$('[data-target="#oe_applications"]').attr("data-target", "#oe_applications_collapse");
|
||||
|
||||
var self = this;
|
||||
this.$el.on('mouseover', '> ul > li.dropdown:not(.open)', function (e) {
|
||||
var $opened = self.$('> ul > li.dropdown.open');
|
||||
if($opened.length) {
|
||||
$opened.removeClass('open');
|
||||
$(e.currentTarget).find('.dropdown-toggle').mousedown().focus().mouseup().click();
|
||||
}
|
||||
});
|
||||
|
||||
this.$el.on('click', '.o_mobile_menu_toggle', function (ev) {
|
||||
self.$el.parent().toggleClass('o_mobile_menu_opened');
|
||||
});
|
||||
|
||||
return this._super.apply(this, arguments);
|
||||
}
|
||||
});
|
||||
|
||||
var data = {
|
||||
prompt: prompt,
|
||||
error: error,
|
||||
form: form,
|
||||
TopBar: TopBar,
|
||||
ready: function () {
|
||||
console.warn("website.ready is deprecated: Please use require('web_editor.base').ready()");
|
||||
return base.ready();
|
||||
},
|
||||
};
|
||||
return data;
|
||||
});
|
||||
|
||||
@@ -1,39 +1,49 @@
|
||||
odoo.define('website.mobile', function (require) {
|
||||
'use strict';
|
||||
|
||||
var core = require('web.core');
|
||||
var ajax = require('web.ajax');
|
||||
var core = require('web.core');
|
||||
var Dialog = require('web.Dialog');
|
||||
var Widget = require('web.Widget');
|
||||
var base = require('web_editor.base');
|
||||
var website = require('website.website');
|
||||
|
||||
var qweb = core.qweb;
|
||||
var _t = core._t;
|
||||
|
||||
var MobilePreview = Widget.extend({
|
||||
var MobilePreviewDialog = Dialog.extend({
|
||||
template: 'website.mobile_preview',
|
||||
events: {
|
||||
'hidden.bs.modal': 'destroy'
|
||||
|
||||
init: function () {
|
||||
this._super.apply(this, arguments);
|
||||
this.mobile_src = $.param.querystring(window.location.href, 'mobilepreview');
|
||||
},
|
||||
start: function() {
|
||||
if (!window.location.origin) { // fix for ie9
|
||||
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
|
||||
}
|
||||
document.getElementById("mobile-viewport").src = window.location.origin + window.location.pathname + window.location.search + "#mobile-preview";
|
||||
this.$el.modal();
|
||||
},
|
||||
destroy: function() {
|
||||
$('.modal-backdrop').remove();
|
||||
this._super();
|
||||
|
||||
start: function () {
|
||||
var self = this;
|
||||
this.$modal.addClass('oe_mobile_preview');
|
||||
this.$modal.on('click', '.modal-header', function () {
|
||||
self.$el.toggleClass('o_invert_orientation');
|
||||
});
|
||||
this.$iframe = this.$('iframe');
|
||||
this.$iframe.on('load', function (e) {
|
||||
self.$iframe.contents().find('body').removeAttr('user');
|
||||
self.$iframe.contents().find('#oe_main_menu_navbar, #o_website_add_page_modal').remove();
|
||||
});
|
||||
|
||||
return this._super.apply(this, arguments);
|
||||
},
|
||||
});
|
||||
|
||||
website.TopBar.include({
|
||||
start: function () {
|
||||
this.$el.on('click', 'a[data-action=show-mobile-preview]', function() {
|
||||
new MobilePreview().appendTo($(document.body));
|
||||
var self = this;
|
||||
this.$el.on('click', 'a[data-action=show-mobile-preview]', function () {
|
||||
new MobilePreviewDialog(self, {
|
||||
title: _t('Mobile preview') + " <span class='fa fa-repeat'/>",
|
||||
}).open();
|
||||
});
|
||||
return this._super();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -4,6 +4,7 @@ odoo.define('website.seo', function (require) {
|
||||
var core = require('web.core');
|
||||
var ajax = require('web.ajax');
|
||||
var Class = require('web.Class');
|
||||
var Dialog = require('web.Dialog');
|
||||
var mixins = require('web.mixins');
|
||||
var Model = require('web.Model');
|
||||
var Widget = require('web.Widget');
|
||||
@@ -84,11 +85,11 @@ var SuggestionList = Widget.extend({
|
||||
ajax.jsonRpc('/website/seo_suggest', 'call', {
|
||||
'keywords': self.root,
|
||||
'lang': language,
|
||||
}).then(function(keyword_list){
|
||||
}).then(function (keyword_list) {
|
||||
self.addSuggestions(JSON.parse(keyword_list));
|
||||
});
|
||||
},
|
||||
addSuggestions: function(keywords) {
|
||||
addSuggestions: function (keywords) {
|
||||
var self = this;
|
||||
self.$el.empty();
|
||||
// TODO Improve algorithm + Ajust based on custom user keywords
|
||||
@@ -222,7 +223,6 @@ var Image = Widget.extend({
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
var ImageList = Widget.extend({
|
||||
init: function (parent, options) {
|
||||
this.htmlPage = options.page;
|
||||
@@ -339,15 +339,13 @@ var Tip = Widget.extend({
|
||||
},
|
||||
});
|
||||
|
||||
var Configurator = Widget.extend({
|
||||
var Configurator = Dialog.extend({
|
||||
template: 'website.seo_configuration',
|
||||
events: {
|
||||
'keyup input[name=seo_page_keywords]': 'confirmKeyword',
|
||||
'keyup input[name=seo_page_title]': 'titleChanged',
|
||||
'keyup textarea[name=seo_page_description]': 'descriptionChanged',
|
||||
'click button[data-action=add]': 'addKeyword',
|
||||
'click button[data-action=update]': 'update',
|
||||
'hidden.bs.modal': 'destroy',
|
||||
},
|
||||
canEditTitle: false,
|
||||
canEditDescription: false,
|
||||
@@ -355,44 +353,51 @@ var Configurator = Widget.extend({
|
||||
canEditLanguage: false,
|
||||
maxTitleSize: 65,
|
||||
maxDescriptionSize: 150,
|
||||
|
||||
init: function (parent, options) {
|
||||
options = options || {};
|
||||
_.defaults(options, {
|
||||
title: _t('Promote This Page'),
|
||||
subtitle: _t('Get this page efficiently referenced in Google to attract more visitors.'),
|
||||
buttons: [
|
||||
{text: _t('Save'), classes: 'btn-primary', click: this.update},
|
||||
{text: _t('Discard'), close: true},
|
||||
],
|
||||
});
|
||||
|
||||
this._super(parent, options);
|
||||
},
|
||||
start: function () {
|
||||
var self = this;
|
||||
var $modal = self.$el;
|
||||
var htmlPage = this.htmlPage = new HtmlPage();
|
||||
$modal.find('.js_seo_page_url').text(htmlPage.url());
|
||||
$modal.find('input[name=seo_page_title]').val(htmlPage.title());
|
||||
$modal.find('textarea[name=seo_page_description]').val(htmlPage.description());
|
||||
// self.suggestImprovements();
|
||||
// self.imageList = new ImageList(self, { page: htmlPage });
|
||||
// if (htmlPage.images().length === 0) {
|
||||
// $modal.find('.js_image_section').remove();
|
||||
// } else {
|
||||
// self.imageList.appendTo($modal.find('.js_seo_image_list'));
|
||||
// }
|
||||
self.keywordList = new KeywordList(self, { page: htmlPage });
|
||||
self.keywordList.on('list-full', self, function () {
|
||||
$modal.find('input[name=seo_page_keywords]')
|
||||
.attr('readonly', "readonly")
|
||||
.attr('placeholder', "Remove a keyword first");
|
||||
$modal.find('button[data-action=add]')
|
||||
.prop('disabled', true).addClass('disabled');
|
||||
|
||||
this.$modal.addClass('oe_seo_configuration js_seo_configuration');
|
||||
|
||||
this.htmlPage = new HtmlPage();
|
||||
this.$('.js_seo_page_url').text(this.htmlPage.url());
|
||||
this.$('input[name=seo_page_title]').val(this.htmlPage.title());
|
||||
this.$('textarea[name=seo_page_description]').val(this.htmlPage.description());
|
||||
|
||||
this.keywordList = new KeywordList(self, { page: this.htmlPage });
|
||||
this.keywordList.on('list-full', self, function () {
|
||||
self.$('input[name=seo_page_keywords]').attr({
|
||||
readonly: "readonly",
|
||||
placeholder: "Remove a keyword first"
|
||||
});
|
||||
self.$('button[data-action=add]').prop('disabled', true).addClass('disabled');
|
||||
});
|
||||
self.keywordList.on('list-not-full', self, function () {
|
||||
$modal.find('input[name=seo_page_keywords]')
|
||||
.removeAttr('readonly').attr('placeholder', "");
|
||||
$modal.find('button[data-action=add]')
|
||||
.prop('disabled', false).removeClass('disabled');
|
||||
this.keywordList.on('list-not-full', self, function () {
|
||||
self.$('input[name=seo_page_keywords]').removeAttr('readonly').attr('placeholder', "");
|
||||
self.$('button[data-action=add]').prop('disabled', false).removeClass('disabled');
|
||||
});
|
||||
self.keywordList.on('selected', self, function (word, language) {
|
||||
this.keywordList.on('selected', self, function (word, language) {
|
||||
self.keywordList.add(word, language);
|
||||
});
|
||||
self.keywordList.appendTo($modal.find('.js_seo_keywords_list'));
|
||||
self.disableUnsavableFields();
|
||||
self.renderPreview();
|
||||
$modal.modal();
|
||||
self.getLanguages();
|
||||
this.keywordList.appendTo(this.$('.js_seo_keywords_list'));
|
||||
this.disableUnsavableFields();
|
||||
this.renderPreview();
|
||||
this.getLanguages();
|
||||
},
|
||||
getLanguages: function(){
|
||||
getLanguages: function () {
|
||||
var self = this;
|
||||
ajax.jsonRpc('/web/dataset/call_kw', 'call', {
|
||||
model: 'website',
|
||||
@@ -402,7 +407,7 @@ var Configurator = Widget.extend({
|
||||
ids: [base.get_context().website_id],
|
||||
context: base.get_context()
|
||||
}
|
||||
}).then( function(data) {
|
||||
}).then( function (data) {
|
||||
self.$('#language-box').html(core.qweb.render('Configurator.language_promote', {
|
||||
'language': data,
|
||||
'def_lang': base.get_context().lang
|
||||
@@ -411,47 +416,34 @@ var Configurator = Widget.extend({
|
||||
},
|
||||
disableUnsavableFields: function () {
|
||||
var self = this;
|
||||
var $modal = self.$el;
|
||||
self.loadMetaData().then(function (data) {
|
||||
this.loadMetaData().then(function (data) {
|
||||
self.canEditTitle = data && ('website_meta_title' in data);
|
||||
self.canEditDescription = data && ('website_meta_description' in data);
|
||||
self.canEditKeywords = data && ('website_meta_keywords' in data);
|
||||
if (!self.canEditTitle) {
|
||||
$modal.find('input[name=seo_page_title]').attr('disabled', true);
|
||||
self.$('input[name=seo_page_title]').attr('disabled', true);
|
||||
}
|
||||
if (!self.canEditDescription) {
|
||||
$modal.find('textarea[name=seo_page_description]').attr('disabled', true);
|
||||
self.$('textarea[name=seo_page_description]').attr('disabled', true);
|
||||
}
|
||||
if (!self.canEditTitle && !self.canEditDescription && !self.canEditKeywords) {
|
||||
$modal.find('button[data-action=update]').attr('disabled', true);
|
||||
self.$footer.find('button[data-action=update]').attr('disabled', true);
|
||||
}
|
||||
});
|
||||
},
|
||||
suggestImprovements: function () {
|
||||
var tips = [];
|
||||
var self = this;
|
||||
var tips = [];
|
||||
_.each(tips, function (tip) {
|
||||
displayTip(tip.message, tip.type);
|
||||
});
|
||||
|
||||
function displayTip(message, type) {
|
||||
new Tip(self, {
|
||||
message: message,
|
||||
type: type,
|
||||
}).appendTo(self.$('.js_seo_tips'));
|
||||
}
|
||||
var htmlPage = this.htmlPage;
|
||||
|
||||
// Add message suggestions at the top of the dialog
|
||||
// if necessary....
|
||||
// if (htmlPage.headers('h1').length === 0) {
|
||||
// tips.push({
|
||||
// type: 'warning',
|
||||
// message: "This page seems to be missing a title.",
|
||||
// });
|
||||
// }
|
||||
|
||||
if (tips.length > 0) {
|
||||
_.each(tips, function (tip) {
|
||||
displayTip(tip.message, tip.type);
|
||||
});
|
||||
}
|
||||
},
|
||||
confirmKeyword: function (e) {
|
||||
if (e.keyCode == 13) {
|
||||
@@ -469,17 +461,17 @@ var Configurator = Widget.extend({
|
||||
update: function () {
|
||||
var self = this;
|
||||
var data = {};
|
||||
if (self.canEditTitle) {
|
||||
data.website_meta_title = self.htmlPage.title();
|
||||
if (this.canEditTitle) {
|
||||
data.website_meta_title = this.htmlPage.title();
|
||||
}
|
||||
if (self.canEditDescription) {
|
||||
data.website_meta_description = self.htmlPage.description();
|
||||
if (this.canEditDescription) {
|
||||
data.website_meta_description = this.htmlPage.description();
|
||||
}
|
||||
if (self.canEditKeywords) {
|
||||
data.website_meta_keywords = self.keywordList.keywords().join(", ");
|
||||
if (this.canEditKeywords) {
|
||||
data.website_meta_keywords = this.keywordList.keywords().join(", ");
|
||||
}
|
||||
self.saveMetaData(data).then(function () {
|
||||
self.$el.modal('hide');
|
||||
this.saveMetaData(data).then(function () {
|
||||
self.close();
|
||||
});
|
||||
},
|
||||
getMainObject: function () {
|
||||
@@ -495,7 +487,6 @@ var Configurator = Widget.extend({
|
||||
}
|
||||
},
|
||||
loadMetaData: function () {
|
||||
var self = this;
|
||||
var obj = this.getMainObject();
|
||||
var def = $.Deferred();
|
||||
if (!obj) {
|
||||
@@ -527,19 +518,19 @@ var Configurator = Widget.extend({
|
||||
},
|
||||
titleChanged: function () {
|
||||
var self = this;
|
||||
setTimeout(function () {
|
||||
_.defer(function () {
|
||||
var title = self.$('input[name=seo_page_title]').val();
|
||||
self.htmlPage.changeTitle(title);
|
||||
self.renderPreview();
|
||||
}, 0);
|
||||
});
|
||||
},
|
||||
descriptionChanged: function () {
|
||||
var self = this;
|
||||
setTimeout(function () {
|
||||
_.defer(function () {
|
||||
var description = self.$('textarea[name=seo_page_description]').val();
|
||||
self.htmlPage.changeDescription(description);
|
||||
self.renderPreview();
|
||||
}, 0);
|
||||
});
|
||||
},
|
||||
renderPreview: function () {
|
||||
var preview = new Preview(this, {
|
||||
@@ -553,14 +544,14 @@ var Configurator = Widget.extend({
|
||||
},
|
||||
destroy: function () {
|
||||
this.htmlPage.changeKeywords(this.keywordList.keywords());
|
||||
this._super();
|
||||
this._super.apply(this, arguments);
|
||||
},
|
||||
});
|
||||
|
||||
website.TopBar.include({
|
||||
start: function () {
|
||||
this.$el.on('click', 'a[data-action=promote-current-page]', function() {
|
||||
new Configurator(this).appendTo($(document.body));
|
||||
this.$el.on('click', 'a[data-action=promote-current-page]', function () {
|
||||
new Configurator(this).open();
|
||||
});
|
||||
return this._super();
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ var SocialShare = Widget.extend({
|
||||
}, 200);
|
||||
});
|
||||
},
|
||||
renderSocial: function(social) {
|
||||
renderSocial: function (social) {
|
||||
var url = document.URL.split(/[?#]/)[0]; // get current url without query string
|
||||
var title = document.title.split(" | ")[0]; // get the page title without the company name
|
||||
var hashtags = ' #'+ document.title.split(" | ")[1].replace(' ','') + ' ' + this.hashtags; // company name without spaces (for hashtag)
|
||||
@@ -76,8 +76,8 @@ var SocialShare = Widget.extend({
|
||||
});
|
||||
|
||||
// Initialize all social_share links when ready
|
||||
base.ready().done(function() {
|
||||
$('.oe_social_share').mouseenter(function() {
|
||||
base.ready().done(function () {
|
||||
$('.oe_social_share').mouseenter(function () {
|
||||
new SocialShare($(this));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -8,8 +8,6 @@ var animation = require('web_editor.snippets.animation');
|
||||
|
||||
var qweb = core.qweb;
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
function load_called_template () {
|
||||
var ids_or_xml_ids = _.uniq($("[data-oe-call]").map(function () {return $(this).data('oe-call');}).get());
|
||||
if (ids_or_xml_ids.length) {
|
||||
@@ -26,8 +24,6 @@ function load_called_template () {
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
base.ready().then(function () {
|
||||
load_called_template();
|
||||
if ($(".o_gallery:not(.oe_slideshow)").size()) {
|
||||
@@ -36,8 +32,6 @@ base.ready().then(function () {
|
||||
}
|
||||
});
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
animation.registry.slider = animation.Class.extend({
|
||||
selector: ".carousel",
|
||||
start: function () {
|
||||
@@ -150,22 +144,22 @@ animation.registry.ul = animation.Class.extend({
|
||||
});
|
||||
|
||||
/* -------------------------------------------------------------------------
|
||||
Gallery Animation
|
||||
Gallery Animation
|
||||
|
||||
This ads a Modal window containing a slider when an image is clicked
|
||||
inside a gallery
|
||||
This ads a Modal window containing a slider when an image is clicked
|
||||
inside a gallery
|
||||
-------------------------------------------------------------------------*/
|
||||
animation.registry.gallery = animation.Class.extend({
|
||||
selector: ".o_gallery:not(.o_slideshow)",
|
||||
start: function() {
|
||||
start: function () {
|
||||
var self = this;
|
||||
this.$el.on("click", "img", this.click_handler);
|
||||
},
|
||||
click_handler : function(event) {
|
||||
click_handler : function (event) {
|
||||
var self = this;
|
||||
var $cur = $(event.currentTarget);
|
||||
var edition_mode = ($cur.closest("[contenteditable='true']").size() !== 0);
|
||||
|
||||
|
||||
// show it only if not in edition mode
|
||||
if (!edition_mode) {
|
||||
var urls = [],
|
||||
@@ -183,7 +177,7 @@ animation.registry.gallery = animation.Class.extend({
|
||||
height : Math.round( window.innerHeight * size)
|
||||
};
|
||||
|
||||
$images.each(function() {
|
||||
$images.each(function () {
|
||||
urls.push($(this).attr("src"));
|
||||
});
|
||||
var $img = ($cur.is("img") === true) ? $cur : $cur.closest("img");
|
||||
@@ -202,7 +196,7 @@ animation.registry.gallery = animation.Class.extend({
|
||||
keyboard : true,
|
||||
backdrop : true
|
||||
});
|
||||
$modal.on('hidden.bs.modal', function() {
|
||||
$modal.on('hidden.bs.modal', function () {
|
||||
$(this).hide();
|
||||
$(this).siblings().filter(".modal-backdrop").remove(); // bootstrap leaves a modal-backdrop
|
||||
$(this).remove();
|
||||
@@ -213,11 +207,12 @@ animation.registry.gallery = animation.Class.extend({
|
||||
|
||||
this.carousel = new animation.registry.gallery_slider($modal.find(".carousel").carousel());
|
||||
}
|
||||
} // click_handler
|
||||
} // click_handler
|
||||
});
|
||||
|
||||
animation.registry.gallery_slider = animation.Class.extend({
|
||||
selector: ".o_slideshow",
|
||||
start: function() {
|
||||
start: function () {
|
||||
var $carousel = this.$target.is(".carousel") ? this.$target : this.$target.find(".carousel");
|
||||
var self = this;
|
||||
var $indicator = $carousel.find('.carousel-indicators');
|
||||
@@ -229,7 +224,7 @@ animation.registry.gallery_slider = animation.Class.extend({
|
||||
var nb = Math.ceil($lis.length / 10);
|
||||
|
||||
// fix bootstrap use index insead of data-slide-to
|
||||
$carousel.on('slide.bs.carousel', function() {
|
||||
$carousel.on('slide.bs.carousel', function () {
|
||||
setTimeout(function () {
|
||||
var $item = $carousel.find('.carousel-inner .prev, .carousel-inner .next');
|
||||
var index = $item.index();
|
||||
@@ -256,7 +251,7 @@ animation.registry.gallery_slider = animation.Class.extend({
|
||||
});
|
||||
hide();
|
||||
|
||||
$carousel.on('slid.bs.carousel', function() {
|
||||
$carousel.on('slid.bs.carousel', function () {
|
||||
var index = ($lis.filter('.active').index() || 1) -1;
|
||||
page = Math.floor(index / 10);
|
||||
hide();
|
||||
|
||||
@@ -6,16 +6,14 @@ var animation = require('web_editor.snippets.animation');
|
||||
var options = require('web_editor.snippets.options');
|
||||
var snippet_editor = require('web_editor.snippet.editor');
|
||||
|
||||
|
||||
snippet_editor.Class.include({
|
||||
_get_snippet_url: function () {
|
||||
return '/website/snippets';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var preventParentEmpty = {
|
||||
hide_remove_button: function() {
|
||||
hide_remove_button: function () {
|
||||
this.$overlay.find('.oe_snippet_remove, .oe_snippet_move').toggleClass("hidden", !this.$target.siblings().length);
|
||||
},
|
||||
on_focus : function () {
|
||||
@@ -32,9 +30,8 @@ var preventParentEmpty = {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
options.registry.slider = options.Class.extend({
|
||||
drop_and_build_snippet: function() {
|
||||
drop_and_build_snippet: function () {
|
||||
this.id = "myCarousel" + new Date().getTime();
|
||||
this.$target.attr("id", this.id);
|
||||
this.$target.find("[data-slide]").attr("data-cke-saved-href", "#" + this.id);
|
||||
@@ -96,14 +93,14 @@ options.registry.slider = options.Class.extend({
|
||||
});
|
||||
}
|
||||
else {
|
||||
var s_class = selection.attr('class').split(' ').filter(function(o) { return _.str.startsWith(o, "s_") })[0]
|
||||
var s_class = selection.attr('class').split(' ').filter(function (o) { return _.str.startsWith(o, "s_") })[0]
|
||||
selection = $snippets.find("." + s_class);
|
||||
}
|
||||
var $clone = $(selection).find('.item:first').clone();
|
||||
|
||||
// insert
|
||||
$clone.removeClass('active').insertAfter($active);
|
||||
setTimeout(function() {
|
||||
setTimeout(function () {
|
||||
self.$target.carousel().carousel(++index);
|
||||
self.rebind_event();
|
||||
},0);
|
||||
@@ -140,7 +137,7 @@ options.registry.slider = options.Class.extend({
|
||||
this.$target.find('.carousel-control, .carousel-indicators').addClass("hidden");
|
||||
}
|
||||
},
|
||||
interval : function(type, value) {
|
||||
interval : function (type, value) {
|
||||
this.$target.attr("data-interval", value);
|
||||
},
|
||||
set_active: function () {
|
||||
@@ -168,7 +165,7 @@ options.registry.carousel = options.registry.slider.extend({
|
||||
this._super();
|
||||
|
||||
// set background and prepare to clean for save
|
||||
var add_class = function (c){
|
||||
var add_class = function (c) {
|
||||
if (c) self._class = (self._class || "").replace(new RegExp("[ ]+" + c.replace(" ", "|[ ]+")), '') + ' ' + c;
|
||||
return self._class || "";
|
||||
};
|
||||
@@ -223,7 +220,7 @@ options.registry.marginAndResize = options.Class.extend({
|
||||
if (resize_values.w) this.$overlay.find(".oe_handle.w").removeClass("readonly");
|
||||
if (resize_values.size) this.$overlay.find(".oe_handle.size").removeClass("readonly");
|
||||
|
||||
this.$overlay.find(".oe_handle:not(.size), .oe_handle.size .size").on('mousedown', function (event){
|
||||
this.$overlay.find(".oe_handle:not(.size), .oe_handle.size .size").on('mousedown', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
var $handle = $(this);
|
||||
@@ -284,7 +281,7 @@ options.registry.marginAndResize = options.Class.extend({
|
||||
var $body = $(document.body);
|
||||
$body.addClass(cursor);
|
||||
|
||||
var body_mousemove = function (event){
|
||||
var body_mousemove = function (event) {
|
||||
event.preventDefault();
|
||||
if (compass === 'size') {
|
||||
var dy = event.pageY-offset;
|
||||
@@ -320,7 +317,7 @@ options.registry.marginAndResize = options.Class.extend({
|
||||
}
|
||||
};
|
||||
|
||||
var body_mouseup = function(){
|
||||
var body_mouseup = function () {
|
||||
$body.unbind('mousemove', body_mousemove);
|
||||
$body.unbind('mouseup', body_mouseup);
|
||||
$body.removeClass(cursor);
|
||||
@@ -335,7 +332,7 @@ options.registry.marginAndResize = options.Class.extend({
|
||||
$body.mousemove(body_mousemove);
|
||||
$body.mouseup(body_mouseup);
|
||||
});
|
||||
this.$overlay.find(".oe_handle.size .auto_size").on('click', function (event){
|
||||
this.$overlay.find(".oe_handle.size .auto_size").on('click', function (event) {
|
||||
self.$target.css("height", "");
|
||||
self.$target.css("overflow", "");
|
||||
self.buildingBlock.parent.rte.historyRecordUndo(self.$target, 'resize_Y');
|
||||
@@ -419,7 +416,7 @@ options.registry["margin-x"] = options.registry.marginAndResize.extend(preventPa
|
||||
|
||||
return this.grid;
|
||||
},
|
||||
_drag_and_drop_after_insert_dropzone: function(){
|
||||
_drag_and_drop_after_insert_dropzone: function () {
|
||||
var self = this;
|
||||
$(".row:has(> .oe_drop_zone)").each(function () {
|
||||
var $row = $(this);
|
||||
@@ -729,7 +726,9 @@ options.registry.collapse = options.Class.extend(preventParentEmpty).extend({
|
||||
this.create_ids(this.$target);
|
||||
},
|
||||
on_clone: function ($clone) {
|
||||
this._super();
|
||||
this._super.apply(this, arguments);
|
||||
$clone.find('[data-toggle="collapse"]').removeAttr('data-target').removeData('target');
|
||||
$clone.find('.panel-collapse').removeAttr('id');
|
||||
this.create_ids($clone);
|
||||
},
|
||||
on_move: function () {
|
||||
|
||||
@@ -24,7 +24,7 @@ ajax.loadXML('/website/static/src/xml/website.gallery.xml', qweb);
|
||||
Look at /website/views/snippets.xml for the available options
|
||||
------------------------------------------------------------------------*/
|
||||
options.registry.gallery = options.Class.extend({
|
||||
start : function() {
|
||||
start : function () {
|
||||
this._super();
|
||||
this.bind_change();
|
||||
var index = Math.max(_.map(this.$target.find("img").get(), function (img) { return img.dataset.index | 0; }));
|
||||
@@ -37,27 +37,27 @@ options.registry.gallery = options.Class.extend({
|
||||
this._temp_mode = this.$el.find("data-mode").data("mode");
|
||||
this._temp_col = this.$el.find("data-columns").data("columns");
|
||||
},
|
||||
drop_and_build_snippet: function() {
|
||||
drop_and_build_snippet: function () {
|
||||
var uuid = new Date().getTime();
|
||||
this.$target.find('.carousel').attr('id', 'slideshow_' + uuid);
|
||||
this.$target.find('[data-target]').attr('data-target', '#slideshow_' + uuid);
|
||||
},
|
||||
styling : function(type, value) {
|
||||
styling : function (type, value) {
|
||||
var classes = this.$el.find('li[data-styling]').map(function () {
|
||||
return $(this).data('styling');
|
||||
}).get().join(' ');
|
||||
this.$target.find("img").removeClass(classes).addClass(value);
|
||||
},
|
||||
interval : function(type, value) {
|
||||
interval : function (type, value) {
|
||||
this.$target.find('.carousel:first').attr("data-interval", value);
|
||||
},
|
||||
reapply : function() {
|
||||
reapply : function () {
|
||||
var self = this,
|
||||
modes = [ 'o_nomode', 'o_grid', 'o_masonry', 'o_slideshow' ],
|
||||
classes = this.$target.attr("class").split(/\s+/);
|
||||
this.cancel_masonry();
|
||||
|
||||
modes.forEach(function(mode) {
|
||||
modes.forEach(function (mode) {
|
||||
if (classes.indexOf(mode) != -1) {
|
||||
self.mode("reapply", mode.slice(2, Infinity));
|
||||
return;
|
||||
@@ -98,7 +98,7 @@ options.registry.gallery = options.Class.extend({
|
||||
$container.empty().append($content);
|
||||
return $container;
|
||||
},
|
||||
nomode : function(type) {
|
||||
nomode : function (type) {
|
||||
if (type !== "reapply" && !this.$target.attr('class').match(/o_grid|o_masonry|o_slideshow/)) return;
|
||||
|
||||
var self = this,
|
||||
@@ -126,7 +126,7 @@ options.registry.gallery = options.Class.extend({
|
||||
$(this.masonry_imgs).appendTo(this.$target);
|
||||
this.masonry_imgs = [];
|
||||
},
|
||||
masonry : function(type) {
|
||||
masonry : function (type) {
|
||||
var self = this,
|
||||
imgs = this.get_imgs(),
|
||||
columns = this.get_columns(),
|
||||
@@ -160,7 +160,7 @@ options.registry.gallery = options.Class.extend({
|
||||
if (imgs.length) add();
|
||||
this.$target.css("height", "");
|
||||
},
|
||||
grid : function(type) {
|
||||
grid : function (type) {
|
||||
if (type !== "reapply" && this.$target.hasClass('o_grid')) return;
|
||||
|
||||
var self = this,
|
||||
@@ -171,7 +171,7 @@ options.registry.gallery = options.Class.extend({
|
||||
colClass = "col-md-"+(12/columns),
|
||||
$container = this.replace($row);
|
||||
|
||||
$imgs.each(function(index) { // 0 based index
|
||||
$imgs.each(function (index) { // 0 based index
|
||||
$img = $(this);
|
||||
$col = $img.wrap('<div>').parent();
|
||||
self.img_preserve_styles($img);
|
||||
@@ -190,7 +190,7 @@ options.registry.gallery = options.Class.extend({
|
||||
|
||||
var self = this,
|
||||
$imgs = $(this.get_imgs()),
|
||||
urls = $imgs.map(function() { return $(this).attr("src"); } ).get();
|
||||
urls = $imgs.map(function () { return $(this).attr("src"); } ).get();
|
||||
var params = {
|
||||
srcs : urls,
|
||||
index: 0,
|
||||
@@ -215,14 +215,14 @@ options.registry.gallery = options.Class.extend({
|
||||
this.$target.data("snippet-view").start(true);
|
||||
}
|
||||
},
|
||||
columns : function(type, value) {
|
||||
columns : function (type, value) {
|
||||
this.$target.attr("data-columns", value);
|
||||
if (this._temp_col !== value) {
|
||||
this._temp_col = value;
|
||||
this.reapply();
|
||||
}
|
||||
},
|
||||
images_add : function(type) {
|
||||
images_add : function (type) {
|
||||
if(type !== "click") return;
|
||||
var self = this;
|
||||
var $container = this.$target.find(".container:first");
|
||||
@@ -243,16 +243,16 @@ options.registry.gallery = options.Class.extend({
|
||||
},0);
|
||||
});
|
||||
},
|
||||
images_rm : function(type) {
|
||||
images_rm : function (type) {
|
||||
if(type !== "click") return;
|
||||
this.replace($('<div class="alert alert-info css_editable_mode_display"/>').text(_t("Add Images from the 'Customize' menu")));
|
||||
},
|
||||
sizing : function() { // done via css, keep it to avoid undefined error
|
||||
sizing : function () { // done via css, keep it to avoid undefined error
|
||||
},
|
||||
/*
|
||||
* helpers
|
||||
*/
|
||||
styles_to_preserve : function($img) {
|
||||
styles_to_preserve : function ($img) {
|
||||
var styles = [ 'img-rounded', 'img-thumbnail', 'img-circle', 'shadow', 'fa-spin' ];
|
||||
var preserved = [];
|
||||
|
||||
@@ -263,17 +263,17 @@ options.registry.gallery = options.Class.extend({
|
||||
}
|
||||
return preserved.join(' ');
|
||||
},
|
||||
img_preserve_styles : function($img) {
|
||||
img_preserve_styles : function ($img) {
|
||||
var classes = this.styles_to_preserve($img);
|
||||
$img.removeAttr("class");
|
||||
$img.addClass(classes);
|
||||
return $img;
|
||||
},
|
||||
img_responsive : function(img) {
|
||||
img_responsive : function (img) {
|
||||
img.addClass("img img-responsive");
|
||||
return img;
|
||||
},
|
||||
lowest : function($cols) {
|
||||
lowest : function ($cols) {
|
||||
var height = 0, min = -1, col=0, lowest = undefined;
|
||||
$cols.each(function () {
|
||||
var $col = $(this);
|
||||
@@ -285,11 +285,11 @@ options.registry.gallery = options.Class.extend({
|
||||
});
|
||||
return lowest;
|
||||
},
|
||||
get_columns : function() {
|
||||
get_columns : function () {
|
||||
return parseInt(this.$target.attr("data-columns") || 3);
|
||||
},
|
||||
|
||||
clean_for_save: function() {
|
||||
clean_for_save: function () {
|
||||
var self = this;
|
||||
if (this.$target.hasClass("slideshow")) {
|
||||
this.$target.removeAttr("style");
|
||||
|
||||
@@ -45,7 +45,6 @@ var Theme = Widget.extend({
|
||||
this.timer = null;
|
||||
this.reload = false;
|
||||
this.flag = false;
|
||||
this.$el.addClass("theme_customize_modal");
|
||||
this.active_select_tags();
|
||||
this.$inputs = this.$("input[data-xmlid],input[data-enable],input[data-disable]");
|
||||
setTimeout(function () {self.$el.addClass('in');}, 0);
|
||||
@@ -95,20 +94,20 @@ var Theme = Widget.extend({
|
||||
var self = this;
|
||||
$('#theme_error').remove();
|
||||
return ajax.jsonRpc('/website/theme_customize_get', 'call', {
|
||||
'xml_ids': this.get_xml_ids(this.$inputs)
|
||||
}).done(function (data) {
|
||||
self.$inputs.filter('[data-xmlid=""]').prop("checked", true).change();
|
||||
self.$inputs.filter('[data-xmlid]:not([data-xmlid=""])').each(function () {
|
||||
if (!_.difference(self.get_xml_ids($(this)), data[1]).length) {
|
||||
$(this).prop("checked", false).trigger("change", true);
|
||||
}
|
||||
if (!_.difference(self.get_xml_ids($(this)), data[0]).length) {
|
||||
$(this).prop("checked", true).trigger("change", true);
|
||||
}
|
||||
});
|
||||
}).fail(function (d, error) {
|
||||
$('body').prepend($('<div id="theme_error"/>').text(error.data.message));
|
||||
'xml_ids': this.get_xml_ids(this.$inputs)
|
||||
}).done(function (data) {
|
||||
self.$inputs.filter('[data-xmlid=""]').prop("checked", true).change();
|
||||
self.$inputs.filter('[data-xmlid]:not([data-xmlid=""])').each(function () {
|
||||
if (!_.difference(self.get_xml_ids($(this)), data[1]).length) {
|
||||
$(this).prop("checked", false).trigger("change", true);
|
||||
}
|
||||
if (!_.difference(self.get_xml_ids($(this)), data[0]).length) {
|
||||
$(this).prop("checked", true).trigger("change", true);
|
||||
}
|
||||
});
|
||||
}).fail(function (d, error) {
|
||||
$('body').prepend($('<div id="theme_error"/>').text(error.data.message));
|
||||
});
|
||||
},
|
||||
get_inputs: function (string) {
|
||||
return this.$inputs.filter('#'+string.split(/\s*,\s*/).join(", #"));
|
||||
@@ -278,14 +277,7 @@ function themeError(message) {
|
||||
message = '<span class="text-muted">' + message + "</span><br/><br/>" + _t("Please install or update node-less");
|
||||
}
|
||||
|
||||
var $error = $( QWeb.render('website.error_dialog', {
|
||||
title: _t("Theme Error"),
|
||||
message: message
|
||||
}));
|
||||
$error.appendTo("body").modal();
|
||||
$error.on('hidden.bs.modal', function () {
|
||||
$(this).remove();
|
||||
});
|
||||
website.error(_t("Theme Error"), message);
|
||||
}
|
||||
|
||||
function theme_customize() {
|
||||
|
||||
@@ -15,20 +15,21 @@ base.ready().done(function () {
|
||||
path: '/page/homepage',
|
||||
steps: [
|
||||
{
|
||||
waitNot: 'body.editor_enable',
|
||||
title: _t("Welcome to your website!"),
|
||||
content: _t("This tutorial will guide you to build your home page. We will start by adding a banner."),
|
||||
popover: { next: _t("Start Tutorial"), end: _t("Skip It") },
|
||||
},
|
||||
{
|
||||
waitNot: '.popover.tour',
|
||||
element: 'button[data-action=edit]',
|
||||
element: 'a[data-action=edit]',
|
||||
placement: 'bottom',
|
||||
title: _t("Edit this page"),
|
||||
content: _t("Every page of your website can be modified through the <i>Edit</i> button."),
|
||||
popover: { fixed: true },
|
||||
},
|
||||
{
|
||||
snippet: '#snippet_structure .oe_snippet:first',
|
||||
snippet: '#snippet_structure .oe_snippet:eq(1)',
|
||||
placement: 'bottom',
|
||||
title: _t("Drag & Drop a Banner"),
|
||||
content: _t("Drag the Banner block and drop it in your page."),
|
||||
@@ -36,7 +37,7 @@ base.ready().done(function () {
|
||||
},
|
||||
{
|
||||
waitFor: '.oe_overlay_options .oe_options:visible',
|
||||
element: '#wrapwrap .carousel:first div.carousel-content',
|
||||
element: '#wrapwrap .carousel:first div.carousel-content h3',
|
||||
placement: 'top',
|
||||
title: _t("Customize banner's text"),
|
||||
content: _t("Click in the text and start editing it."),
|
||||
@@ -54,14 +55,14 @@ base.ready().done(function () {
|
||||
},
|
||||
{
|
||||
element: '.oe_overlay_options .oe_options:visible',
|
||||
placement: 'left',
|
||||
placement: 'bottom',
|
||||
title: _t("Customize the banner"),
|
||||
content: _t("Customize any block through this menu. Try to change the background of the banner."),
|
||||
popover: { next: _t("Continue") },
|
||||
},
|
||||
{
|
||||
waitNot: '.popover.tour',
|
||||
snippet: '#snippet_structure .oe_snippet:eq(7)',
|
||||
snippet: '#snippet_structure .oe_snippet:eq(6)',
|
||||
placement: 'bottom',
|
||||
title: _t("Drag & Drop This Block"),
|
||||
content: _t("Drag the <em>'Features'</em> block and drop it below the banner."),
|
||||
@@ -70,13 +71,13 @@ base.ready().done(function () {
|
||||
{
|
||||
waitFor: '.oe_overlay_options .oe_options:visible',
|
||||
element: 'button[data-action=save]',
|
||||
placement: 'right',
|
||||
placement: 'bottom',
|
||||
title: _t("Save your modifications"),
|
||||
content: _t("Publish your page by clicking on the <em>'Save'</em> button."),
|
||||
popover: { fixed: true },
|
||||
},
|
||||
{
|
||||
waitFor: 'button[data-action=edit]:visible',
|
||||
waitNot: 'body.editor_enable',
|
||||
title: _t("Good Job!"),
|
||||
content: _t("Well done, you created your homepage."),
|
||||
popover: { next: _t("Continue") },
|
||||
@@ -94,14 +95,21 @@ base.ready().done(function () {
|
||||
placement: 'right',
|
||||
title: _t("Check Mobile Preview"),
|
||||
content: _t("Scroll to check rendering and then close the mobile preview."),
|
||||
popover: { next: _t("Continue") },
|
||||
},
|
||||
{
|
||||
waitNot: '.modal-dialog:has(#mobile-viewport)',
|
||||
element: '#content-menu-button',
|
||||
placement: 'left',
|
||||
title: _t("Add new pages and menus"),
|
||||
content: _t("The 'Content' menu allows you to add pages or add the top menu."),
|
||||
placement: 'right',
|
||||
title: _t("Pages and menus"),
|
||||
content: _t("The 'Content' menu allows you to rename and delete pages or add them to the top menu."),
|
||||
popover: { next: _t("Continue") },
|
||||
},
|
||||
{
|
||||
waitNot: '.popover.tour',
|
||||
element: '#oe_main_menu_navbar a[data-action=new_page]',
|
||||
placement: 'bottom',
|
||||
title: _t("Add new pages"),
|
||||
content: _t("Use this button to add pages"),
|
||||
popover: { next: _t("Close Tutorial") },
|
||||
},
|
||||
]
|
||||
|
||||
@@ -31,12 +31,13 @@ Tour.register({
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "Open content menu",
|
||||
element: '#content-menu-button',
|
||||
waitFor: 'a[data-action="edit"]',
|
||||
title: "Open new page menu",
|
||||
element: '#oe_main_menu_navbar a[data-action=new_page]',
|
||||
},
|
||||
{
|
||||
title: "click on new page",
|
||||
element: '[data-action="new_page"]',
|
||||
element: '.modal a[data-action="new_page"]',
|
||||
},
|
||||
{
|
||||
title: "insert page name",
|
||||
@@ -77,7 +78,7 @@ Tour.register({
|
||||
{
|
||||
title: "translate",
|
||||
waitNot: '#wrap p span',
|
||||
element: '#oe_editzone button[data-action="translate"]',
|
||||
element: '.o_menu_systray a[data-action="translate"]',
|
||||
},
|
||||
{
|
||||
title: "check if translation is activate",
|
||||
@@ -144,7 +145,7 @@ Tour.register({
|
||||
{
|
||||
title: "edit english version",
|
||||
waitNot: '#wrap p font:first:containsExact(paragraphs <b>describing</b>)',
|
||||
element: 'button[data-action=edit]',
|
||||
element: 'a[data-action=edit]',
|
||||
},
|
||||
{
|
||||
title: "select text",
|
||||
|
||||
@@ -55,7 +55,7 @@ var nodialog = 'website_translator_nodialog';
|
||||
|
||||
var Translate = translate.Class.include({
|
||||
onTranslateReady: function () {
|
||||
if(this.gengo_translate){
|
||||
if(this.gengo_translate) {
|
||||
this.translation_gengo_display();
|
||||
}
|
||||
this._super();
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
@import "bootstrap";
|
||||
@@ -0,0 +1,148 @@
|
||||
|
||||
@-webkit-keyframes dragAndDrop {
|
||||
0% {
|
||||
top: -10px;
|
||||
left: -20px;
|
||||
.rotate(0);
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
top: -10px;
|
||||
left: -20px;
|
||||
.rotate(0);
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
top: 30px;
|
||||
left: 20px;
|
||||
.rotate(45deg);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
@keyframes dragAndDrop {
|
||||
0% {
|
||||
top: -10px;
|
||||
left: -20px;
|
||||
.rotate(0);
|
||||
opacity: 0;
|
||||
}
|
||||
50% {
|
||||
top: -10px;
|
||||
left: -20px;
|
||||
.rotate(0);
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
top: 30px;
|
||||
left: 20px;
|
||||
.rotate(45deg);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.o_editable {
|
||||
&:not(:empty), &[data-oe-type] {
|
||||
&:not([data-oe-model="ir.ui.view"]):not([data-oe-type="html"]):hover {
|
||||
box-shadow: @odoo-brand-primary 0 0 5px 2px inset;
|
||||
}
|
||||
}
|
||||
&:focus, &[data-oe-type] {
|
||||
min-height: 0.8em;
|
||||
min-width: 8px;
|
||||
}
|
||||
&.o_is_inline_editable {
|
||||
display: inline-block;
|
||||
}
|
||||
.btn, &.btn {
|
||||
.user-select(auto);
|
||||
cursor: text!important;
|
||||
}
|
||||
/* Summernote not Support for placeholder text https://github.com/summernote/summernote/issues/581 */
|
||||
&[placeholder]:empty:not(:focus):before {
|
||||
content: attr(placeholder);
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
&.oe_structure.oe_empty, &[data-oe-type=html] {
|
||||
> p:empty:only-child {
|
||||
color: #aaa;
|
||||
}
|
||||
}
|
||||
&.oe_structure.oe_empty, &[data-oe-type=html] {
|
||||
&:empty,
|
||||
> .oe_drop_zone.oe_insert:only-child,
|
||||
> p:empty:only-child {
|
||||
position: relative;
|
||||
&:before {
|
||||
display: block;
|
||||
font-family: FontAwesome;
|
||||
content: "\f061";
|
||||
color: @odoo-brand-primary;
|
||||
font-size: 30px;
|
||||
|
||||
position: absolute;
|
||||
z-index: 1031;
|
||||
.o-animation(dragAndDrop, 1s, linear, 0s, infinite, alternate);
|
||||
}
|
||||
&:focus:before { display: none; }
|
||||
}
|
||||
}
|
||||
}
|
||||
.editor_enable [data-oe-readonly]:hover {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* Prevent the text contents of draggable elements from being selectable. */
|
||||
[draggable] {
|
||||
.user-select(none);
|
||||
}
|
||||
|
||||
.oe_editable:focus,
|
||||
.css_editable_hidden,
|
||||
.editor_enable .css_editable_mode_hidden {
|
||||
outline: none!important;
|
||||
}
|
||||
|
||||
.css_editable_display,
|
||||
.editor_enable .css_non_editable_mode_hidden,
|
||||
.o_editable .media_iframe_video .css_editable_mode_display {
|
||||
display: block!important;
|
||||
}
|
||||
|
||||
[data-oe-type=html].oe_no_empty:empty {
|
||||
height: 16px!important;
|
||||
&:before {
|
||||
content: ''!important;
|
||||
}
|
||||
}
|
||||
|
||||
// EDITOR BAR
|
||||
table.editorbar-panel {
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
td { border: 1px solid #aaa}
|
||||
td.selected { background-color: #b1c9d9}
|
||||
}
|
||||
.link-style {
|
||||
.dropdown > .btn {
|
||||
min-width: 160px;
|
||||
}
|
||||
.link-style {
|
||||
display: none;
|
||||
}
|
||||
li {
|
||||
text-align: center;
|
||||
label {
|
||||
width: 100px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
}
|
||||
.col-sm-2 > * {
|
||||
line-height: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
// fontawesome
|
||||
.note-editable .fa {
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -0,0 +1,396 @@
|
||||
// General rules
|
||||
.carousel, .parallax, .blockquote {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@media (max-width: 400px) {
|
||||
section, .parallax, .row, .hr, .blockquote {
|
||||
height: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Table Snippet
|
||||
.table_desc {
|
||||
margin: 0 0 20px 0;
|
||||
width: 100%;
|
||||
word-break: break-all;
|
||||
border: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
.table_heading {
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #dddddd;
|
||||
color: #666666;
|
||||
font-size: 14px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
table.table_desc tr td {
|
||||
text-align: left;
|
||||
padding: 5px;
|
||||
font-size: 13px;
|
||||
&:first-child {
|
||||
width: 25%;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #c9c9c9;
|
||||
border-right: 1px solid #c9c9c9;
|
||||
border-left: none;
|
||||
}
|
||||
&:last-child {
|
||||
border-bottom: 1px solid #c9c9c9;
|
||||
}
|
||||
}
|
||||
|
||||
// Other snippet styles
|
||||
.s_comparisons .panel .list-group-item:not(.active) {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.s_references .img-thumbnail {
|
||||
border: none;
|
||||
}
|
||||
|
||||
// o_image_floating
|
||||
.o_image_floating {
|
||||
width: 40%;
|
||||
margin: 4px;
|
||||
div.o_container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&.o_margin_s {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
&.o_margin_s.pull-right {
|
||||
margin-left: 8px;
|
||||
}
|
||||
&.o_margin_s.pull-left {
|
||||
margin-right: 8px;
|
||||
}
|
||||
&.o_margin_m {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
&.o_margin_m.pull-right {
|
||||
margin-left: 12px;
|
||||
}
|
||||
&.o_margin_m.pull-left {
|
||||
margin-right: 12px;
|
||||
}
|
||||
&.o_margin_l {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
&.o_margin_l.pull-right {
|
||||
margin-left: 16px;
|
||||
}
|
||||
&.o_margin_l.pull-left {
|
||||
margin-right: 16px;
|
||||
}
|
||||
&.o_margin_xl {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
&.o_margin_xl.pull-right {
|
||||
margin-left: 32px;
|
||||
}
|
||||
&.o_margin_xl.pull-left {
|
||||
margin-right: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
// carousel
|
||||
.carousel-inner {
|
||||
height: 100%;
|
||||
.item {
|
||||
height: 100%;
|
||||
background-size: cover;
|
||||
}
|
||||
.carousel-control {
|
||||
cursor: pointer;
|
||||
span {
|
||||
top: 50%;
|
||||
position: absolute;
|
||||
margin-top: -8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.carousel .carousel-control {
|
||||
&.left {
|
||||
left: -10px;
|
||||
* {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
z-index: 5;
|
||||
right: 50%;
|
||||
}
|
||||
}
|
||||
&.right {
|
||||
right: -10px;
|
||||
* {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
z-index: 5;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.quotecarousel {
|
||||
padding-bottom: 16px;
|
||||
}
|
||||
|
||||
div.carousel .container {
|
||||
> .carousel-caption {
|
||||
.o-position-absolute(@right: 50%, @left: 50%);
|
||||
bottom: 20px;
|
||||
> div {
|
||||
position: absolute;
|
||||
text-align: left;
|
||||
padding: 20px;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
bottom: 20px;
|
||||
}
|
||||
}
|
||||
> .carousel-image {
|
||||
.o-position-absolute(@top: 5%, @bottom: 5%);
|
||||
max-height: 90%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.item.text_image .container {
|
||||
> .carousel-caption {
|
||||
left: 10%;
|
||||
> div {
|
||||
right: 50%;
|
||||
margin-right: -20%;
|
||||
max-width: 550px;
|
||||
}
|
||||
}
|
||||
> .carousel-image {
|
||||
right: 10%;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
.item.image_text .container {
|
||||
> .carousel-caption {
|
||||
right: 10%;
|
||||
> div {
|
||||
left: 50%;
|
||||
margin-left: -20%;
|
||||
max-width: 550px;
|
||||
}
|
||||
}
|
||||
> .carousel-image {
|
||||
right: 50%;
|
||||
left: 10%;
|
||||
}
|
||||
}
|
||||
.item.text_only .container {
|
||||
> .carousel-caption {
|
||||
left: 10%;
|
||||
right: 10%;
|
||||
top: 10%;
|
||||
bottom: auto;
|
||||
> div {
|
||||
text-align: center;
|
||||
background: transparent;
|
||||
bottom: auto;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
> .carousel-image {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Gallery
|
||||
.o_gallery {
|
||||
&.o_grid, &.o_masonry {
|
||||
.img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
&.o_grid {
|
||||
&.o_spc-none div.row {
|
||||
margin: 0;
|
||||
* {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
&.o_spc-small div.row {
|
||||
margin: 5px 0;
|
||||
* {
|
||||
padding: 0 5px;
|
||||
}
|
||||
}
|
||||
&.o_spc-medium div.row {
|
||||
margin: 10px 0;
|
||||
* {
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
&.o_spc-big div.row {
|
||||
margin: 15px 0;
|
||||
* {
|
||||
padding: 0 15px;
|
||||
}
|
||||
}
|
||||
|
||||
&.size-auto .row {
|
||||
height: auto;
|
||||
}
|
||||
&.size-small .row {
|
||||
height: 100px;
|
||||
}
|
||||
&.size-medium .row {
|
||||
height: 250px;
|
||||
}
|
||||
&.size-big .row {
|
||||
height: 400px;
|
||||
}
|
||||
&.size-small, &.size-medium, &.size-big {
|
||||
img {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.o_masonry {
|
||||
&.o_spc-none div.col {
|
||||
padding: 0;
|
||||
> img {
|
||||
margin: 0 !important;
|
||||
}
|
||||
}
|
||||
&.o_spc-small div.col {
|
||||
padding: 0 5px;
|
||||
> img {
|
||||
margin: 5px 0 !important;
|
||||
}
|
||||
}
|
||||
&.o_spc-medium div.col {
|
||||
padding: 0 10px;
|
||||
> img {
|
||||
margin: 10px 0 !important;
|
||||
}
|
||||
}
|
||||
&.o_spc-big div.col {
|
||||
padding: 0 15px;
|
||||
> img {
|
||||
margin: 15px 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.o_nomode {
|
||||
&.o_spc-none .img {
|
||||
padding: 0;
|
||||
}
|
||||
&.o_spc-small .img {
|
||||
padding: 5px;
|
||||
}
|
||||
&.o_spc-medium .img {
|
||||
padding: 10px;
|
||||
}
|
||||
&.o_spc-big .img {
|
||||
padding: 15px;
|
||||
}
|
||||
}
|
||||
&.o_slideshow {
|
||||
.carousel ul.carousel-indicators li {
|
||||
border: 1px solid #aaa;
|
||||
}
|
||||
> .container {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.carousel-inner .item img {
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
.o_gallery, .modal-body {
|
||||
&.o_slideshow {
|
||||
.carousel {
|
||||
height: 100%;
|
||||
|
||||
.item {
|
||||
padding-bottom: 64px;
|
||||
}
|
||||
|
||||
img {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
margin: auto;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
.translate(0, -50%);
|
||||
}
|
||||
|
||||
ul.carousel-indicators {
|
||||
display: block;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
border-width: 0;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
|
||||
> * {
|
||||
list-style-image: none;
|
||||
display: inline-block;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin: 0 0px 5px 5px;
|
||||
padding: 0;
|
||||
border: 1px solid #aaa;
|
||||
text-indent: initial;
|
||||
background-size: cover;
|
||||
background-color: #fff;
|
||||
border-radius: 0;
|
||||
|
||||
&:not(.active) {
|
||||
opacity: 0.8;
|
||||
-webkit-filter: grayscale(100%);
|
||||
filter: grayscale(100%);
|
||||
filter: gray;
|
||||
filter: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' height='0'><filter id='greyscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' /></filter></svg>#greyscale");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.carousel-control {
|
||||
&.right, &.left {
|
||||
background-image: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Parallax Theme
|
||||
div.carousel {
|
||||
.carousel-indicators {
|
||||
li { border: 1px solid grey; }
|
||||
.active { background-color: grey; }
|
||||
}
|
||||
span.carousel-img img,
|
||||
div.carousel-content {
|
||||
max-height: 95%;
|
||||
padding: 10px;
|
||||
}
|
||||
div.carousel-content {
|
||||
background-color: black;
|
||||
color: white;
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
.parallax {
|
||||
background-size: cover;
|
||||
> div {
|
||||
position: relative;
|
||||
display: table;
|
||||
width: 100%;
|
||||
min-height: 200px;
|
||||
> div {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
padding: 32px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,353 @@
|
||||
// MODALS
|
||||
body .modal {
|
||||
a {
|
||||
&:focus, &:active, &:focus:active {
|
||||
outline: none!important;
|
||||
}
|
||||
}
|
||||
|
||||
&.o_website_modal {
|
||||
font-family: "Roboto", Roboto, sans-serif;
|
||||
|
||||
.modal-content {
|
||||
border-radius: 0;
|
||||
background-color: @o-we-color-paper;
|
||||
.modal-header .o_subtitle {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.modal-body {
|
||||
.o_modal_header {
|
||||
.o-webclient-padding(@top: 10px, @bottom: 10px);
|
||||
.clearfix();
|
||||
}
|
||||
}
|
||||
.modal-footer {
|
||||
text-align: left;
|
||||
|
||||
.btn {
|
||||
border-radius: 0;
|
||||
|
||||
&.btn-primary {
|
||||
.button-variant(white, @odoo-brand-optional, @odoo-brand-optional);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
&.btn-default {
|
||||
.button-variant(@odoo-brand-optional, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
|
||||
text-transform: uppercase;
|
||||
}
|
||||
&.btn-link {
|
||||
.button-variant(@odoo-brand-optional, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: @screen-sm-min) {
|
||||
.modal-dialog {
|
||||
height: 100%;
|
||||
padding: 30px 0;
|
||||
margin: 0 auto;
|
||||
|
||||
.modal-content {
|
||||
max-height: 100%;
|
||||
.o-flex-display();
|
||||
.o-flex-flow(column, nowrap);
|
||||
|
||||
.modal-header, .modal-footer {
|
||||
.o-flex(0, 0, auto);
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MOBILE PREVIEW
|
||||
&.oe_mobile_preview {
|
||||
text-align: center;
|
||||
|
||||
.modal-dialog {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
|
||||
.close {
|
||||
color: lightgray;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: black;
|
||||
color: lightgray;
|
||||
border: 3px outset gray;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 0 100em 0 white;
|
||||
|
||||
.modal-header {
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
padding: 15px;
|
||||
|
||||
@mobile-preview-width: 320px;
|
||||
@mobile-preview-height: 530px;
|
||||
|
||||
> iframe {
|
||||
display: block;
|
||||
width: @mobile-preview-width + 15;
|
||||
height: @mobile-preview-height;
|
||||
max-height: 100%;
|
||||
border: none;
|
||||
|
||||
.o-transition(all, 400ms);
|
||||
}
|
||||
|
||||
&.o_invert_orientation > iframe {
|
||||
width: @mobile-preview-height + 15;
|
||||
height: @mobile-preview-width;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ADD NEW PAGE MODAL
|
||||
&#o_website_add_page_modal {
|
||||
text-align: center;
|
||||
line-height: 100%;
|
||||
|
||||
.modal-dialog {
|
||||
line-height: 100vh;
|
||||
margin: 0 auto;
|
||||
ul {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: middle;
|
||||
line-height: 1;
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
|
||||
li {
|
||||
opacity: 0;
|
||||
.animation(fadeInDownSmall 1s forwards);
|
||||
display: inline-block;
|
||||
width: 33%;
|
||||
margin: 2em 0;
|
||||
padding: 0 15px;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
font-size: 34px;
|
||||
margin: auto;
|
||||
|
||||
i {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
border: 3px solid lighten(#2C2C36, 10%);
|
||||
border-radius: 100%;
|
||||
line-height: 104px;
|
||||
background-color: #2C2C36;
|
||||
color: white;
|
||||
|
||||
.o-transition(all, 0.5s, cubic-bezier(0.19, 1, 0.22, 1));
|
||||
}
|
||||
p {
|
||||
color: white;
|
||||
margin-top: 0.7em;
|
||||
font-size: 0.5em;
|
||||
}
|
||||
|
||||
&:hover, &:focus {
|
||||
text-decoration: none;
|
||||
i {
|
||||
border-color: #1cc1a9;
|
||||
box-shadow: 0 0 10px rgba(28, 193, 169, 0.46);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
~ .modal-backdrop {
|
||||
opacity: 0.8;
|
||||
}
|
||||
}
|
||||
|
||||
// SEO CONFIGURATION
|
||||
&.oe_seo_configuration {
|
||||
li.oe_seo_preview_g {
|
||||
line-height: 1.2;
|
||||
font-size: small;
|
||||
font-family: arial, sans-serif;
|
||||
h3 {
|
||||
font-size: medium;
|
||||
}
|
||||
.r {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
-webkit-text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
a {
|
||||
color: #1e0fbe;
|
||||
text-decoration: underline;
|
||||
text-transform: none;
|
||||
em {
|
||||
font-style: normal !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.s {
|
||||
color: #444;
|
||||
max-width: 42em;
|
||||
}
|
||||
li.oe_seo_preview_g {
|
||||
&, .st {
|
||||
line-height: 1.24;
|
||||
}
|
||||
.kv, .slp {
|
||||
display: block;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
.f {
|
||||
color: #666;
|
||||
margin-bottom: 1px;
|
||||
cite {
|
||||
color: #006621;
|
||||
font-style: normal;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// LOGIN FORM
|
||||
.oe_login_form {
|
||||
max-width: 300px;
|
||||
position: relative;
|
||||
margin: 50px auto;
|
||||
}
|
||||
|
||||
// CUSTOMIZE THEME
|
||||
#theme_error {
|
||||
background: #ffc;
|
||||
}
|
||||
#theme_customize_modal {
|
||||
overflow: visible;
|
||||
z-index: 1020;
|
||||
display: block;
|
||||
.modal-dialog {
|
||||
.o-position-absolute(@odoo-navbar-height + 10, 10px);
|
||||
width: auto;
|
||||
margin: 0;
|
||||
font-family: Roboto;
|
||||
}
|
||||
.loading_backdrop {
|
||||
display: none;
|
||||
}
|
||||
&.loading .loading_backdrop {
|
||||
.o-position-absolute(0, 0, 0, 0);
|
||||
display: block;
|
||||
background: black;
|
||||
opacity: 0.3;
|
||||
z-index: 1;
|
||||
}
|
||||
label {
|
||||
display: block;
|
||||
text-align: center;
|
||||
> div, > img {
|
||||
border: 1px solid #fff;
|
||||
line-height: 30px;
|
||||
font-size: 0.9em;
|
||||
margin: 2px 4px;
|
||||
}
|
||||
&.checked > div, &.checked > img {
|
||||
box-shadow: 2px 2px 3px #888;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
img {
|
||||
width: 60px;
|
||||
height: 35px;
|
||||
margin: 2px;
|
||||
border: 1px solid rgba(136, 136, 136, 0.5);
|
||||
}
|
||||
input {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ACE EDITOR
|
||||
.oe_ace_view_editor {
|
||||
.o-position-absolute(@odoo-navbar-height, 0, 0);
|
||||
position: fixed;
|
||||
z-index: 1001;
|
||||
background: #2F3129;
|
||||
color: white;
|
||||
.oe_ace_view_editor_title {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
padding-top: 0;
|
||||
padding-left: 0;
|
||||
.oe_view_list, .btn {
|
||||
font-size: 14px;
|
||||
font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", "source-code-pro", monospace;
|
||||
line-height: normal;
|
||||
}
|
||||
.oe_view_list {
|
||||
width: 50%;
|
||||
height: 30px;
|
||||
}
|
||||
.btn {
|
||||
height: 100%;
|
||||
padding: 0 4px;
|
||||
}
|
||||
}
|
||||
.ace_editor {
|
||||
.o-position-absolute(50px, 0, 0, 0);
|
||||
.ace_gutter {
|
||||
cursor: ew-resize;
|
||||
}
|
||||
}
|
||||
#ace-view-id {
|
||||
padding: 0 1em;
|
||||
}
|
||||
&.oe_ace_open {
|
||||
opacity: 0.97;
|
||||
}
|
||||
&.oe_ace_closed {
|
||||
z-index: -1000;
|
||||
opacity: 0;
|
||||
}
|
||||
.oe_include_bundles {
|
||||
font-weight: normal;
|
||||
padding: 0 8px;
|
||||
}
|
||||
}
|
||||
|
||||
// PLANNER DIALOG
|
||||
#PlannerDialog {
|
||||
top: @odoo-navbar-height + 10;
|
||||
box-shadow: 0 3px 9px #666666;
|
||||
}
|
||||
|
||||
// POPOVER NAVIGATION
|
||||
.tour .popover-navigation {
|
||||
margin-left: 13px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
// LAYOUTING
|
||||
body.o_connected_user {
|
||||
padding-top: @odoo-navbar-height!important;
|
||||
}
|
||||
|
||||
// MAIN MENU STYLE (added above navbar.less)
|
||||
#oe_main_menu_navbar {
|
||||
.o-position-absolute(0, 0, auto, 0);
|
||||
position: fixed;
|
||||
z-index: 1001;
|
||||
|
||||
font-family: Roboto, @font-family-sans-serif;
|
||||
font-size: @odoo-font-size-base;
|
||||
a:hover, a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
.dropdown-menu {
|
||||
font-size: inherit;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.o_menu_systray {
|
||||
a[data-action="edit"], a[data-action="translate"] {
|
||||
background-color: @odoo-brand-optional;
|
||||
outline: 1px solid @odoo-brand-optional;
|
||||
&:hover, &:focus {
|
||||
background-color: darken(@odoo-brand-optional, 10%);
|
||||
outline-color: darken(@odoo-brand-optional, 10%);
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
&, &:hover, &:focus {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.o_mobile_preview a {
|
||||
width: @odoo-navbar-height - 2;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,301 @@
|
||||
|
||||
#wrapwrap {
|
||||
position: relative;
|
||||
display: table;
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
> * {
|
||||
display: table-row;
|
||||
}
|
||||
> main {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
// Default Style
|
||||
header a.navbar-brand {
|
||||
&.logo {
|
||||
padding: 0 15px;
|
||||
}
|
||||
img {
|
||||
max-height: 50px;
|
||||
}
|
||||
}
|
||||
footer {
|
||||
background-color: #F8F8F8;
|
||||
|
||||
#footer {
|
||||
padding-top: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
// Odoo utility classes
|
||||
.o_hidden {
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
// Odoo options classes
|
||||
.para_large {
|
||||
font-size: 120%;
|
||||
}
|
||||
.jumbotron {
|
||||
margin-bottom: 0;
|
||||
.para_large p {
|
||||
font-size: 150%;
|
||||
}
|
||||
}
|
||||
|
||||
.readable {
|
||||
font-size: 120%;
|
||||
max-width: 700px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
// Odoo image background classes
|
||||
.oe_img_bg {
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
|
||||
&.o_bg_img_opt_contain {
|
||||
background-size: contain;
|
||||
background-position: center center;
|
||||
}
|
||||
&.o_bg_img_opt_custom {
|
||||
background-size: auto;
|
||||
}
|
||||
&.o_bg_img_opt_repeat {
|
||||
background-repeat: repeat;
|
||||
}
|
||||
&.o_bg_img_opt_repeat_x {
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
&.o_bg_img_opt_repeat_y {
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
}
|
||||
|
||||
// Background (kept for 8.0 compatibility)
|
||||
.oe_dark {
|
||||
background-color: rgba(200, 200, 200, 0.14);
|
||||
}
|
||||
.oe_black {
|
||||
background-color: rgba(0, 0, 0, 0.9);
|
||||
color: white;
|
||||
}
|
||||
.oe_green {
|
||||
background-color: #169C78;
|
||||
color: white;
|
||||
.text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
.oe_blue_light {
|
||||
background-color: #41b6ab;
|
||||
color: white;
|
||||
.text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
.oe_blue {
|
||||
background-color: #34495e;
|
||||
color: white;
|
||||
}
|
||||
.oe_orange {
|
||||
background-color: #f05442;
|
||||
color: white;
|
||||
.text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
.oe_purple {
|
||||
background-color: #b163a3;
|
||||
color: white;
|
||||
.text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
.oe_red {
|
||||
background-color: #9C1b31;
|
||||
color: white;
|
||||
.text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
}
|
||||
.oe_none {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
.oe_yellow {
|
||||
background-color: #A2A51B;
|
||||
}
|
||||
.oe_green {
|
||||
background-color: #149F2C;
|
||||
}
|
||||
|
||||
// Typography
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
li > ul {
|
||||
list-style-type: circle;
|
||||
}
|
||||
li > * > li > ul {
|
||||
list-style-type: square;
|
||||
}
|
||||
li > * > li > * > li > ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
li > * > li > * > li > * > li > ul {
|
||||
list-style-type: circle;
|
||||
}
|
||||
li > * > li > * > li > * > li > * > li > ul {
|
||||
list-style-type: square;
|
||||
}
|
||||
li > * > li > * > li > * > li > * > li > * > li > ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
li > ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
li > * > li > ol {
|
||||
list-style-type: lower-greek;
|
||||
}
|
||||
li > * > li > * > li > ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
li > * > li > * > li > * > li > ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
li > * > li > * > li > * > li > * > li > ol {
|
||||
list-style-type: lower-greek;
|
||||
}
|
||||
li > * > li > * > li > * > li > * > li > * > li > ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
li > p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
font[style*='background'], font[class*='bg-'] {
|
||||
padding: 0 2px;
|
||||
}
|
||||
hr {
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
// O_UL
|
||||
.o_ul_toggle_self, .o_ul_toggle_next {
|
||||
display: none;
|
||||
}
|
||||
.o_ul_folded {
|
||||
.o_close {
|
||||
display: none!important;
|
||||
}
|
||||
.o_ul_toggle_self, .o_ul_toggle_next {
|
||||
display: inline-block;
|
||||
line-height: inherit;
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-left: -1em;
|
||||
top: -0.15em;
|
||||
left: 0.2em;
|
||||
font-size: 1.4em;
|
||||
text-decoration: none;
|
||||
&.o_open:before {
|
||||
content: "";
|
||||
}
|
||||
&:before {
|
||||
content: "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Bootstrap hacks
|
||||
.container {
|
||||
max-width: 100%;
|
||||
}
|
||||
// container inside container
|
||||
.container, .readable {
|
||||
.container {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
// HEADER NAV BAR
|
||||
.navbar.navbar-static-top {
|
||||
margin-bottom: 0;
|
||||
ul.nav > li.divider {
|
||||
margin-top: 15px;
|
||||
padding-top: 20px;
|
||||
border-right: 1px solid grey;
|
||||
}
|
||||
}
|
||||
ul.nav-stacked > li > a {
|
||||
padding: 2px 15px;
|
||||
}
|
||||
|
||||
// Columns min height
|
||||
[class^="col-md-"] {
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
// PUBLISH
|
||||
.css_published {
|
||||
.btn-danger, .css_publish {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.css_unpublished {
|
||||
.btn-success, .css_unpublish {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
[data-publish='off'] > *:not(.css_options) {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
// Others
|
||||
::-moz-selection {
|
||||
background: rgba(150, 150, 220, 0.3);
|
||||
}
|
||||
::selection {
|
||||
background: rgba(150, 150, 220, 0.3);
|
||||
}
|
||||
|
||||
.oe_demo {
|
||||
position: relative;
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
div {
|
||||
.o-position-absolute(@left: 0, @bottom: 0);
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
opacity: 0.85;
|
||||
width: 100%;
|
||||
padding: 7px;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
a {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.oe_search_box {
|
||||
padding-right: 23px;
|
||||
}
|
||||
.oe_search_clear {
|
||||
.o-position-absolute(1px, 42px);
|
||||
z-index: 2;
|
||||
display: none;
|
||||
cursor: pointer;
|
||||
color: #939393;
|
||||
padding: 10px 0;
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
-->
|
||||
|
||||
<t t-name="website.gallery.dialog.upload">
|
||||
<div class="modal fade" >
|
||||
<div class="modal o_website_modal fade" >
|
||||
<div class="modal-dialog" style="max-width: 50%;">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
@@ -69,9 +69,9 @@
|
||||
<a class="carousel-control right" t-attf-href="##{id}" data-slide="next"><span class="fa fa-chevron-right" /></a>
|
||||
</div> <!-- carousel-id -->
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
(function () {
|
||||
$(".slideshow").css("height", Math.round(window.innerHeight*0.7));
|
||||
$(window).on("resize", function() { $(".slideshow").css("height", Math.round(window.innerHeight*0.7)); });
|
||||
$(window).on("resize", function () { $(".slideshow").css("height", Math.round(window.innerHeight*0.7)); });
|
||||
})();
|
||||
</script>
|
||||
</t>
|
||||
@@ -88,7 +88,7 @@
|
||||
-->
|
||||
<t t-name="website.gallery.slideshow.lightbox">
|
||||
|
||||
<div class="modal fade" aria-labbelledby="Image Gallery Dialog" aria-hidden="true">
|
||||
<div class="modal o_website_modal fade" aria-labbelledby="Image Gallery Dialog" aria-hidden="true">
|
||||
|
||||
<div class="modal-dialog modal-lg" role="Picture Gallery"
|
||||
t-attf-style="min-width: #{dim.min_width}px ; min-height: #{dim.min_height}px ; max-width: #{dim.max_width}px ; max-height: #{dim.max_height}px ; height: #{dim.height}px ;">
|
||||
|
||||
@@ -10,86 +10,59 @@
|
||||
<option t-att-value="lang[0]" t-att-selected="lang[0] == def_lang ? 'selected' : null"><t t-esc="lang[1]" /></option>
|
||||
</t>
|
||||
</t>
|
||||
|
||||
<t t-name="website.seo_configuration">
|
||||
<div class="modal fade oe_seo_configuration js_seo_configuration" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button title="Close" type="button" class="close" data-dismiss="modal">×</button>
|
||||
<div class="h2">Promote This Page</div>
|
||||
<div class="text-muted">
|
||||
Get this page efficiently referenced in Google to attract more visitors.
|
||||
|
||||
<div t-name="website.seo_configuration">
|
||||
<div class="js_seo_tips" />
|
||||
<section class="js_seo_keywords_list">
|
||||
<h3 class="page-header mt16">1. Define Keywords <small>describing your page content</small></h3>
|
||||
<div class="form-horizontal" role="form">
|
||||
<div class="form-group">
|
||||
<label for="seo_page_keywords" class="col-sm-3 control-label">Add keyword:</label>
|
||||
<div class="col-sm-4">
|
||||
<div>
|
||||
<input type="text" name="seo_page_keywords" class="form-control" maxlength="30"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="js_seo_tips" />
|
||||
<section class="js_seo_keywords_list">
|
||||
<h3 class="page-header mt16">1. Define Keywords <small>describing your page content</small></h3>
|
||||
<div class="form-horizontal" role="form">
|
||||
<div class="form-group">
|
||||
<label for="seo_page_keywords" class="col-sm-3 control-label">Add keyword:</label>
|
||||
<div class="col-sm-4">
|
||||
<div>
|
||||
<input type="text" name="seo_page_keywords" class="form-control" maxlength="30"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<label for="seo_page_language" class="col-sm-3 control-label">Language:</label>
|
||||
<div>
|
||||
<div class="col-sm-4">
|
||||
<select name="seo_page_language" id="language-box" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<div class="col-md-10 text-center">
|
||||
<button data-action="add" class="btn btn-default" type="button">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-muted">Most searched topics related to your keywords, ordered by importance:</span>
|
||||
<!-- filled in JS -->
|
||||
</section>
|
||||
<section>
|
||||
<h3 class="page-header">2. Reference Your Page <small>using above suggested keywords</small></h3>
|
||||
<div class="form-horizontal mt16" role="form">
|
||||
<div class="form-group">
|
||||
<label for="seo_page_title" class="col-sm-2 control-label">Title</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" name="seo_page_title" class="form-control" maxlength="70" size="70"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="seo_page_description" class="col-sm-2 control-label">Description</label>
|
||||
<div class="col-sm-8">
|
||||
<textarea name="seo_page_description" class="form-control" rows="3" cols="70" t-att-maxlength="widget.maxDescriptionSize"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<h3 class="page-header">3. Preview <small>how your page will be listed on Google</small></h3>
|
||||
<div class="js_seo_preview"></div>
|
||||
</section>
|
||||
<!--
|
||||
<section class="js_image_section">
|
||||
<h3 class="page-header">4. Describe your images</h3>
|
||||
<div class="row js_seo_image_list">
|
||||
</div>
|
||||
</section>
|
||||
-->
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<label for="seo_page_language" class="col-sm-3 control-label">Language:</label>
|
||||
<div>
|
||||
<div class="col-sm-4">
|
||||
<select name="seo_page_language" id="language-box" class="form-control"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" data-action="update" class="btn btn-primary">Save</button>
|
||||
or
|
||||
<a data-action="discard" data-dismiss="modal" href="#" >Discard</a>
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<div class="col-md-10 text-center">
|
||||
<button data-action="add" class="btn btn-default" type="button">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
<span class="text-muted">Most searched topics related to your keywords, ordered by importance:</span>
|
||||
<!-- filled in JS -->
|
||||
</section>
|
||||
<section>
|
||||
<h3 class="page-header">2. Reference Your Page <small>using above suggested keywords</small></h3>
|
||||
<div class="form-horizontal mt16" role="form">
|
||||
<div class="form-group">
|
||||
<label for="seo_page_title" class="col-sm-2 control-label">Title</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" name="seo_page_title" class="form-control" maxlength="70" size="70"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="seo_page_description" class="col-sm-2 control-label">Description</label>
|
||||
<div class="col-sm-8">
|
||||
<textarea name="seo_page_description" class="form-control" rows="3" cols="70" t-att-maxlength="widget.maxDescriptionSize"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<h3 class="page-header">3. Preview <small>how your page will be listed on Google</small></h3>
|
||||
<div class="js_seo_preview"></div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<t t-name="website.seo_suggestion_list">
|
||||
<ul class="list-inline mb0">
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user