ng-table & yoman — сортировка отлично работает в разработке, но ломается в производстве

Наверное, это глупость, но я никак не могу понять.

Я использую:

Когда я запускаю «ворчание» во время разработки, таблица работает отлично. Но когда я запускаю «ворчание» и использую папку dist, столбцы больше не сортируются. Кажется, что класс «сортируемый» не применяется к ячейкам заголовков в производственной версии, тогда как он находится в разработке.

Любая помощь будет принята с благодарностью.

Контроллер:

angular.module('couponWebApp').controller('MainCtrl', ['NgTableParams', 'couponService',

    function(NgTableParams, couponService) {

        var PAGE_SIZE = 10;
        var lastPage = 2;
        var lastPageDiscovered = false;
        var self = this;

        self.tableParams = new NgTableParams({}, {
            counts: [], // we don't want to display other page count options
            getData: function(params) {
                var currentdata = params.data;
                return couponService.getAllBatches(PAGE_SIZE, params.page()).then(function(payload) {
                    if (payload.length < 1) { // no data for this page
                        lastPageDiscovered = true;
                        lastPage = params.page() - 1;
                        params.total(params.page() - 1);
                        return currentdata;
                    } else if (payload.length < PAGE_SIZE) { // payload is smaller than page size
                        lastPage = params.page();
                        lastPageDiscovered = true;
                        params.total(lastPage);
                        return payload;
                    } else { // payload is equal to the page size
                        lastPage = (lastPageDiscovered ? lastPage : params.page() + 1);
                        params.total(lastPage);
                        return payload;
                    }
                }, function() {
                    // error
                });
            }
        });
    }
]);

Вид:

<table ng-table="main.tableParams" class="table table-striped" show-filter="false">
    <tbody>
    <tr ng-repeat="item in $data">
      <td data-title="'Name'" sortable="'name'">
        {{item.name}}
      </td>
      <td data-title="'Created'" sortable="'createDate'">
        {{item.createDate | date: 'dd MMMM YYYY'}}
      </td>
      <td title="'Expiry Date'"sortable="'expiryDate'">
        {{item.expiryDate | date: 'short'}}
      </td>
      <td title="'Created'" filter="{ vouchersCreated: 'number'}">
        {{item.vouchersCreated}}
      </td>
    </tr>
    </tbody>
  </table>
</div>

person Diné Bennett    schedule 05.10.2015    source источник


Ответы (1)


Это может быть полезно. Может быть много причин его неудачи. Поскольку я не знаю точную причину. Я даю исправление для наиболее распространенной проблемы.
Измените коллапсБулеанАтрибутес на false в задаче "htmlmin" в файле Grunt. Конфигурация будет выглядеть примерно так.

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 %>'
        }]
      }
    }
person SaiGiridhar    schedule 05.10.2015
comment
Спасибо МИЛЛИОН, это, кажется, исправило это! :) Я очень ценю вашу помощь. Не могли бы вы объяснить, что делает изменение? Я также прочитаю о htmlmin, чтобы узнать больше. Спасибо еще раз. - person Diné Bennett; 06.10.2015
comment
Ницца. Вы можете обратиться к этой ссылке по причине. perfectionkills.com/experimenting-with-html-minifier/ - person SaiGiridhar; 06.10.2015