web js extend
-
-
@guwenfengvip163-com
换成include页不行的,感觉inlude里面的没有进去啊,都没有alert的 -
你的JS 进去了么? alert('core o2m', o2m); 这一句能弹出来不
-
@guwenfengvip163-com
alert('core o2m', o2m);这一句alert出来了,是include里面的没有alert出来 -
var FormView = require('web.FormView'); FormView.include({ defaults: _.extend({}, FormView.prototype.defaults, { disable_autofocus: config.device.touch, }), init: function () { this._super.apply(this, arguments); if (config.device.size_class <= config.device.SIZES.XS) { this.rendering_engine = new FormRenderingEngineMobile(this); } }, });
-
@guwenfengvip163-com
没反应的 -
这是@鲍永道 帮忙写的,目前可以达到的效果是在
form
视图中可以显示出跟list
视图一样的search
视图。其他问题:在
form
视图中输入需要搜索的字段的值后也可以像在list
视图中出现下拉式的选择搜索哪个字段,但是搜索后不会出现结果,需要点击面包屑导航的返回去才能看见结果。(也就是搜索后返回的还是等同于在list视图搜索的结果)可改进:我觉得效果应该是搜索后直接跳转到对应的form视图。具体修改涉及到哪里的方法我就不清楚了。
/** * @author taony * @deprecated 用于odoo form可以search搜索 * @since */ odoo.define('web.taony_form_search', function (require) { 'use strict'; var ControlPanel = require('web.ControlPanel'); var Bus = require('web.Bus'); var data = require('web.data'); var Widget = require('web.Widget'); ControlPanel.include({ _update_search_view: function (searchview, is_hidden) { var self = this; if (searchview) { searchview.$buttons = this.nodes.$searchview_buttons; searchview.toggle_visibility(true); self.nodes.$breadcrumbs.width('50%'); } this.nodes.$searchview.toggle(true); this.$el.toggleClass('o_breadcrumb_full', !!is_hidden); } }); });
-
@hui
我根据我的需要修改了一点点,让这个form
视图中的search
框只在我需要的model
中显示出来,其他的model
就不显示了。有个疑问:在浏览器中查看控制台日志的时候会发现,进入
list
视图的时候,searchview
是有值的,也就可以找到正在操作的model
,但是当点击某一个product
进入对应的form
视图的时候,会先出现searchview
的值为undefined
的,然后出现searchview
的值又回来的现象。我觉得应该跟update
的方法有关,但是关键点在哪个,这个就没看懂了。高手在哪里,出来指点指点。
代码如下:
/** * @author taony * @deprecated 用于odoo form可以search搜索 * @since */ odoo.define('web.taony_form_search', function (require) { 'use strict'; var ControlPanel = require('web.ControlPanel'); var Bus = require('web.Bus'); var data = require('web.data'); var Widget = require('web.Widget'); ControlPanel.include({ _update_search_view: function (searchview, is_hidden) { var self = this; if (searchview) { var model = searchview.model if ('product.template' == model){ searchview.$buttons = this.nodes.$searchview_buttons; searchview.toggle_visibility(true); self.nodes.$breadcrumbs.width('50%'); } } this.nodes.$searchview.toggle(true); this.$el.toggleClass('o_breadcrumb_full', !!is_hidden); } }); });