我正在尝试将第三方库添加到Odoo系统中,我正在使用Odoo 10。
我想要整合的库是:https://github.com/ipluser/jquery-shifter但是,我无法实现这一目标。
我只是在视图上编码列表并调用库函数'shifter'。但它不起作用。
这是我的代码。
const ranks = Array('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K');
})
odoo.define('crm_broadband.shifter', function(require){
'use strict'
$(function() {
$('.shifter').shifter({
maxShift: 1,
switcher: true,
responsive: true,
speed: 1000,
});
})
答案 0 :(得分:0)
实际上问题是$(' .shifter')无法找到该元素。 使用'这个。$ el.find(' .shifter')' 解决了' start' ' web.FormView' 的功能。
现在出现另一个问题..
只要' ul.shifter' 结束了包装器空间,它就会让其元素转到新行,取消脚本功能。 另外,如果我没有设置' 元素的宽度,则脚本无法自行设置,使其宽度为0px。
有人可以帮助我吗?
感谢。
instance.web.FormView.include({
start: function() {
this._super.apply(this, arguments)
// WRAP CHILDREN IN 'li > ul > div'
this.$el.find('.oe_button_box')
.children()
.wrapAll("<div class='shifter_wrap'></div>")
.wrapAll("<ul class='shifter'></ul>")
.wrap("<li class='shifter_element'></li>")
this.$el.find('.shifter').shifter()
},
})
.shifter-wrap {
overflow: hidden !important;
height: 40px !important;
}
.shifter {
height: 40px;
margin-left: 0 !important;
max-width: @sheet-max-width !important;
min-width: 132px !important;
overflow: hidden !important;
}
.shifter_element {
width: 132px !important;
display: inline-block !important;
float: left !important;
}
好的,解决了。 我在&lt; head &gt;内调用了我的脚本。在我正在扩展的视图中声明,而不是文件开头的&quot;资产&#39; 模板。
<record id="crm_case_form_view_oppor_inherit" model="ir.ui.view">
<field name="name">crm.lead.form.opportunity.inherit</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='button_box']/button[1]" position="before">
<head>
<meta charset="UTF-8"/>
<meta name="renderer" content="webkit"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<script type="text/javascript" src="/crm_broadband/static/src/js/shifter.js"/>
</head>
<div class="shifter-wrap">
<ul class="shifter">
<li>
<button class="oe_stat_button oe_broadband_btn" name="open_create_popup"
icon="fa-plus" type="object"
attrs="{'invisible': [('partner_id', '!=', False)]}"
sequence="0">
<field string="Broadband" name="name" widget="statinfo"/>
</button>
</li>
</ul>
</div>
</xpath>
</field>
</record>