diff options
| author | jke-openerp <jke@openerp.com> | 2014-01-14 17:03:25 +0100 |
|---|---|---|
| committer | jke-openerp <jke@openerp.com> | 2014-01-14 17:03:25 +0100 |
| commit | a9218d7afd08a9554da503e9b2b290d8dff12564 (patch) | |
| tree | 0f7ccde07d07d2aea9b5a0a291ce25f1ca2e0077 /addons/web/static/src/js | |
| parent | 204b279a8942c2f228f0f71c522ad466ab91d9b4 (diff) | |
| parent | 11ad17a0858e672a76c7d3c57e22bfa0e5b5037e (diff) | |
[MERGE] Merge with trunk
Replace dHtmlXScheduler calendar by FullCalendar from Jquery
Manage filter by coworker/favorite Employee
Manage avatar in event / in sidebar filter
bzr revid: jke@openerp.com-20140114160325-1e4dgbe3f8fo38na
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 52 | ||||
| -rw-r--r-- | addons/web/static/src/js/views.js | 1 |
2 files changed, 36 insertions, 17 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index f20e9053867..796a23a0e8d 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -4261,6 +4261,7 @@ var lazy_build_o2m_kanban_view = function() { instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(instance.web.form.CompletionFieldMixin, instance.web.form.ReinitializeFieldMixin, { template: "FieldMany2ManyTags", + tag_template: "FieldMany2ManyTag", init: function() { this._super.apply(this, arguments); instance.web.form.CompletionFieldMixin.init.call(this); @@ -4268,13 +4269,9 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in this._display_orderer = new instance.web.DropMisordered(); this._drop_shown = false; }, - initialize_content: function() { - if (this.get("effective_readonly")) - return; + initialize_texttext: function(){ var self = this; - var ignore_blur = false; - self.$text = this.$("textarea"); - self.$text.textext({ + return { plugins : 'tags arrow autocomplete', autocomplete: { render: function(suggestion) { @@ -4325,7 +4322,15 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in }, }, }, - }).bind('getSuggestions', function(e, data) { + } + }, + initialize_content: function() { + if (this.get("effective_readonly")) + return; + var self = this; + var ignore_blur = false; + self.$text = this.$("textarea"); + self.$text.textext(self.initialize_texttext()).bind('getSuggestions', function(e, data) { var _this = this; var str = !!data ? data.query || '' : ''; self.get_search_result(str).done(function(result) { @@ -4373,6 +4378,24 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in get_search_blacklist: function() { return this.get("value"); }, + map_tag: function(data){ + return _.map(data, function(el) {return {name: el[1], id:el[0]};}) + }, + get_render_data: function(ids){ + var self = this; + var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.build_context()); + return dataset.name_get(ids); + }, + render_tag: function(data) { + var self = this; + if (! self.get("effective_readonly")) { + self.tags.containerElement().children().remove(); + self.$('textarea').css("padding-left", "3px"); + self.tags.addTags(self.map_tag(data)); + } else { + self.$el.html(QWeb.render(self.tag_template, {elements: data})); + } + }, render_value: function() { var self = this; var dataset = new instance.web.DataSetStatic(this, this.field.relation, self.build_context()); @@ -4385,17 +4408,12 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in indexed[el[0]] = el; }); data = _.map(values, function(el) { return indexed[el]; }); - if (! self.get("effective_readonly")) { - self.tags.containerElement().children().remove(); - self.$('textarea').css("padding-left", "3px"); - self.tags.addTags(_.map(data, function(el) {return {name: el[1], id:el[0]};})); - } else { - self.$el.html(QWeb.render("FieldMany2ManyTag", {elements: data})); - } - }; + self.render_tag(data); + } if (! values || values.length > 0) { - this._display_orderer.add(dataset.name_get(values)).done(handle_names); - } else { + this._display_orderer.add(self.get_render_data(values)).done(handle_names); + } + else{ handle_names([]); } }, diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 25a424394bb..82a2095bace 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -331,6 +331,7 @@ instance.web.ActionManager = instance.web.Widget.extend({ action_menu_id: null, additional_context: {}, }); + if (action === false) { action = { type: 'ir.actions.act_window_close' }; } else if (_.isString(action) && instance.web.client_actions.contains(action)) { |
