Le tri ne fonctionnera pas après "grunt build", je suppose que c'est le js-minify qui le casse d'une manière ou d'une autre. Rien ne se passe lorsque je clique sur un en-tête. Étrange cependant que tout le reste fonctionne. Quelqu'un a des problèmes similaires ?
Voici mon contrôleur de directive
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()));
}
});
});
}]
Je suis confronté au même problème.
Dans mon cas, ce n'était pas la cible jsminify. Mais était la cible htmlmin. J'ai changé collapseBooleanAttributes
en false et cela a résolu le problème pour moi. Voici toute la configuration de la cible :
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 %>'
}]
}
}
Super, ça a aussi résolu mon problème. Merci!
J'ai été confronté à ce même problème aujourd'hui. Cela s'est avéré utile.
Bien que je ne sois pas convaincu que cette solution soit suffisante pour considérer le problème comme clos. Tout le reste fonctionne bien sans modifier le Gruntfile.js. Pourquoi ng-table ne le fait pas est au-delà de mes connaissances.
le correctif a fonctionné pour moi aussi. Mais cela devrait vraiment être rouvert. Il devrait y avoir une mention dans le fichier readme à propos de
le correctif a fonctionné pour moi aussi
Cela ne fonctionne pas pour moi. J'utilise bower et j'ai essayé les deux avec la version postée ci-dessus et avec ce changement :
src : ['_.html', 'views/{,_/}_.html', 'bower_components/{,__/}_.html'],
Voici la liste des fichiers html que j'ai.
$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
Comment ce correctif est-il censé fonctionner ? Quelle est la cause profonde ? J'ai la version 1.2.15 d'AngularJS
Merci!.
Hmmm... il semble que $templateCache
soit utilisé dans ma situation et c'est pourquoi ignorer le modèle "*.html" ci-dessus
$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>'),
J'ai résolu mon problème. J'ai remplacé 'sortable="'name'"" par 'data-sortable="'name'"" et cela fonctionne. Regarde ça:
http://bit.ly/1BgfqTu
L'approche de @faisalferoz a fonctionné pour nous aussi. Pour la cible htmlmin, en changeant collapseBooleanAttributes en false.
encore une fois
L'approche de @andreicristianpetcu a également fonctionné pour nous (l'équipe est en train de passer à cela afin que nous puissions toujours profiter des optimisations de gulp-htmlmin ailleurs).
Tu es mon héros, si je n'avais pas trouvé cette solution, je suis sûr que j'aurais passé le reste de ma soirée sur celle-ci.
MERCI!!! Cela me rendait fou
changer collapseBooleanAttributes
dans le Gruntfile en false résout toujours ce problème - merci de l'avoir trouvé.
+1 à la solution de contournement de @faisalferoz .
J'ai eu ce problème aujourd'hui.
Aucun changement au fichier grunt collapseBooleanAttributes: true
Cela l'a trié : sortable
=> data-sortable
J'ai résolu ce problème en remplaçant collapseBooleanAttributes:
par false
dans le htmlmin.dist.options
Gruntfile
En fait, j'ai dû faire deux choses... changer le collapseBooleanAttributes:
en false
et aussi changer le code de <td data-title="'App score'" sortable="'gender'" >{{content.gender}}</td>
en <td sortable="'gender'" data-title="'App score'" >{{content.gender}}</td>
travaillant uniquement avec le tri des données n'a pas résolu pour moi...
@Jony-Y c'est étrange. Vous avez donc dû changer l'ordre dans lequel vous avez spécifié les attributs ngTable dans les éléments <td>
?
Super, ça a aussi résolu mon problème. Merci!
Je change collapseBooleanAttributes: true
en false
, le tri peut fonctionner , merci
Les deux solutions ont fonctionné pour moi.
Cependant, j'avais également un problème CSS (voir les 2 flèches vers le haut sur les colonnes non triées):
La définition de l'option suivante a résolu le problème :
cssmin: {
options: {
advanced: false
}
},
@andreicristianpetcu +1 Cela a fonctionné pour moi aussi !
Je suis content que ça marche :D
la modification de collapseBooleanAttributes a résolu mon problème, merci
L'utilisation du tri des données a fonctionné pour moi.
Modification du fichier grunt collapseBooleanAttributes : true l'a fait fonctionner à nouveau en une seconde.
Cela ne m'a pas du tout aidé : sortable => data-sortable
merci pour les conseils les gars...
htmlmin
Résolu pour moi.
Commentaire le plus utile
Dans mon cas, ce n'était pas la cible jsminify. Mais était la cible htmlmin. J'ai changé
collapseBooleanAttributes
en false et cela a résolu le problème pour moi. Voici toute la configuration de la cible :