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栏上面加那你永远看不见按钮的显示,但如果是要在任务的表单界面上加按钮 ...
随机推荐
- 【SQLite】知识点概述
1.SQLite不与诸如MySQL,Oracle,PostgreSQL或SQL Server之类的客户端/服务器SQL数据库引擎竞争,SQLite与fopen()竞争,读写快35%.2.SQLite数 ...
- 【creo】CREO5.0+VS2019配置(还没写完)
欢迎大家一起学习使用c++对CREO5.0二次开发. 第1步,建立开发目录:在E盘(或者其他盘)新建creo_cpp文件夹,文件夹中新建ABC_TOOLS用来存放我们开发的工具,CODE文件夹存放开发 ...
- 6.11考试总结(NOIP模拟7)
背景 时间分配与得分成反比,T1 20min 73pts,T2 1h 30pts,T3 2h 15pts(没有更新tot值,本来应该是40pts的,算是本次考试中最遗憾的地方了吧),改起来就是T3比较 ...
- Java字符串比较(3种方法)以及对比 C++ 时的注意项
字符串比较是常见的操作,包括比较相等.比较大小.比较前缀和后缀串等.在 Java 中,比较字符串的常用方法有 3 个:equals() 方法.equalsIgnoreCase() 方法. compar ...
- Pytest学习笔记5-conftest.py的用法
前言 在之前介绍fixture的文章中,我们使用到了conftest.py文件,那么conftest.py文件到底该如何使用呢,下面我们就来详细了解一下conftest.py文件的特点和使用方法吧 什 ...
- 为什么 Python 没有函数重载?如何用装饰器实现函数重载?
英文:https://arpitbhayani.me/blogs/function-overloading 作者:arprit 译者:豌豆花下猫("Python猫"公众号作者) 声 ...
- python-geopandas读取、创建shapefile文件
作者:fungis 描述:一个热带生活.乐于分享.努力搬砖的giser 交流邮箱:fungis@163.com shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Fea ...
- 本地SQL Server怎么连接服务器上的数据库
在阿里云的安全组规则中的入方向加上端口1433就好了,首先得要有这个,其他的都是后话
- Golang编写动态库实现回调函数
Golang编写动态库实现回调函数 我们现在要做一个动态库,但是C++实在是比较难,于是就想能不能用更简单的golang来实现,golang也就是最近的版本才支持编译成动态库,在网上也没找到可用的案例 ...
- 服务器硬件及RAID配置实战
一.RAID磁盘阵列介绍 二.阵列卡介绍 三.阵列卡的缓存 四.实验构建软RAID磁盘阵列 一.RAID磁盘阵列介绍 1.定义 是Redundant Array of Independent Disk ...