mirror of
https://github.com/OCA/web.git
synced 2025-02-22 13:21:25 +02:00
[IMP] web_pwa_oca: Port changes from 12.0
This commit is contained in:
committed by
sergio-teruel
parent
c1afeed3c1
commit
1194498f2e
69
web_pwa_oca/views/res_config_settings_views.xml
Normal file
69
web_pwa_oca/views/res_config_settings_views.xml
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="res_config_settings_view_form" model="ir.ui.view">
|
||||
<field name="name">res.config.settings.view.form.pwa</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="base_setup.res_config_settings_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<div id="emails" position='after'>
|
||||
<h2>Progressive Web App</h2>
|
||||
<div class="row mt16 o_settings_container" id="pwa_settings">
|
||||
<div class="col-12 col-lg-6 o_setting_box" id="domain_setting">
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="pwa_name" string="PWA Title" />
|
||||
<span class="fa fa-lg fa-globe" />
|
||||
<div class="text-muted">
|
||||
Name and icon of your PWA
|
||||
</div>
|
||||
<div class="content-group">
|
||||
<div class="row mt16">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
string="Name"
|
||||
for="pwa_name"
|
||||
/>
|
||||
<field name="pwa_name" />
|
||||
</div>
|
||||
<div class="row mt16">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
string="Short Name"
|
||||
for="pwa_short_name"
|
||||
/>
|
||||
<field name="pwa_short_name" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_background_color"
|
||||
/>
|
||||
<field name="pwa_background_color" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_theme_color"
|
||||
/>
|
||||
<field name="pwa_theme_color" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_icon"
|
||||
/>
|
||||
<field
|
||||
name="pwa_icon"
|
||||
widget="image"
|
||||
class="float-left oe_avatar"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -1,109 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<template id="web_layout_pwa" name="Web layout PWA" inherit_id="web.layout">
|
||||
<xpath expr="//meta[@name='viewport']" position="after">
|
||||
<!-- Add link rel manifest -->
|
||||
<link rel="manifest" href="/web_pwa_oca/manifest.json" />
|
||||
<!-- Add iOS meta tags and icons -->
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
||||
<meta name="apple-mobile-web-app-title" content="Odoo PWA" />
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href="/web_pwa_oca/static/img/icons/icon-152x152.png"
|
||||
/>
|
||||
<!-- Add meta theme-color -->
|
||||
<meta name="theme-color" content="#2E69B5" />
|
||||
</xpath>
|
||||
</template>
|
||||
<template id="assets_backend" name="PWA assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/web_pwa_oca/static/src/js/pwa_install.js"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
<template id="service_worker" name="PWA service worker">
|
||||
'use strict';
|
||||
const CACHE_NAME = '<t t-esc="pwa_cache_name" />';
|
||||
const FILES_TO_CACHE = [
|
||||
<t t-foreach="pwa_files_to_cache" t-as="file_to_cache">
|
||||
'<t t-esc="file_to_cache" />',
|
||||
</t>
|
||||
];
|
||||
self.addEventListener('install', function (evt) {
|
||||
console.log('[ServiceWorker] Install');
|
||||
evt.waitUntil(
|
||||
caches.open(CACHE_NAME).then(function (cache) {
|
||||
console.log('[ServiceWorker] Pre-caching offline page');
|
||||
return cache.addAll(FILES_TO_CACHE);
|
||||
})
|
||||
);
|
||||
self.skipWaiting();
|
||||
});
|
||||
self.addEventListener('activate', function(evt) {
|
||||
console.log('[ServiceWorker] Activate');
|
||||
evt.waitUntil(
|
||||
caches.keys().then(function(keyList) {
|
||||
return Promise.all(keyList.map(function(key) {
|
||||
if (key !== CACHE_NAME) {
|
||||
console.log('[ServiceWorker] Removing old cache', key);
|
||||
return caches.delete(key);
|
||||
}
|
||||
}));
|
||||
})
|
||||
);
|
||||
self.clients.claim();
|
||||
});
|
||||
self.addEventListener('fetch', function(evt) {
|
||||
if (evt.request.cache === 'only-if-cached' && evt.request.mode !== 'same-origin') {
|
||||
return;
|
||||
}
|
||||
console.log('[ServiceWorker] Fetch', evt.request.url);
|
||||
evt.respondWith(
|
||||
caches.open(CACHE_NAME).then(function(cache) {
|
||||
return cache.match(evt.request)
|
||||
.then(function(response) {
|
||||
return response || fetch(evt.request);
|
||||
});
|
||||
})
|
||||
);
|
||||
});
|
||||
</template>
|
||||
<template id="manifest" name="PWA manifest">
|
||||
{
|
||||
"name": "<t t-esc="pwa_name" />",
|
||||
"short_name": "<t t-esc="pwa_short_name" />",
|
||||
"icons": [{
|
||||
"src": "<t t-esc="icon128x128" />",
|
||||
"sizes": "128x128",
|
||||
"type": "image/png"
|
||||
}, {
|
||||
"src": "<t t-esc="icon144x144" />",
|
||||
"sizes": "144x144",
|
||||
"type": "image/png"
|
||||
}, {
|
||||
"src": "<t t-esc="icon152x152" />",
|
||||
"sizes": "152x152",
|
||||
"type": "image/png"
|
||||
}, {
|
||||
"src": "<t t-esc="icon192x192" />",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
}, {
|
||||
"src": "<t t-esc="icon256x256" />",
|
||||
"sizes": "256x256",
|
||||
"type": "image/png"
|
||||
}, {
|
||||
"src": "<t t-esc="icon512x512" />",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}],
|
||||
"start_url": "/web",
|
||||
"display": "standalone",
|
||||
"background_color": "<t t-esc="background_color" />",
|
||||
"theme_color": "<t t-esc="theme_color" />"
|
||||
}
|
||||
</template>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user