2017-09-04 1 views
1

J'ai essayé d'obtenir le contenu html de javascript déclaré dans mon module.Impossible d'obtenir le contenu d'un fichier javascript dans Odoo 9

Mais tout ce que je peux obtenir par le nom de classe est le contenu de l'en-tête mais la vue kanban.

openerp.my_module = function(instance) { 
    var header = $(".headerClass").html(); 
    console.log(header); 
    var kanban = $(".kanbanClass").html(); 
    console.log(kanban); 
}; 

aussi j'ai ajouté le fichier javascript pour web.assets_backend

<?xml version="1.0" encoding="UTF-8"?> 
<openerp> 
    <data> 
     <template id="assets_backend" inherit_id="web.assets_backend"> 
      <xpath expr="." position="inside"> 
       <script type="text/javascript" src="/my_module/static/src/js/my_module.js"></script> 
      </xpath> 
     </template> 
    </data> 
</openerp> 

premier journal affiche le contenu html mais second journal montre non défini.

Je suppose que quand ce javascript exécuté la vue de kanban dans le xml n'a pas inclus.

MISE À JOUR

<record id="my_module_view_kanban" model="ir.ui.view"> 
    <field name="name">my.module.kanban</field> 
    <field name="model">my.module.model</field> 
    <field name="arch" type="xml"> 
     <kanban class="oe_background_grey o_kanban_dashboard" display="[name]"> 
      <field name="name"/> 
      <field name="color"/> 
      <field name="state"/> 
      <field name="nth_week"/> 
      <field name="date_start"/> 
      <field name="date_end"/> 
      <field name="date"/> 
      <field name="count_employees"/> 
      <templates> 
       <t t-name="kanban-box"> 
        <div class="kanban_weekly_record"> 
         <div t-attf-class="#{kanban_color(record.color.raw_value)} oe_kanban_global_click"> 
          <div class="o_weekly_kanban_main"> 
          <div class="o_kanban_card_content o_visible"> 
           <div class="o_kanban_primary_left"> 
            <div class="o_kanban_primary_left"> 
             <div class="o_primary weekly"> 
              <span> 
               <div class="kanbanClass"> 
                <t t-esc="record.field.value"/> 
               </div> 
              </span> 
             </div> 
            </div> 
           </div> 
          </div> 
          </div> 
         </div> 
        </div> 
       </t> 
      <template> 
     </kanban> 
    </field> 
</record> 

Aussi je reçois "undefined" lors de la connexion à la classe o_kanban_primary_left.

Répondre

0

attendre l'application pour terminer le chargement avant de l'exécution de ce code:

openerp.my_module = function(instance) { 
    $(document).ready(function() { 
     var header = $(".headerClass").html(); 
     console.log(header); 
     var kanban = $(".kanbanClass").html(); 
     console.log(kanban); 
    }); 
}; 

que vous pourriez avoir sélectionné un élément qui n'a pas encore été terminé le chargement.

+0

Il affiche toujours le journal avant le rendu de la vue Kanban. Y a-t-il des pré-requis à faire? –

+0

Je ne peux pas deviner mais d'où vient cet élément '.kanbanClass'? – masterpreenz

+0

Il est situé à la vue Kanban comme le nom du projet sur le projet Kanban View. Je vais mettre à jour un peu plus de fichier xml pour vous –