1. #1
    Ext User
    Join Date
    Feb 2010
    Posts
    20
    Vote Rating
    0
    brycekmartin is on a distinguished road

      0  

    Default [3.1.1]Ext.ux.grid.LockingGridGroupSummary

    [3.1.1]Ext.ux.grid.LockingGridGroupSummary


    Ok everybody here is my first plugin! It is an adaptation of the GroupSummary plugin to work with Mankz's LockingGroupingGridView Extension.

    A live example will be coming in the next few days.

    Here is the zip that you can unpack into the examples folder of a standard Ext3.1.1 structure.

    lockinggridgroupsummary.zip

    Post any bugs or issues here and I'll do my best to fix them. Or if you have any issues that you resolve yourself, post them so I can merge the code and update this download.

    Check out the Live Example
    Thanks

  2. #2
    Sencha User
    Join Date
    Mar 2007
    Location
    London, UK
    Posts
    143
    Vote Rating
    0
    albeva is infamous around these parts albeva is infamous around these parts

      0  

    Default


    that's pretty nice. I think that should be build-in. Anyways good work.

  3. #3
    Ext User
    Join Date
    Feb 2010
    Posts
    20
    Vote Rating
    0
    brycekmartin is on a distinguished road

      0  

    Default Thanks.

    Thanks.


    Yeah, I wouldn't mind seeing it fall into a higher code base. It would be nice if the Grid would start to soak up some of these features as a standard option or the views themselves...

    I'm working on a Grid Summary right now for the LockingGroupingGridView... stay tuned over the next week or so to see that announcement hopefully. Then I'll have to make sure they work together

  4. #4
    Sencha - Community Support Team mystix's Avatar
    Join Date
    Mar 2007
    Location
    Singapore
    Posts
    6,236
    Vote Rating
    5
    mystix will become famous soon enough

      0  

    Default


    Quote Originally Posted by brycekmartin View Post
    I'm working on a Grid Summary right now for the LockingGroupingGridView... stay tuned over the next week or so to see that announcement hopefully.
    and what will that be called?

    at the rate this is going, it'll be harder to pronounce the plugin's name than to actually use it


    looking forward to your announcement

  5. #5
    Ext User
    Join Date
    Feb 2010
    Posts
    20
    Vote Rating
    0
    brycekmartin is on a distinguished road

      0  

    Default titleing the new plugin...

    titleing the new plugin...


    hahaha. I know. It gets really tough when you try do a plugin that is for an extension because the extension usually references what it extends plus their own name. Sheesh!

    I think that the long names are a sign of maturity in the framework

    The longer the more mature. Right?

    Happy St. Patrick's Day.
    It is the closest that the Irish will ever get to Christmas

  6. #6
    Sencha User
    Join Date
    Nov 2009
    Location
    Poland
    Posts
    84
    Vote Rating
    2
    saprot is on a distinguished road

      0  

    Default


    well, there I've got small prolem with your Extension. When I try to edit the last row on the bottom of my grid (editor grid panel), I'm getting following error:

    PHP Code:
    r is undefined
      value
    :  r.data[field], 
    However, when i disable your extension, everything works fine. Line when the error is showing up is in the code from EditorGridPanel:
    PHP Code:
    startEditing : function(rowcol){
            
    this.stopEditing();
            if(
    this.colModel.isCellEditable(colrow)){
                
    this.view.ensureVisible(rowcoltrue);
                var 
    this.store.getAt(row),
                    
    field this.colModel.getDataIndex(col),
                    
    = {
                        
    gridthis,
                        
    recordr,
                        
    fieldfield,
                        
    valuer.data[field], //HERE!!!!!!!!!!!
                        
    rowrow,
                        
    columncol,
                        
    cancel:false
                    
    }; 
    I'm using dynamically loaded grid, as described here: http://www.extjs.com/forum/showthrea...701#post371701, makz's Ext.ux.grid.LockingGroupingGridView and your summary extension.

    I don't think it is necessary to include any of my code, because it is just standard any suggestions why this error happens?

  7. #7
    Sencha User
    Join Date
    Nov 2009
    Location
    Poland
    Posts
    84
    Vote Rating
    2
    saprot is on a distinguished road

      0  

    Default


    ok, steps for everyone to recreate the error:
    1. download lockinggridgroupsummary.zip from the first post
    2. extract to examples folder
    3. change file locking-grid-group-summary.js:
    PHP Code:
    //var grid = new Ext.grid.GridPanel({
    var grid = new Ext.grid.EditorGridPanel({ 
    and add editor to some field, eg.:
    PHP Code:
    {header'Price'width125sortabletruerenderer'usMoney'dataIndex'price'summaryType'sum'editor : {xtype 'numberfield'}}, 
    When you try to edit last 4 rows on the bottom you will get error described in the post above:
    PHP Code:
    r is undefined
      value
    :  r.data[field], 
    Why 4 rows are wrong? The number is the same as the number of groups and summary rows. I looked through plugin code, but couldnt find solution.

    Anybody?

  8. #8
    Sencha User
    Join Date
    Aug 2007
    Posts
    64
    Vote Rating
    0
    jelt is on a distinguished road

      0  

    Default


    Hi,

    i just have found 2 bugs.
    In the live demo ( http://www.bravobryce.com/extExample...upSummary.html ) :
    - resize any column
    1st bug => "s is undefined" (Ext.ux.grid.LockingGridGroupSummary.js line 157)

    - resize the locked column at a lesser size than required for the group text
    2nd bug : grid is desynchronised between locked part and unlocked part (caused by group text become on two lines)

    Edit : just have seen a 3rd bug : locked groud line and unlocked group line have the same ID.
    for example "ext-gen5-gp-group-Group 1-hd" for the first group

    Checked on FF3.6 and IE8

  9. #9
    Ext User
    Join Date
    May 2010
    Posts
    1
    Vote Rating
    0
    facu16 is on a distinguished road

      0  

    Default Modificaciones que arreglan los Bugs encontrados.

    Modificaciones que arreglan los Bugs encontrados.


    Quote Originally Posted by jelt View Post
    Hi,

    i just have found 2 bugs.
    In the live demo ( http://www.bravobryce.com/extExample...upSummary.html ) :
    - resize any column
    1st bug => "s is undefined" (Ext.ux.grid.LockingGridGroupSummary.js line 157)

    - resize the locked column at a lesser size than required for the group text
    2nd bug : grid is desynchronised between locked part and unlocked part (caused by group text become on two lines)

    Edit : just have seen a 3rd bug : locked groud line and unlocked group line have the same ID.
    for example "ext-gen5-gp-group-Group 1-hd" for the first group

    Checked on FF3.6 and IE8

    La solución de los Bugs presentes en el código son las siguientes:

    En el archivo Ext.ux.grid.LockingGridGroupSummary.js se modificaron las siguientes etiquetas aproximadamente a partir de la linea 154:

    See modified Tabs on the line 157 (Tabs: doWidth, doAllWidths and doHidden)


    Code:
    /**
         * No se estaban direccionando correctamente el 
         * childNodes[c].style.width, ya que faltaba el nodo children[0] en cuyo interior es que
         * se encuentra el arreglo rows[0]. Tambien se agrego la linea 
         * var c = (col < lockedCount) ? col : (col - lockedCount);
         * la cual permite obtener la columna que se desea mover tomando en cuenta las columnas
         * bloqueadas, ya que esta función moverá aquellas columnas que no esten bloqueadas porque la
         * función this.view.getGroups() retorna los grupos ubicados en la parte NO bloqueada
         * de la Grid, es por ello que se obtiene el indice del grupo en la perte no bloqueada de la grid
         * restandole a la columna ingresada en el parámerto <code>col</code> la cantidad de colunmas
         * bloqueadas (que siempre estan a la izquieda de la grid). Si la columna que se desea mover está
         * en la parte bloqueda esta función no hace nada, ya que las columnas bloqueadas son movidas
         * por otra función.
         *
         * @param col Columna que se desea mover, numero de la columna dentro de la grid que se desea mover.
         * No toma en cuenta
         * si está en la parte bloqueada o no.
         * @param w Longitud que deberá tener la columna luego de ser movida.
         * @param tw Longitud que deberá tener los div que contienen cada registro de la grid luego de 
         * mover la columna deseada.
         * @author Bryce martin. Modificado por Freddy Castro <fcastro@menpet.gob.ve>
         * @date Fre May 28 08:40:30 2010
         */
        doWidth : function(col, w, tw){
            var gs = this.view.getGroups(), s;
    	var lockedCount = this.view.cm.getLockedCount();
    	var c = (col < lockedCount) ? col : (col - lockedCount);
    	if (col >= lockedCount)
    	{
    		for(var i = 0, len = gs.length; i < len; i++){
            	    s = gs[i].childNodes[1];
    		    s.style.width = tw;
    	            s.firstChild.style.width = tw;
    	            s.firstChild.children[0].rows[0].childNodes[c].style.width = w;
    		}
            }
        },
    
        /**
         * No se estaban direccionando correctamente el 
         * rows[0]childNodes, ya que faltaba el nodo children[0] en cuyo interior es que
         * se encuentra el arreglo rows[0].
         *
         * @param ws Arreglo que contiene las longitudes que deberán tener las columnas luego de ser movidas.
         * @param tw Longitud que deberá tener los div que contienen cada registro de la grid luego de mover
         * las columnas deseadas.
         * @author Bryce martin. Modificado por Freddy Castro <fcastro@menpet.gob.ve>
         * @date Fre May 28 08:40:30 2010
         */
        doAllWidths : function(ws, tw){
            var gs = this.view.getGroups(), s, cells, wlen = ws.length;
            for(var i = 0, len = gs.length; i < len; i++){
                s = gs[i].childNodes[1];
                s.style.width = tw;
                s.firstChild.style.width = tw;
                cells = s.firstChild.children[0].rows[0].childNodes;
                for(var j = 0; j < wlen; j++){
                    cells[j].style.width = ws[j];
                }
            }
        },
    
        /**
         * No se estaban direccionando correctamente el 
         * childNodes[c].style.width, ya que faltaba el nodo children[0] en cuyo interior es que
         * se encuentra el arreglo rows[0]. Tambien se agrego la linea 
         * var c = (col < lockedCount) ? col : (col - lockedCount);
         * la cual permite obtener la columna que se desea ocultar tomando en cuenta las columnas
         * bloqueadas, ya que esta función ocultará aquellas columnas que no esten bloqueadas porque la
         * función this.view.getGroups() retorna los grupos ubicados en la parte NO bloqueada
         * de la Grid, es por ello que se obtiene el indice del grupo en la perte no bloqueada de la grid
         * restandole a la columna ingresada en el parámerto <code>col</code> la cantidad de colunmas 
         * bloqueadas (que siempre estan a la izquieda de la grid). Si la columna que se desea ocultar está.
         * en la parte bloqueda esta función no hace nada, ya que las columnas bloqueadas son ocultadas 
         * por otra función.
         *
         * @param col Columna que se desea ocultar, numero de la columna dentro de la grid que se desea ocultar.
         * No toma en cuenta si está en la parte bloqueada o no.
         * @param hidden Indica si la columna deberá ocultarse o no.
         * @param tw Longitud que deberá tener los div que contienen cada registro de la grid luego de ocultar la
         * columna deseada.
         * @author Bryce martin. Modificado por Freddy Castro <fcastro@menpet.gob.ve>
         * @date Fre May 28 08:40:30 2010
         */
        doHidden : function(col, hidden, tw){
            var gs = this.view.getGroups(), s, display = hidden ? 'none' : '';
    	var lockedCount = this.view.cm.getLockedCount();
    	var c = (col < lockedCount) ? col : (col - lockedCount);
    	if (col >= lockedCount)
    	{
            	for(var i = 0, len = gs.length; i < len; i++){
                	    s = gs[i].childNodes[1];
    	            s.style.width = tw;
    	            s.firstChild.style.width = tw;
    	            s.firstChild.children[0].rows[0].childNodes[c].style.display = display;
            	}
    	}
        }

  10. #10
    Ext User alebar's Avatar
    Join Date
    Apr 2010
    Posts
    21
    Vote Rating
    0
    alebar is on a distinguished road

      0  

    Default Horizontal scroll of unlocked area when clicking on the locked area

    Horizontal scroll of unlocked area when clicking on the locked area


    Hi,
    I am using your extension and I find it very very useful for my extents...
    However I' ve only one issue: when I click on the locked area an automatic right scroll of unlocked part of the grid is performed.
    I tried to add the uptdate shown in the following thread http://www.sencha.com/forum/showthre...olling-columns but it doesn't solve my issue....
    Am I doing something wrong?
    Currently I am using ExtJS 3.2.1.
    Many thanks in advance

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi