%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/news/public/scripts/controllers/subscriptions/
Upload File :
Create Path :
Current File : /var/www/html/news/public/scripts/controllers/subscriptions/subscriptions.controller.js

'use strict';

angular.module('controllers').controller('subscriptionsController', function ($scope, resource, queryBuilder, notification, FileSaver, Blob) {

    $scope.filters = {};

    function internalSearch() {
        resource.forResource('subscriptions').query(queryBuilder.createQueryString($scope.filters), {perPage: 10}).then(function (res) {
            $scope.subscriptions = res.data;
            $scope.paginationData = res.meta.pagination;
            queryBuilder.setPaginationData(res.meta.pagination);
        }, function (err) {
            notification.error(err);
        });
    }

    queryBuilder.addContainsFilter('email', $scope.filters);
    queryBuilder.addEqualsFilter('is_active', $scope.filters);

    $scope.search = function () {
        queryBuilder.updateUrl($scope.filters);
        internalSearch();
    };

    $scope.clean = function () {
        delete $scope.filters.is_active.value;
        queryBuilder.cleanFilters($scope.filters);
    };

    $scope.setActiveFilter = function (value) {
        $scope.filters.is_active.value = value;
    };

    $scope.getClass = function (value) {
        return $scope.filters.is_active.value !== value ? 'btn-primary' : 'btn-default';
    };

    $scope.export = function () {
        resource.forResource('subscriptions/actions/export').export(queryBuilder.createQueryString($scope.filters)).then(function(res){
            var file = new Blob([res], {type: 'application/csv;charset=utf-8'} );
            FileSaver.saveAs(file, 'subscriptions.csv');
        }, function (err) {
            notification.error(err);
        });
    };

    internalSearch();

});

Zerion Mini Shell 1.0