odoo14在列表视图里添加自定义按钮
static/js/xxxx.js 这里定义按钮
odoo.define('add.tree.view.buttons', function (require) {
"use strict";
var core = require('web.core');
var ListController = require('web.ListController');
var ListView = require('web.ListView');
var viewRegistry = require('web.view_registry'); var qweb = core.qweb; var AddListViewController = ListController.extend({
buttons_template: 'AddsListView.buttons',
/**
* Extends the renderButtons function of ListView by adding an event listener
* on the bill upload button.
*
* @override
*/
renderButtons: function () {
this._super.apply(this, arguments); // Possibly sets this.$buttons
if (this.$buttons) {
var self = this;
this.$buttons.on('click', '.o_button_add_tree_btn', function () {
var actived_ids = [];
var select_value = $('tbody .o_list_record_selector input');
var state = self.model.get(self.handle, {raw: true});
//这里是获取列表中选中的record
for (var i=0;i<select_value.length;i++){
if (select_value[i].checked===true){
actived_ids.push(state.res_ids[i]);
}
}
self.do_action({
type: 'ir.actions.act_window',
res_model: 'test.wizard',//向导模型
target: 'new',
views: [[false, 'form']],
context: {active_ids:actived_ids},
});
});
}
}
}); //注册你的插件
var AddsListView = ListView.extend({
config: _.extend({}, ListView.prototype.config, {
Controller: AddListViewController,
}),
}); viewRegistry.add('add_buttons_tree', AddsListView);
});
这里添加按钮:static/xml/xxxx.xml
<?xml version="1.0" encoding="UTF-8"?>
<templates>
<t t-extend="ListView.buttons" t-name="AddsListView.buttons">
<t t-jquery="button.o_button_import" t-operation="replace"></t><!--隐藏列表导入按钮-->
<t t-jquery="button.o_list_button_add" t-operation="after"> <!--将新加按钮放置创建按钮后面--> <button type="button" class="btn btn-danger o_button_add_tree_btn" title="按钮1">按钮1</button> </t> </t> </templates>
导入你的js
<odoo>
<data>
<template id="assets_backend" name="add list buttons" inherit_id = "web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/mde_name/static/src/js/add_tree_view_button.js"></script>
</xpath>
</template>
</data>
</odoo>
最后在列表视图中引用:js_class="AAAAAAAAA"
<tree string="" js_class="add_buttons_tree" delete="0" >
odoo14在列表视图里添加自定义按钮的更多相关文章
- Odoo13之在tree视图左上角添加自定义按钮
前言 首先展示效果图,如下图所示,在资产设备模块tree视图的左上角添加了一个同步资产的按钮. 要完成按钮的添加,分为四步,分别是: 1.编写xml文件,找到相关模型tree视图,并给模型tree视图 ...
- django xadmin 插件(3) 列表视图新增自定义按钮
效果图: 编辑按钮是默认的list_editable属性对应的插件(xadmin.plugins.editable) 放大按钮对应的是自定义插件. 自定义按钮源码: xplugin.py(保证能够直接 ...
- odoo开发笔记-- 按钮动作跳转到其他列表视图默认搜索
按钮动作跳转到其他列表视图 按照默认指定的条件搜索显示. 效果: 实现方式:
- SharePoint 2013无代码实现列表视图的时间段动态筛选
本文介绍两种为列表视图设置时间段筛选器的方法.其中,第一个方法用于SharePoint Server,第二个方法同时还能用于SharePoint Foundation. 方法一:日期筛选器Web部件 ...
- Office365学习笔记—Xslt自定义列表视图
1,在Office365中需要添加自定义的视图!用Spd添加视图,这儿我添加一个testView! (1)打开testView.aspx将</ZoneTemplate>节点中的内容全部删除 ...
- jQuery Mobile 列表视图(带有自动检索)
输入a: 输入b: jQuery Mobile 列表视图 jQuery Mobile 中的列表视图是标准的 HTML 列表:有序列表 (<ol>) 和无序列表 (<ul>). ...
- Hierarchy视图里的Transform和Camera组件
Hierarchy视图里的Transform和Camera组件 在Hierarchy视图里,选中Camera,然后在Inspector视图里查看其各组件,如图1-8所示.对于Transform和Cam ...
- delphi列表视图组件(TListView)使用方法|实例
TListView 组件以多种形式显示列表的项目,如详细资料.小图标.大图标等形式表示列表中的项目. 列表视图与用TListBox 组件实现的列表框非常相似.不同的是,列表视图可以让用户选择不同 ...
- Dynamics CRM2013 任务列表添加自定义按钮
任务列表的command bar 上面添加自定义按钮如下 要注意的是此处的列表不是任务实体而是活动实体,如果你是在任务实体的home栏上面加那你永远看不见按钮的显示,但如果是要在任务的表单界面上加按钮 ...
随机推荐
- 实验5、Flask设计模式和Web服务体验
1. 实验内容 Flask appbuilder包括基本的表单验证,内置管理模块.本节主要学习Flask appbuilder的后台管理模块使用和对Flask设计模式拓展作简要介绍 2. 实验要点 掌 ...
- 理解Spring:IOC的原理及手动实现
Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架.也是几乎所有Java工作者必须要掌握的框架之一,其优秀的设计思想以及其代码实现上的艺术也是我们需要掌握的. ...
- 【TCP/IP】TCP详解笔记
目录 前言 17. TCP 传输控制协议 17.1 引言 17.2 TCP 服务 17.3 TCP的首部 18. TCP连接的建立与终止 18.1 引言 18.2 连接的建立与终止 18.2.1 建立 ...
- bzoj2427 软件安装! 树dp
软件安装 内存限制:128 MiB 时间限制:1000 ms 标准输入输出 题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一 些软 ...
- 广州某小公司:ThreadLocal面试
<对线面试官>系列目前已经连载24篇啦!有深度风趣的系列! [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 & ...
- C#中使用ffmpeg合并视频
首先将最新的ffmpeg.exe放到debug路径下,下载地址 http://www.ffmpeg.org/download.html 然后调用此方法 public void CombineMp4Wi ...
- excel函数提取身份证出生日期,分离日期时间的日期和时间
1.提取身份证出生日期 =1*TEXT(MID(H13,7,8),"0-00-00")用MID函数提取表示日期的位数,再用text函数转换为格式1998-6-21格式的文本,再通过 ...
- TS基础应用 & Hook中的TS
说在前面 本文难度偏中下,涉及到的点大多为如何在项目中合理应用ts,小部分会涉及一些原理,受众面较广,有无TS基础均可放心食用. **>>>> 阅完本文,您可能会收获到< ...
- 【Linux】通过shell脚本对mysql的增删改查以及my.cnf的配置
目录 shell操作mysql 1.获取mysql默认密码 2.修改my.cnf文件 3.shell创建mysql数据库 4.shell创建mysql表 5.shell添加数据 6.shell删除数据 ...
- 7.6、openstack网络拓扑
1.openstack官方架构图: 2.openstack服务常用服务的端口号: mysql:3306 keystone:5000 memcache:11211 rabbitmq:5672 rabbi ...