首页 > 其他分享 >7 odoo12 全屏模块开发

7 odoo12 全屏模块开发

时间:2023-03-06 22:12:14浏览次数:36  
标签:full screen de odoo12 else 全屏 模块 var

全屏功能开发:

1 定义web模板 t-name=”WebFullScreen”,预置全屏和退出全屏的a标签,退出全屏默认隐藏

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <template xml:space="preserve" >
  3. <t t-name="WebFullScreen">
  4. <li>
  5. <a class="full_screen" href="#">全屏</a>
  6. </li>
  7. <li><a style="display:none" class="not_full_screen" href="#">退出全屏</a></li>
  8. </t>
  9. </template>

2 通过js加载模块,并注册到系统工具栏

  1. FullScreenMenu.prototype.sequence = 0; # 排序位置
  2. SystrayMenu.Items.push(FullScreenMenu);

3 通过点击事件触发方法

  1. odoo.define('web_full_screen.FullScreen', function (require) {
  2. "use strict";
  3. var Widget = require('web.Widget');
  4. var SystrayMenu = require('web.SystrayMenu');
  5. var FullScreenMenu = Widget.extend({
  6. template: 'WebFullScreen',
  7. events: {
  8. 'click .not_full_screen': '_onNotFullScreen',
  9. 'click .full_screen': '_onFullScreen',
  10. },
  11. _onNotFullScreen: function () {
  12. var de = document;
  13. if(de.exitFullScreen) {
  14. de.exitFullScreen();
  15. } else if(de.mozCancelFullScreen) {
  16. de.mozCancelFullScreen();
  17. } else if(de.webkitExitFullscreen) {
  18. de.webkitExitFullscreen();
  19. } else if(de.msExitFullscreen) {
  20. de.msExitFullscreen();
  21. }
  22. var $full_screen = document.getElementsByClassName('full_screen')[0]
  23. var $not_full_screen = document.getElementsByClassName('not_full_screen')[0]
  24. this.do_notify("退出网页版全屏.");
  25. $not_full_screen.style.display = 'none';
  26. $full_screen.style.display = 'block';
  27. },
  28. _onFullScreen: function () {
  29. var de = document.documentElement;
  30. if (de.requestFullscreen) {
  31. de.requestFullscreen();
  32. } else if (de.mozRequestFullScreen) {
  33. de.mozRequestFullScreen();
  34. } else if (de.webkitRequestFullScreen) {
  35. de.webkitRequestFullScreen();
  36. } else if (de.msRequestFullscreen) {
  37. de.msRequestFullscreen();
  38. }
  39. var $full_screen = document.getElementsByClassName('full_screen')[0]
  40. var $not_full_screen = document.getElementsByClassName('not_full_screen')[0]
  41. $not_full_screen.style.display = 'block';
  42. $full_screen.style.display = 'none';
  43. this.do_notify("进入网页版全屏.");
  44. },
  45. });
  46. FullScreenMenu.prototype.sequence = 0; // force UserMenu to be the right-most item in the systray
  47. SystrayMenu.Items.push(FullScreenMenu);
  48. return FullScreenMenu;
  49. });

标签:full,screen,de,odoo12,else,全屏,模块,var
From: https://www.cnblogs.com/pythonClub/p/17185718.html

相关文章

  • Python 学习07 模块和标准库
    66、模块的导入67、标准库......
  • 第三方模块源码下载安装步骤讲解
    第一步:在Gitee上clone下来第二步:在本机下载目录找下载好了的源码文件第三步:装完之后,首先把路径复制下来第四步:之后来到项目,在terminal里面先CD到C盘,再把刚刚复制的......
  • 新移科技4G全网通MTK6761安卓主板|安卓智能模块定制开发
    新移科技XY6761CA安卓核心板基于联发科MTK6761曦力A22平台,结合先进相机功能、丰富连接方式和轻量人工智能。是一款高性能低功耗的4G全网通安卓智能模块。   MTK6761......
  • 网络安全(中职组)-B模块:Windows操作系统渗透测试
    任务环境说明:服务器场景:teltest服务器场景操作系统:Windows7(封闭靶机)1.通过本地PC中渗透测试平台Kali对服务器场景Windows进行系统服务及版本扫描渗透测试,并将该作显示......
  • linux下nginx安装rtmp模块
    0.背景1.安装1.1安装nginx所需的编译环境yuminstall-ywgetunzipgccgcc-c++perlpcre-develzlibzlib-developensslopenssl-develnet-tools1.2下载nginx......
  • 对接外部功能模块的一点心得
    1.直接采用DMA+空闲中断来及时接受串口数据能够解决大部分的接受数据2.针对某些模块空闲中断不能解决,原因是传输数据过程中,模块传递的某些字节超过了空闲中断的时间,导......
  • logging 模块的基本用法
    logging使用实例importlogginglogging.basicConfig(level=logging.DEBUG,filename="output.log",datefmt="%Y/%m/%d%H:%M:%S",format="%(ascti......
  • python3 queue模块
    1.模块介绍Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了......
  • 加载内核模块-Unknown symbol错误分析
    在调试过程中,发现一个问题,编译生成一个KO文件,insmod加载后报错:Unknownsymbolvar_set_integer(err0)Unknownsymbolparse_arg_eq(err0)问题分析思路:一、用命令查......
  • 13——模块、Babel、Webpack
    第十三周Module模块初识什么是模块,模块系统防止不同作用域变量相互污染,一个一个的局部作用域的代码块以前:IIFE,缺点:引入顺序需要注意,还是会有全局变量模块系统解决......