import ngModule from '../module'; import './style.scss'; class Controller { constructor($scope, $state, $translate) { this.$scope = $scope; this.$state = $state; this.orderList = [ { order: 'relevancy DESC, name', name: $translate.instant('Default order') }, { order: 'name', name: $translate.instant('Ascendant name') }, { order: 'name DESC', name: $translate.instant('Descendant name') }, { order: 'price', name: $translate.instant('Ascendant price') }, { order: 'price DESC', name: $translate.instant('Descendant price') } ]; this.orderBy = this.orderList[0].order; this.filter = { order: this.orderBy }; } get orderBy() { return this._orderBy; } set orderBy(value) { this._orderBy = value; } setOrder(order) { this.$scope.model.filter.order = order; this.$scope.model.refresh(); } preview(event, item) { event.preventDefault(); this.$scope.pricesPopover.show(event, item); } onDescriptorLoad() { this.$scope.popover.relocate(); } $onChanges() { if (this.order && this.order.isConfirmed) { this.$state.go('order.card.line'); } } } Controller.$inject = ['$scope', '$state', '$translate']; ngModule.component('vnOrderCatalog', { template: require('./index.html'), controller: Controller, bindings: { order: '<' } });