flectra/addons/web_editor/views/iframe.xml
2018-01-16 02:34:37 -08:00

80 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<flectra>
<template id="layout" name="Editor layout">&lt;!DOCTYPE html&gt;
<html t-att-lang="lang and lang.replace('_', '-')"
t-att-data-editable="'1' if editable else None"
t-att-data-translatable="'1' if translatable else None"
t-att-data-edit_translations="'1' if edit_translations else None"
t-att-data-main-object="repr(main_object) if editable else None">
<head>
<meta charset="utf-8" />
<title>Flectra Editor layout</title>
<meta name="viewport" content="initial-scale=1"/>
<script type="text/javascript">
var callback = window.location.href.match(/callback=([^&amp;=]+)/)[1];
var flectra = {
session_info: {
is_superuser: <t t-esc="json.dumps(request.env.user._is_superuser())"/>,
is_frontend: true, // this is not really the frontend here but this key is used to detect if xml has to be manually loaded
},
_modules: ['web_editor'],
snippetsURL: '<t t-esc="snippets or ''"/>',
};
</script>
<t t-if="not dont_load_assets">
<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/services/session.js"></script>
<script type="text/javascript" src="/web_editor/static/src/js/content/body_manager.js"/>
<script type="text/javascript" src="/web_editor/static/src/js/root_widget.js"/>
<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>
if (window.top.flectra &amp;&amp; !window.top.flectra[callback+"_updown"]) {
window.top.flectra[callback+"_updown"] = function (value, fields_values) {
var editable = document.getElementsByClassName("o_editable")[0];
if (editable &amp;&amp; value !== editable.innerHTML) {
editable.innerHTML = value;
}
};
}
if(window.flectra.define) {
flectra.define('web.csrf', function (require) {
var token = "<t t-esc="request.csrf_token(None)"/>";
var core = require('web.core');
core.csrf_token = token;
core.qweb.default_dict.csrf_token = token;
});
}
</script>
<t t-raw="head or ''"/>
</head>
<body id="web_editor_inside_iframe" onload="var fn=window.top.flectra &amp;&amp; window.top.flectra[callback+'_content']; if(fn) {fn();} else {console.warn('Please don\'t open iframe without the flectra backend');}">
<div id="wrapwrap">
<main>
<t t-raw="0"/>
</main>
</div>
<t t-raw="add_html or ''"/>
</body>
</html>
</template>
<template id="FieldTextHtml" name="Editor HTML">
<t t-call="web_editor.layout">
<div id="editable_area" t-att-class="'' if edit_translations else 'o_editable'"></div>
</t>
</template>
</flectra>