Navigation

    Communauté Digdash

    • S'inscrire
    • Se connecter
    • Recherche
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    1. Accueil
    2. Brenda
    3. Meilleur sujets
    B
    • Profil
    • Abonnements 0
    • Abonnés 0
    • Sujets 1
    • Messages 9
    • Meilleur sujets 2
    • Groupes 0

    Meilleurs messages postés par Brenda

    • Astuce : centrer un élément sur une page du tableau de bord

      PS : Utiliser les groupes pour réunir plusieurs éléments à centrer en un seul block

      Supposons un groupe (ou un éditeur peu importe) que l'on souhaite centrer et dont les dimensions sont : largeurRéelle = 770px et hauteurRéelle=510px
      Pour centrer cet élément, il faudrait éditer ses propriétés taille&position comme suit :

      centrer_element_tdb.png

      Coordonnée X = 50%
      Coordonnée Y = 50%
      Largeur = largeurRéelle/2 = 385px
      Hauteur = hauteurRéelle/2 = 255px
      Marge en haut = - hauteurRéelle/2 = -255px
      Marge à gauche = - largeurRéelle/2 = -385px

      Petite astuce pour avoir un signe négatif : se positionner dans la cellule vide et appuyer la touche « flèche vers le bas » du clavier. Il apparait « -1 » ; ajouter le nombre souhaité derrière et effacer le « 1 ».

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda
    • RE: Appliquer un filtre "contient" sur une dimension via du JS

      @Olivier-Le-Boulch
      Bonjour,
      Ci-dessous une proposition de script Live Security pour répondre à votre besoin.
      Je vous le mets dans un fichier : Live_Security_contient.js

      /* START CONFIG */
      
      var securedDims = {};
      securedDims["lab5"] = "Direction" ; /*Séparer par un | pour ajouter d'autres membres Ex: "Direction | Administration"  */
      
      /* Ajouter ici les autres dimensions sur lequel du live security doit s’appliquer */
      /*
      securedDims["DIMENSION_NAME_2"] = getUserAttribute("USER_PARAM_2");
      */
      
      /* END CONFIG */
      
      /* MODIFY THE SCRIPT BELOW WITH CAUTION */
      var sLogPrefix = "[LIVE_SECURITY] [live-sec-thread-" + Math.floor(Math.random()*16777215).toString(16) + "]"; /* 16777215 is FFFFFF in decimal */
      
      for (var dimId in securedDims)
      {
      	var dim = selection.dm.objName[dimId];
      	Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + "Ce qu'il y a dans dim: " + dim.id);
      	
      	var persoVal = securedDims[dimId];
      
      	//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + "Applying user filters on: " + dimId + ", persoVal:" + persoVal);
      	if (dim)
      	{
      		if (persoVal == null || persoVal.length == 0)
      		{
      			// user must no see any value
      			var persoValuesTab = ["-noval-"];
      			var filt = new FilterSelection(dim, -1, -1, [], persoValuesTab);
      			selection.setFilter(filt);
      			//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Filters (members) on " + dimId + ": [" + persoValuesTab + "]");
      		}
      		else if (persoVal && persoVal != ".*")
      		{
      			//user is limited to some value(s)
      			var persoValuesTab = persoVal.split("|");
      			Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + persoValuesTab[0] + "]");
                  //var dim_2 = selection.dm.getDimensionById("lab5");
                  var members = dim.members;
                  
      
      
                  var filterToSet = [];
                  
                  for(var i=0;i<persoValuesTab.length;i++){
                      Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + members.length + "]");
                      for(var j=0;j<members.length;j++){
                          Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + persoValuesTab[i] + "]");
      
                          if(members[j].indexOf(persoValuesTab[i]) != -1){
                              filterToSet.push(members[j]);
                              Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Applying user filters on " + dimId + ": [" + members[j] + "]");
                          }
                      }
                  }
                  
      			var exFilter = selection.filterByDimName[dimId];
      			if (!exFilter)
      			{
      				//there is no exisitng filter on that dimension => create a new one
      				var filt = new FilterSelection(dim, -1, -1, [], filterToSet);
      				selection.setFilter(filt);
      				//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters (members) on " + dimId + ": [" + persoValuesTab + "]");
      			}
      			else
      			{
      				//there is already a filter on that dimension => merge (intersect) into a new one
      				var filt = new FilterSelection(dim, -1, -1, [], filterToSet);
      				filt.recalcIds();
      				exFilter.recalcIds();
      				exFilter = mergeFilters(exFilter, filt);
      				selection.setFilter(exFilter);
      				//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters (origIds) on " + dimId + ": [" + exFilter.origIds + "]");
      			}
      		}
      		else // perso value is .*
      		{
      			// do nothing, user can see everything
      			//Packages.com.digdash.utils.MessageStack.getInstance().addDebug(sLogPrefix + " Resolved filters on " + dimId + ": All (.*)");
      		}
      	}
      	else
      	{
      		//Packages.com.digdash.utils.MessageStack.getInstance().addError(sLogPrefix + " Dimension " + dimId + "not found");
      	}
      }
      

      Cordialement,

      posté dans Éditeur de Tableaux de Bord
      B
      Brenda
    • 1 / 1