2017-08-29 2 views
1

J'ai installé Masquer le menu Web sur https://www.odoo.com/apps/modules/8.0/web_menu_hide_8.0/Comment exécuter javascript seulement après le point de vue a chargé dans Odoo 10

J'ai modifié pour l'utiliser sur Odoo 10, mais la forme sera ajustée à la pleine largeur SI on appuie sur la peau bouton, si nous devions passer à une autre vue après avoir appuyé sur le bouton cacher, la page de formulaire restera identique à l'original (pas pleine largeur).

J'ai donc besoin d'ajuster la classe "o_form_sheet" en mode formulaire après le rendu de la page. Puis-je savoir comment puis-je faire cela en utilisant javascript? Quelle est la classe & dois-je étendre?

Répondre

0

Je vais répondre à ma propre question. Après quelques recherches, j'ai trouvé que la meilleure option était d'hériter du widget ViewManager en utilisant la fonction load_views.

var ViewManager = require('web.ViewManager'); 

ViewManager.include({ 
    load_views: function (load_fields) { 
     var self = this; 

     // Check if left menu visible 
     var root=self.$el.parents(); 
     var visible=(root.find('.o_sub_menu').css('display') != 'none') 
     if (visible) { 
      // Show menu and resize form components to original values 
      root.find('.o_form_sheet_bg').css('padding', self.sheetbg_padding); 
      root.find('.o_form_sheet').css('max-width', self.sheetbg_maxwidth); 
      root.find('.o_form_view div.oe_chatter').css('max-width', self.chatter_maxwidth); 
     } else { 
      // Hide menu and save original values 
      self.sheetbg_padding=root.find('.o_form_sheet_bg').css('padding'); 
      root.find('.o_form_sheet_bg').css('padding', '16px'); 
      self.sheetbg_maxwidth=root.find('.o_form_sheet').css('max-width'); 
      root.find('.o_form_sheet').css('max-width', '100%'); 
      self.chatter_maxwidth=root.find('.o_form_view div.oe_chatter').css('max-width'); 
      root.find('.o_form_view div.oe_chatter').css('max-width','100%'); 
     } 

     return this._super.apply(this, arguments, load_fields); 
    }, 
});