2017-10-14 13 views
0

J'essaie d'ajouter un lien plus dans le calendrier complet chaque jour j'ai des événements et dans le lien plus je veux forcer l'affichage de tous les événements de ce jour!Est-il possible d'ajouter un lien plus pour afficher tous les événements dans un popup indépendamment de l'espace disponible dans le dayCell?

c'est la solution que je choisis parce que le titre des événements est très long et ne tient pas dans une tablette ou un écran de téléphone! Jusqu'à présent, je suis insuccès les jours où j'ai un seul événement car la fonction computeRowLevelLimit renvoie false!

Je suis ouvert à toute idée folle qui me aide, mais garder à l'esprit que je suis un dev java avec kowledge minimal de js et ajouter quelques informations supplémentaires si possible

+0

Votre question va recevoir une réponse négative. Lire ceci - https://stackoverflow.com/help/how-to-ask – skwidbreth

+0

désolé @skwidbreth j'étais désespéré ... mais je l'ai eu, finalement et plus important je le résolvois moi-même qui ajoute la leçon à la solution –

Répondre

0

depuis que je suis sous presure j'ai pris l'affaire en mes propres mains alors voici la résolution

here i added the last else in order to be able to execute 2 methods when levelLimit is false 

limitRows: function (levelLimit) { 
      var rowStructs = this.eventRenderer.rowStructs || []; 
      var row; // row # 
      var rowLevelLimit; 

      for (row = 0; row < rowStructs.length; row++) { 
       this.unlimitRow(row); 

       if (!levelLimit) { 
        rowLevelLimit = false; 
       } 
       else if (typeof levelLimit === 'number') { 
        rowLevelLimit = levelLimit; 
       } 
       else { 
        rowLevelLimit = this.computeRowLevelLimit(row); 
       } 

       if (rowLevelLimit !== false) { 
        this.limitRow(row, rowLevelLimit); 
       } else { 
        this.unlimitRow2(row); 
        this.addMoreLink(row); 
       } 

      } 
     }, 

The added metod are: 
    - one for clearing the existing links 
    - second for adding new links - remember this is for days with only one event 

the methods are the following: 

unlimitRow2: function (row) { 
      var rowStruct = this.eventRenderer.rowStructs[row]; 

      var cellMatrix; 
      var oneDayCell; 
      cellMatrix = rowStruct.cellMatrix; 
      var _this = this; 

      for (i = 0; i < cellMatrix.length; i++) { 
       // console.log("celmatrix ", cellMatrix[i]); 
       oneDayCell = cellMatrix[i]; 
       console.log("outati", oneDayCell) 

       if (oneDayCell.moreEls) { 
        oneDayCell.moreEls.remove(); 
        oneDayCell.moreEls = null; 
       } 

       if (oneDayCell.limitedEls) { 
        oneDayCell.limitedEls.removeClass('fc-limited'); 
        oneDayCell.limitedEls = null; 
       } 
      } 
     }, 

and, 

addMoreLink: function (row) { 
      // console.log("inside addMoreMethod", row); 
      var rowStruct = this.eventRenderer.rowStructs[row]; 
      var cellMatrix; 
      var oneDayCell; 
      var coloana; 
      var nrCol; 
      var td, moreWrap, moreLink; 
      var moreNodes = []; 
      var segsBelow; 
      // console.log ("structura randului", rowStruct); 
      cellMatrix = rowStruct.cellMatrix; 
      var _this = this; 

      for (i = 0; i < cellMatrix.length; i++) { 
       // console.log("celmatrix ", cellMatrix[i]); 
       oneDayCell = cellMatrix[i]; 
       for (j = 0; j < oneDayCell.length; j++) { 
        coloana = oneDayCell[j]; 
        nrCol = j; 
        segsBelow = _this.getCellSegs(row, nrCol); 

        console.log($(coloana)); 
        moreLink = _this.renderMoreLink(row, nrCol, segsBelow); 
        moreWrap = $('<div/>').append(moreLink); 
        coloana.append(moreWrap); 
        moreNodes.push(moreWrap[0]); 

        // rowStruct.limitedEls = $(limitedNodes); 
       } 
       rowStruct.moreEls = $(moreNodes); // for easy undoing later 
      } 
     }, 

and for the rest i manipulated a litle bit limitRow: function (row, levelLimit) 

also i had to hide the text and i choose a nasty method, not proud of it but ... 

in getMoreLinkText(num) i added a last else if 

else if (num === 0){ 
       return ''; 
      }