Récupération de la zone courante de la vue

4.0
Récupération de la zone courante de la vue
0
Tags: #<Tag:0x00007f64843866f8>

#1

Bonjour,

dans ma vue, j’ai 2 zones avec des recherches différentes sur le même objet :
les réservations de ressources communes et mes réservations de mon service.

comment récupérer la zone courante ?


(François Genestin) #2

Si on parle de zone IHM, il faut regarder au debugger Chrome le div qui correspond à la zone.
Le conteneur <div> contient toutes informations nécessaires (class et data-xxx)

Exemple pour une liste :

<div class="objlist object-DemoOrder" data-object="DemoOrder" data-inst="home_ajax_DemoOrder" id="list_DemoOrder_home_ajax_DemoOrder">

Si un objet est instancié plusieurs fois sur une vue le nom de l’instance aura un suffix pour distinguer les différentes instances d’objet

<div class="objlist object-DemoOrder" data-object="DemoOrder" data-inst="home_ajax_DemoOrder_2" id="list_DemoOrder_home_ajax_DemoOrder_2">

Donc on peut y accéder simplement par selector jQuery, exemple pour retirer le bouton “edit” de l’onglet 2 :

$('.object-DemoOrder[data-inst="home_ajax_DemoOrder_2"] [data-action="editlist"]').addClass("disabled")

Sinon côté back, il suffit de filtrer son code via getInstanceName.

MyObjet.isActionEnable = function(row, action) {
  if (this.getInstanceName()=="home_ajax_DemoOrder_2" && action=="editlist")
    return false;
  return true;
}