Ng-table: Problema de clasificación después de la construcción del gruñido

Creado en 3 mar. 2014  ·  29Comentarios  ·  Fuente: esvit/ng-table

La clasificación no funcionará después de 'grunt build', supongo que es js-minify lo que de alguna manera lo rompe. No sucede nada cuando hago clic en un encabezado. Aunque es extraño que todo lo demás funcione. ¿Alguien con problemas similares?

Aquí está mi controlador de directivas

controller: ['$scope', '$filter', 'ScoresAPI', 'ngTableParams', function($scope, $filter, ScoresAPI, ngTableParams)
{
    ScoresAPI.getLeagueStandings($scope.leagueId)
        .success(function(data)
        {
            $scope.tableParams = new ngTableParams({
                page: 1,
                count: data.length,
                sorting: false
            }, {
                total: data.length,
                counts: [],
                getData: function($defer, params)
                {
                    var orderedData = params.sorting() ? $filter('orderBy')(data, params.orderBy()) : data;
                    $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
                }
            });
        });
}]

Comentario más útil

En mi caso, no fue el objetivo jsminify. Pero era el objetivo htmlmin. Cambié collapseBooleanAttributes a falso y me resolvió el problema. Aquí está la configuración completa del objetivo:

htmlmin: {
      dist: {
        options: {
          collapseWhitespace: true,
          collapseBooleanAttributes: false,
          removeCommentsFromCDATA: true,
          removeOptionalTags: true
        },
        files: [{
          expand: true,
          cwd: '<%= yeoman.dist %>',
          src: ['*.html', 'views/{,*/}*.html', 'app_components/{,**/}*.html'],
          dest: '<%= yeoman.dist %>'
        }]
      }
    }

Todos 29 comentarios

Estoy enfrentando el mismo problema.

En mi caso, no fue el objetivo jsminify. Pero era el objetivo htmlmin. Cambié collapseBooleanAttributes a falso y me resolvió el problema. Aquí está la configuración completa del objetivo:

htmlmin: {
      dist: {
        options: {
          collapseWhitespace: true,
          collapseBooleanAttributes: false,
          removeCommentsFromCDATA: true,
          removeOptionalTags: true
        },
        files: [{
          expand: true,
          cwd: '<%= yeoman.dist %>',
          src: ['*.html', 'views/{,*/}*.html', 'app_components/{,**/}*.html'],
          dest: '<%= yeoman.dist %>'
        }]
      }
    }

Genial, eso también resolvió mi problema. ¡Gracias!

Hoy me enfrenté a este mismo problema. Esto resultó útil.

Aunque, no estoy convencido de que esta solución sea suficiente para dar por cerrado el problema. Todo lo demás funciona bien sin editar Gruntfile.js. Por qué ng-table no lo hace, está más allá de mi conocimiento.

la solución también funcionó para mí. Pero esto realmente debería reabrirse. Debería haber una mención en el archivo Léame sobre

la solución funcionó para mí también

Esto no funciona para mi. Utilizo bower y probé ambas con la versión publicada anteriormente y con este cambio:
src: ['_.html', 'vistas / {, _ /} _. html', 'bower_components / {, __ /} _. html'],

Esta es la lista de archivos html que tengo.

$ls -la bower_components/**/*.html
-rw-rw-r-- 1 andrei andrei 1585 iun  7  2013 bower_components/es5-shim/tests/index.html
-rw-rw-r-- 1 andrei andrei 1546 iun  7  2013 bower_components/es5-shim/tests/index.min.html

¿Cómo se supone que funciona esta solución? ¿Cuál es la raíz de la causa? Tengo la versión 1.2.15 de AngularJS

¡Gracias!.

Hmmm ... parece que $templateCache se usa en mi situación y es por eso que se ignora el patrón "* .html" anterior

    $templateCache.put('ng-table/header.html', '<tr> <th ng-repeat="column in $columns" ng-class="{ \'sortable\': parse(column.sortable), \'sort-asc\': params.sorting()[parse(column.sortable)]==\'asc\', \'sort-desc\': params.sorting()[parse(column.sortable)]==\'desc\' }" ng-click="sortBy(column, $event)" ng-show="column.show(this)" ng-init="template=column.headerTemplateURL(this)" class="header {{column.class}}"> <div ng-if="!template" ng-show="!template" ng-bind="parse(column.title)"></div> <div ng-if="template" ng-show="template"><div ng-include="template"></div></div> </th> </tr> <tr ng-show="show_filter" class="ng-table-filters"> <th ng-repeat="column in $columns" ng-show="column.show(this)" class="filter"> <div ng-repeat="(name, filter) in column.filter"> <div ng-if="column.filterTemplateURL" ng-show="column.filterTemplateURL"> <div ng-include="column.filterTemplateURL"></div> </div> <div ng-if="!column.filterTemplateURL" ng-show="!column.filterTemplateURL"> <div ng-include="\'ng-table/filters/\' + filter + \'.html\'"></div> </div> </div> </th> </tr>'),

Resolví mi problema. Reemplacé 'sortable = "' name '" "con' data-sortable =" 'name' "" y funciona. Mira esto:
http://bit.ly/1BgfqTu

El enfoque de @faisalferoz también funcionó para nosotros. Para el destino htmlmin, cambie collapseBooleanAttributes a falso.

de nuevo @esvit, esto realmente debería estar en el

El enfoque de @andreicristianpetcu también funcionó para nosotros (el equipo está cambiando a eso para que aún podamos cosechar los beneficios de las optimizaciones de gulp-htmlmin en otros lugares).

Eres mi héroe, si no hubiera encontrado esta solución, estoy seguro de que habría pasado el resto de mi noche en esta.

¡¡¡GRACIAS!!! Esto me estaba volviendo loco

cambiar collapseBooleanAttributes en Gruntfile a falso aún soluciona este problema, gracias por encontrarlo.

+1 a la solución alternativa de @faisalferoz .

Tuve este problema hoy.

Sin cambios en el archivo gruñido collapseBooleanAttributes: true

Esto lo ordenó: sortable => data-sortable

Resolví este problema cambiando collapseBooleanAttributes: a false en htmlmin.dist.options Gruntfile

De hecho, tuve que hacer dos cosas ... cambiar collapseBooleanAttributes: a false y también cambiar el código de <td data-title="'App score'" sortable="'gender'" >{{content.gender}}</td> a <td sortable="'gender'" data-title="'App score'" >{{content.gender}}</td> trabajando solo con clasificación de datos no me arregló ...

@ Jony-Y eso es extraño. Entonces, ¿tuvo que cambiar el orden de cómo especificaba los atributos ngTable en los elementos <td> ?

Genial, eso también resolvió mi problema. ¡Gracias!

Estoy cambiando collapseBooleanAttributes: true a false , la clasificación puede funcionar, gracias

Ambas soluciones funcionaron para mí.
Sin embargo, también estaba teniendo un problema de CSS (vea las 2 flechas hacia arriba en las columnas no ordenadas):
ng-table-css-min

La configuración de la siguiente opción solucionó el problema:

        cssmin: {
            options: {
                advanced: false
            }
        },


@andreicristianpetcu +1 ¡A mí también me funcionó!

Me alegro de que haya funcionado: D

cambiando collapseBooleanAttributes resolvió mi problema, gracias

El uso de datos ordenables funcionó para mí.

Cambie al archivo gruñido collapseBooleanAttributes: true lo hizo funcionar nuevamente en un segundo.

Esto no me ayudó en absoluto: sortable => data-sortable

gracias por los consejos chicos ...

htmlmin

Resuelto para mí.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

zymr-keshav picture zymr-keshav  ·  10Comentarios

Ebolon picture Ebolon  ·  12Comentarios

yujiayinshi picture yujiayinshi  ·  8Comentarios

faceleg picture faceleg  ·  11Comentarios

alienriquebm picture alienriquebm  ·  6Comentarios