[MERGE] from trunk
bzr revid: chm@openerp.com-20120918153238-s0vvfwy5thpk8imc
This commit is contained in:
commit
a02496b5f8
|
@ -646,7 +646,6 @@
|
|||
.openerp .oe_dropdown_toggle {
|
||||
color: #404040;
|
||||
font-weight: normal;
|
||||
display:inline-block;
|
||||
}
|
||||
.openerp .oe_dropdown_hover:hover .oe_dropdown_menu, .openerp .oe_dropdown_menu.oe_opened {
|
||||
display: block;
|
||||
|
|
|
@ -540,7 +540,6 @@ $sheet-max-width: 860px
|
|||
.oe_dropdown_toggle
|
||||
color: #404040
|
||||
font-weight: normal
|
||||
display:inline-block
|
||||
.oe_dropdown_hover:hover .oe_dropdown_menu, .oe_dropdown_menu.oe_opened
|
||||
display: block
|
||||
.oe_dropdown_menu
|
||||
|
|
|
@ -79,6 +79,9 @@ instance.web.Dialog = instance.web.Widget.extend({
|
|||
}
|
||||
}
|
||||
if (options) {
|
||||
if (options.buttons) {
|
||||
this.params_buttons = true;
|
||||
}
|
||||
_.extend(this.dialog_options, options);
|
||||
}
|
||||
},
|
||||
|
@ -123,7 +126,13 @@ instance.web.Dialog = instance.web.Widget.extend({
|
|||
if (! this.dialog_inited)
|
||||
this.init_dialog();
|
||||
var o = this.get_options(options);
|
||||
if (! this.params_buttons) {
|
||||
this.$buttons.appendTo($("body"));
|
||||
}
|
||||
instance.web.dialog(this.$el, o).dialog('open');
|
||||
if (! this.params_buttons) {
|
||||
this.$buttons.appendTo(this.$el.dialog("widget"));
|
||||
}
|
||||
if (o.height === 'auto' && o.max_height) {
|
||||
this.$el.css({ 'max-height': o.max_height, 'overflow-y': 'auto' });
|
||||
}
|
||||
|
@ -133,6 +142,10 @@ instance.web.Dialog = instance.web.Widget.extend({
|
|||
this.renderElement();
|
||||
var o = this.get_options(options);
|
||||
instance.web.dialog(this.$el, o);
|
||||
if (! this.params_buttons) {
|
||||
this.$buttons = $('<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix" />');
|
||||
this.$el.dialog("widget").append(this.$buttons);
|
||||
}
|
||||
var res = this.start();
|
||||
this.dialog_inited = true;
|
||||
return res;
|
||||
|
|
|
@ -156,30 +156,32 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
|
|||
var to_load = _.difference(result, self.module_list).join(',');
|
||||
self.module_list = all_modules;
|
||||
|
||||
var loaded = $.Deferred().resolve().promise();
|
||||
if (to_load.length) {
|
||||
var loaded = self.rpc('/web/webclient/translations', params).then(function(trans) {
|
||||
instance.web._t.database.set_bundle(trans);
|
||||
});
|
||||
var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
|
||||
if(to_load.length) {
|
||||
loaded = $.when(
|
||||
self.rpc('/web/webclient/csslist', {mods: to_load}, self.do_load_css),
|
||||
loaded,
|
||||
self.rpc('/web/webclient/csslist', {mods: to_load}).then(self.do_load_css),
|
||||
self.rpc('/web/webclient/qweblist', {mods: to_load}).pipe(self.do_load_qweb),
|
||||
self.rpc('/web/webclient/translations', params).pipe(function(trans) {
|
||||
instance.web._t.database.set_bundle(trans);
|
||||
var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
|
||||
return self.rpc('/web/webclient/jslist', {mods: to_load}).pipe(function(files) {
|
||||
return self.do_load_js(file_list.concat(files));
|
||||
}).then(function () {
|
||||
if (!Date.CultureInfo.pmDesignator) {
|
||||
// If no am/pm designator is specified but the openerp
|
||||
// datetime format uses %i, date.js won't be able to
|
||||
// correctly format a date. See bug#938497.
|
||||
Date.CultureInfo.amDesignator = 'AM';
|
||||
Date.CultureInfo.pmDesignator = 'PM';
|
||||
}
|
||||
});
|
||||
}))
|
||||
self.rpc('/web/webclient/jslist', {mods: to_load}).then(function(files) {
|
||||
file_list = file_list.concat(files);
|
||||
})
|
||||
);
|
||||
}
|
||||
return loaded.then(function() {
|
||||
return loaded.pipe(function () {
|
||||
return self.do_load_js(file_list);
|
||||
}).then(function() {
|
||||
self.on_modules_loaded();
|
||||
self.trigger('module_loaded');
|
||||
if (!Date.CultureInfo.pmDesignator) {
|
||||
// If no am/pm designator is specified but the openerp
|
||||
// datetime format uses %i, date.js won't be able to
|
||||
// correctly format a date. See bug#938497.
|
||||
Date.CultureInfo.amDesignator = 'AM';
|
||||
Date.CultureInfo.pmDesignator = 'PM';
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
|
|
|
@ -159,10 +159,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
this.has_been_loaded.resolve();
|
||||
|
||||
// Add bounce effect on button 'Edit' when click on readonly page view.
|
||||
this.$el.find(".oe_form_field,label").on('click', function (e) {
|
||||
this.$el.find(".oe_form_group_row,.oe_form_field,label").on('click', function (e) {
|
||||
if(self.get("actual_mode") == "view") {
|
||||
var $button = self.options.$buttons.find(".oe_form_button_edit");
|
||||
$button.effect('bounce', {distance: 18, times: 5}, 150)
|
||||
e.stopPropagation();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -420,10 +421,12 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
this.do_update_pager();
|
||||
},
|
||||
do_update_pager: function(hide_index) {
|
||||
var index = hide_index ? '-' : this.dataset.index + 1;
|
||||
this.$pager.find('button').prop('disabled', this.dataset.ids.length < 2).end()
|
||||
.find('span.oe_pager_index').html(index).end()
|
||||
.find('span.oe_pager_count').html(this.dataset.ids.length);
|
||||
this.$pager.find('button').prop('disabled', this.dataset.ids.length < 2);
|
||||
if (hide_index || this.dataset.ids.length <= 1) {
|
||||
$(".oe_form_pager_state", this.$pager).html("");
|
||||
} else {
|
||||
$(".oe_form_pager_state", this.$pager).html(_.str.sprintf(_t("%d / %d"), this.dataset.index + 1, this.dataset.ids.length));
|
||||
}
|
||||
},
|
||||
parse_on_change: function (on_change, widget) {
|
||||
var self = this;
|
||||
|
@ -2613,6 +2616,7 @@ instance.web.form.CompletionFieldMixin = {
|
|||
|
||||
var dataset = new instance.web.DataSet(this, this.field.relation, self.build_context());
|
||||
var blacklist = this.get_search_blacklist();
|
||||
this.last_query = search_val;
|
||||
|
||||
return this.orderer.add(dataset.name_search(
|
||||
search_val, new instance.web.CompoundDomain(self.build_domain(), [["id", "not in", blacklist]]),
|
||||
|
@ -2720,6 +2724,32 @@ instance.web.form.CompletionFieldMixin = {
|
|||
},
|
||||
};
|
||||
|
||||
instance.web.form.M2ODialog = instance.web.Dialog.extend({
|
||||
template: "M2ODialog",
|
||||
init: function(parent) {
|
||||
this._super(parent, {
|
||||
title: _.str.sprintf(_t("Add %s"), parent.string),
|
||||
width: 312,
|
||||
});
|
||||
},
|
||||
start: function() {
|
||||
var self = this;
|
||||
this.$buttons.html(QWeb.render("M2ODialog.buttons"));
|
||||
this.$("input").val(this.getParent().last_query);
|
||||
this.$buttons.find(".oe_form_m2o_qc_button").click(function(){
|
||||
self.getParent()._quick_create(self.$("input").val());
|
||||
self.destroy();
|
||||
});
|
||||
this.$buttons.find(".oe_form_m2o_sc_button").click(function(){
|
||||
self.getParent()._search_create_popup("form", undefined, self.getParent()._create_context(self.$("input").val()));
|
||||
self.destroy();
|
||||
});
|
||||
this.$buttons.find(".oe_form_m2o_cancel_button").click(function(){
|
||||
self.destroy();
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instance.web.form.CompletionFieldMixin, instance.web.form.ReinitializeFieldMixin, {
|
||||
template: "FieldMany2One",
|
||||
init: function(field_manager, node) {
|
||||
|
@ -2750,26 +2780,23 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
|||
this.render_editable();
|
||||
this.render_value();
|
||||
},
|
||||
init_error_displayer: function() {
|
||||
// nothing
|
||||
},
|
||||
hide_error_displayer: function() {
|
||||
// doesn't work
|
||||
},
|
||||
show_error_displayer: function() {
|
||||
new instance.web.form.M2ODialog(this).open();
|
||||
},
|
||||
render_editable: function() {
|
||||
var self = this;
|
||||
this.$input = this.$el.find("input");
|
||||
|
||||
self.$input.tipsy({
|
||||
title: function() {
|
||||
return QWeb.render('Tipsy.alert', {
|
||||
message: "No element was selected, you should create or select one from the dropdown list."
|
||||
});
|
||||
},
|
||||
trigger:'manual',
|
||||
fade: true,
|
||||
gravity: 's',
|
||||
html: true,
|
||||
opacity: 1,
|
||||
offset: 4,
|
||||
});
|
||||
this.init_error_displayer();
|
||||
|
||||
self.$input.on('focus', function() {
|
||||
self.$input.tipsy("hide");
|
||||
self.hide_error_displayer();
|
||||
});
|
||||
|
||||
this.$drop_down = this.$el.find(".oe_m2o_drop_down_button");
|
||||
|
@ -2823,10 +2850,10 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
|||
}
|
||||
}
|
||||
});
|
||||
self.tip_def = $.Deferred();
|
||||
self.untip_def = $.Deferred();
|
||||
var tip_delay = 200;
|
||||
var tip_duration = 15000;
|
||||
self.ed_def = $.Deferred();
|
||||
self.uned_def = $.Deferred();
|
||||
var ed_delay = 200;
|
||||
var ed_duration = 15000;
|
||||
var anyoneLoosesFocus = function() {
|
||||
var used = false;
|
||||
if (self.floating) {
|
||||
|
@ -2846,25 +2873,25 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
|||
}
|
||||
self.floating = false;
|
||||
}
|
||||
if (used && self.get("value") === false && ! self.no_tipsy) {
|
||||
self.tip_def.reject();
|
||||
self.untip_def.reject();
|
||||
self.tip_def = $.Deferred();
|
||||
self.tip_def.then(function() {
|
||||
self.$input.tipsy("show");
|
||||
if (used && self.get("value") === false && ! self.no_ed) {
|
||||
self.ed_def.reject();
|
||||
self.uned_def.reject();
|
||||
self.ed_def = $.Deferred();
|
||||
self.ed_def.then(function() {
|
||||
self.show_error_displayer();
|
||||
});
|
||||
setTimeout(function() {
|
||||
self.tip_def.resolve();
|
||||
self.untip_def.reject();
|
||||
self.untip_def = $.Deferred();
|
||||
self.untip_def.then(function() {
|
||||
self.$input.tipsy("hide");
|
||||
self.ed_def.resolve();
|
||||
self.uned_def.reject();
|
||||
self.uned_def = $.Deferred();
|
||||
self.uned_def.then(function() {
|
||||
self.hide_error_displayer();
|
||||
});
|
||||
setTimeout(function() {self.untip_def.resolve();}, tip_duration);
|
||||
}, tip_delay);
|
||||
setTimeout(function() {self.uned_def.resolve();}, ed_duration);
|
||||
}, ed_delay);
|
||||
} else {
|
||||
self.no_tipsy = false;
|
||||
self.tip_def.reject();
|
||||
self.no_ed = false;
|
||||
self.ed_def.reject();
|
||||
}
|
||||
};
|
||||
var ignore_blur = false;
|
||||
|
@ -3004,13 +3031,13 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
|
|||
this.$input.focus();
|
||||
},
|
||||
_quick_create: function() {
|
||||
this.no_tipsy = true;
|
||||
this.tip_def.reject();
|
||||
this.no_ed = true;
|
||||
this.ed_def.reject();
|
||||
return instance.web.form.CompletionFieldMixin._quick_create.apply(this, arguments);
|
||||
},
|
||||
_search_create_popup: function() {
|
||||
this.no_tipsy = true;
|
||||
this.tip_def.reject();
|
||||
this.no_ed = true;
|
||||
this.ed_def.reject();
|
||||
return instance.web.form.CompletionFieldMixin._search_create_popup.apply(this, arguments);
|
||||
},
|
||||
});
|
||||
|
@ -4790,7 +4817,6 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
|
|||
}
|
||||
this.render_elements();
|
||||
}
|
||||
console.log('end selection');
|
||||
},
|
||||
/** Renders the widget. This function also checks for statusbar_colors='{"pending": "blue"}'
|
||||
* attribute in the widget. This allows to set a given color to a given
|
||||
|
|
|
@ -830,6 +830,10 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
|||
this.$el.prepend(
|
||||
$('<div class="oe_view_nocontent">').html(this.options.action.help)
|
||||
);
|
||||
var create_nocontent = this.$buttons;
|
||||
this.$el.find('.oe_view_nocontent').click(function() {
|
||||
create_nocontent.effect('bounce', {distance: 18, times: 5}, 150);
|
||||
});
|
||||
}
|
||||
});
|
||||
instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.ListView.List# */{
|
||||
|
@ -919,8 +923,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
|||
this.records.bind(event, callback);
|
||||
}, this);
|
||||
|
||||
this.$_element = $('<tbody>')
|
||||
.appendTo(document.body)
|
||||
this.$current = $('<tbody>')
|
||||
.delegate('th.oe_list_record_selector', 'click', function (e) {
|
||||
e.stopPropagation();
|
||||
var selection = self.get_selection();
|
||||
|
@ -1011,11 +1014,6 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
|||
});
|
||||
},
|
||||
render: function () {
|
||||
var self = this;
|
||||
if (this.$current) {
|
||||
this.$current.remove();
|
||||
}
|
||||
this.$current = this.$_element.clone(true);
|
||||
this.$current.empty().append(
|
||||
QWeb.render('ListView.rows', _.extend({
|
||||
render_cell: function () {
|
||||
|
@ -1051,7 +1049,11 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
|||
var row = cells.join('');
|
||||
this.$current
|
||||
.children('tr:not([data-id])').remove().end()
|
||||
.append(new Array(count - this.records.length + 1).join(row));
|
||||
.append(new Array(count - this.records.length + 1).join(row)).click(
|
||||
function() {
|
||||
$('button.oe_list_add').effect('bounce', {distance: 18, times: 5}, 150);
|
||||
}
|
||||
);
|
||||
},
|
||||
/**
|
||||
* Gets the ids of all currently selected records, if any
|
||||
|
@ -1091,7 +1093,6 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
|||
if (!this.$current) { return; }
|
||||
this.$current.remove();
|
||||
this.$current = null;
|
||||
this.$_element.remove();
|
||||
},
|
||||
get_records: function () {
|
||||
return this.records.map(function (record) {
|
||||
|
|
|
@ -327,7 +327,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
}
|
||||
this.dialog_stop();
|
||||
},
|
||||
ir_actions_server: function (action, on_closed) {
|
||||
ir_actions_server: function (action, on_closed, clear_breadcrumbs) {
|
||||
var self = this;
|
||||
this.rpc('/web/action/run', {
|
||||
action_id: action.id,
|
||||
|
|
|
@ -650,9 +650,11 @@
|
|||
</table>
|
||||
<div t-name="ListView.buttons" class="oe_list_buttons">
|
||||
<t t-if="!widget.no_leaf and widget.options.action_buttons !== false and widget.options.addable and widget.is_action_enabled('create')">
|
||||
<button type="button" class="oe_button oe_list_add oe_highlight">
|
||||
<t t-esc="widget.options.addable"/>
|
||||
</button>
|
||||
<div name="oe_list_add_div">
|
||||
<button type="button" class="oe_button oe_list_add oe_highlight">
|
||||
<t t-esc="widget.options.addable"/>
|
||||
</button>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
<t t-name="ListView.pager">
|
||||
|
@ -693,7 +695,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
<t t-extend="ListView.buttons">
|
||||
<t t-jquery="button.oe_list_add" t-operation="after">
|
||||
<t t-jquery="div.oe_list_add_div" t-operation="after">
|
||||
<button class="oe_button oe_list_save oe_highlight"
|
||||
type="button">Save</button>
|
||||
<span class="oe_alternative">
|
||||
|
@ -740,7 +742,7 @@
|
|||
<t t-name="FormView.pager">
|
||||
<div class="oe_form_pager">
|
||||
<t t-if="widget.options.pager !== false" t-call="ViewPager">
|
||||
<span class="oe_pager_index">0</span><span class="oe_pager_separator"> / </span><span class="oe_pager_count">0</span>
|
||||
<span class="oe_form_pager_state"></span>
|
||||
</t>
|
||||
</div>
|
||||
</t>
|
||||
|
@ -917,6 +919,7 @@
|
|||
t-att-tabindex="widget.node.attrs.tabindex"
|
||||
t-att-autofocus="widget.node.attrs.autofocus"
|
||||
t-att-placeholder="widget.node.attrs.placeholder"
|
||||
t-att-maxlength="widget.field.size"
|
||||
/><img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/>
|
||||
</t>
|
||||
</span>
|
||||
|
@ -931,6 +934,7 @@
|
|||
t-att-tabindex="widget.node.attrs.tabindex"
|
||||
t-att-autofocus="widget.node.attrs.autofocus"
|
||||
t-att-placeholder="widget.node.attrs.placeholder"
|
||||
t-att-maxlength="widget.field.size"
|
||||
/>
|
||||
</div>
|
||||
</t>
|
||||
|
@ -949,6 +953,7 @@
|
|||
t-att-tabindex="widget.node.attrs.tabindex"
|
||||
t-att-autofocus="widget.node.attrs.autofocus"
|
||||
t-att-placeholder="! widget.get('effective_readonly') ? widget.node.attrs.placeholder : ''"
|
||||
t-att-maxlength="widget.field.size"
|
||||
></textarea><img class="oe_field_translate oe_input_icon"
|
||||
t-if="widget.field.translate and !widget.get('effective_readonly')"
|
||||
t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"
|
||||
|
@ -1235,8 +1240,8 @@
|
|||
<button type="button" class="oe_button oe_abstractformpopup-form-save oe_highlight">Save</button>
|
||||
</t>
|
||||
<t t-if="multi_select">
|
||||
<button type="button" class="oe_button oe_abstractformpopup-form-save-new oe_highlight">Save & New</button>
|
||||
<button type="button" class="oe_button oe_abstractformpopup-form-save oe_highlight">Save & Close</button>
|
||||
<button type="button" class="oe_button oe_abstractformpopup-form-save-new oe_highlight">Save & New</button>
|
||||
</t>
|
||||
or
|
||||
</t>
|
||||
|
@ -1698,4 +1703,14 @@
|
|||
<div class="oe_throbber_message" style="color:white"></div>
|
||||
</div>
|
||||
</t>
|
||||
<t t-name="M2ODialog">
|
||||
<div>
|
||||
Name: <input class="oe_form_m2o_input_name" type="text"/>
|
||||
</div>
|
||||
</t>
|
||||
<t t-name="M2ODialog.buttons">
|
||||
<button class="oe_form_m2o_qc_button oe_button oe_highlight">Quick Add</button>
|
||||
<button class="oe_form_m2o_sc_button oe_button">Add All Info...</button>
|
||||
<button class="oe_form_m2o_cancel_button oe_button">Cancel</button>
|
||||
</t>
|
||||
</templates>
|
||||
|
|
|
@ -52,6 +52,9 @@ class GraphView(View):
|
|||
def _convert(field, data, tick=True):
|
||||
if fields[field]['type']=='many2one':
|
||||
data = data and data[1]
|
||||
elif (fields[field]['type']=='selection') and (type(fields[field]['selection']) in (list, tuple)):
|
||||
d = dict(fields[field]['selection'])
|
||||
data = d[data]
|
||||
if tick:
|
||||
return ticks.setdefault(data, len(ticks))
|
||||
return data or 0
|
||||
|
|
|
@ -142,9 +142,11 @@ instance.web_graph.GraphView = instance.web.View.extend({
|
|||
options_bar: function (data) {
|
||||
var min = _(data.data).chain()
|
||||
.map(function (record) {
|
||||
return _.min(record.data, function (item) {
|
||||
return item[1];
|
||||
})[1];
|
||||
if (record.data.length > 0){
|
||||
return _.min(record.data, function (item) {
|
||||
return item[1];
|
||||
})[1];
|
||||
}
|
||||
}).min().value();
|
||||
return {
|
||||
bars : {
|
||||
|
|
|
@ -141,7 +141,6 @@
|
|||
margin-left: 4px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
top: -8px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_add {
|
||||
|
|
|
@ -153,7 +153,6 @@
|
|||
margin-left: 4px
|
||||
cursor: pointer
|
||||
position: relative
|
||||
display: inline-block
|
||||
top: -8px
|
||||
.oe_kanban_add
|
||||
float: right
|
||||
|
|
|
@ -396,8 +396,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
} else {
|
||||
this.$el.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle');
|
||||
}
|
||||
|
||||
this.transform_widget_many2many();
|
||||
},
|
||||
on_record_moved : function(record, old_group, old_index, new_group, new_index) {
|
||||
var self = this;
|
||||
|
@ -414,7 +412,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
var data = {};
|
||||
data[this.group_by] = new_group.value;
|
||||
this.dataset.write(record.id, data, {}, function() {
|
||||
//self.do_reload();
|
||||
record.do_reload();
|
||||
new_group.do_save_sequences();
|
||||
}).fail(function(error, evt) {
|
||||
evt.preventDefault();
|
||||
|
@ -475,6 +473,10 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
this.$el.prepend(
|
||||
$('<div class="oe_view_nocontent">').html(this.options.action.help)
|
||||
);
|
||||
var create_nocontent = this.$buttons;
|
||||
this.$el.find('.oe_view_nocontent').click(function() {
|
||||
create_nocontent.effect('bounce', {distance: 18, times: 5}, 150);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -809,7 +811,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
|
|||
}
|
||||
});
|
||||
|
||||
if (this.$el.find('.oe_kanban_global_click,.oe_kanban_global_click_edit').length) {
|
||||
if (this.$el.find('.oe_kanban_global_click').length) {
|
||||
this.$el.on('click', function(ev) {
|
||||
if (!ev.isTrigger && !$(ev.target).data('events')) {
|
||||
var trigger = true;
|
||||
|
@ -850,15 +852,8 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
|
|||
});
|
||||
}
|
||||
},
|
||||
/* actions when user click on the block with a specific class
|
||||
* open on normal view : oe_kanban_global_click
|
||||
* open on form/edit view : oe_kanban_global_click_edit
|
||||
*/
|
||||
on_card_clicked: function(ev) {
|
||||
if(this.$el.find('.oe_kanban_global_click_edit').size()>0)
|
||||
this.do_action_edit();
|
||||
else
|
||||
this.do_action_open();
|
||||
this.view.open_record(this.id);
|
||||
},
|
||||
setup_color_picker: function() {
|
||||
var self = this;
|
||||
|
|
Loading…
Reference in New Issue