<?php $__env->startSection('title'); ?>
Produtos
<?php $__env->stopSection(); ?>

<?php $__env->startSection('content-header'); ?>
Produtos
<?php $__env->stopSection(); ?>

<?php $__env->startSection('breadcrumb'); ?>
<li class="active">
    Produtos
</li>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('styles'); ?>
<?php echo HTML::style('assets/vendor/jasny-bootstrap/dist/css/jasny-bootstrap.min.css'); ?>

<?php $__env->stopSection(); ?>

<?php $__env->startSection('plugins'); ?>
<?php echo HTML::script('assets/vendor/jasny-bootstrap/dist/js/jasny-bootstrap.min.js'); ?>

<?php $__env->stopSection(); ?>

<?php $__env->startSection('content'); ?>
<div class="row">
    <div class="col-xs-12">
        <div class="box no-border">
            <div class="box-header">
                <ul class="margin-0 list-inline form-inline">
                    <li>
                        <label>Marca</label>
                        <?php echo Form::select('brand_id', $brands , null, array('class' => 'form-control input-sm column-filter')); ?>

                    </li>
                    <li>
                        <label>Família</label>
                        <?php echo Form::select('family_id', $families , null, array('class' => 'form-control input-sm column-filter')); ?>

                    </li>
                    <li>
                        <span id="subfamily-filter" style="display: none">
                        <span class="loading"><i class="fa fa-spin fa-circle-o-notch"></i> Aguarde...</span>
                        <span class="select">
                            Subfamília:
                            <?php echo Form::select('subfamily_id', $subfamilies , null, array('class' => 'form-control input-sm column-filter')); ?>

                        </span>
                    </span>
                    </li>
                </ul>
                <label class="padding-left-10 pull-left form-horizontal">





                </label>
                <div class="box-tools pull-right">
                    <?php if(Auth::user()->get()->hasRole('Administrador')): ?>
                    <a href="#" data-toggle="modal" data-target="#modal-import" class="btn btn-default btn-sm"><i class="fa fa-upload"></i> Importar</a>
                    <?php endif; ?>
                    <a href="<?php echo route('admin.products.create'); ?>" class="btn btn-success btn-sm"><i class="fa fa-plus"></i> Novo Produto</a>
                </div>
            </div>
            <div class="box-body">
                <table id="datatable" class="table table-bordered table-striped table-condensed">
                    <thead>
                        <tr>
                            <th class="width-1"><?php echo Form::checkbox('select-all', ''); ?></th>
                            <th class="width-1">Ref.</th>
                            <th></th>
                            <th>Nome</th>
                            <th>Localização</th>
                            <th>Marca</th>
                            <th>Preço</th>
                            <th><span data-toggle="tooltip" title="Novo">Novo</span></th>
                            <th><span data-toggle="tooltip" title="Top de Vendas">Top</span></th>
                            <th><span data-toggle="tooltip" title="Visível">Vis</span></th>
                            <th><span data-toggle="tooltip" title="Stock Disponível">Stk</span></th>
                            <th class="width-40px"></th>
                        </tr>
                    </thead>
                    <tbody>
                    </tbody>
                </table>
                <?php echo Form::open(array('route' => 'admin.products.selected.destroy')); ?>

                <?php echo Form::hidden('ids'); ?>

                <button class="btn btn-sm btn-danger selected-rows-action" disabled>Apagar selecionados</button>
                <?php echo Form::close(); ?>

            </div>
        </div>
    </div>
</div>
<?php echo $__env->make('admin.products.modals.import', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('scripts'); ?>
<script type="text/javascript">
    $(document).ready(function () {
       var oTable = $('#datatable').DataTable({
           dom: "<'row'<'col-md-8'l><'col-md-4'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>",
            "ajax": {
                url: "<?php echo route('admin.products.datatables'); ?>",
                type: "POST",
                data: function (d) {
                    d.brand_id = $('select[name=brand_id]').val();
                    d.family_id = $('select[name=family_id]').val();
                    d.subfamily_id = $('select[name=subfamily_id]').val();
                },
                complete: function(){
                    $('input').iCheck({
                        checkboxClass: 'icheckbox_square-blue',
                        radioClass: 'iradio_square-blue',
                    });
                }
            },
            "order": [[1, "desc"]],
            columns: [
                 {data: 'select', name: 'select', orderable: false, searchable: false},
                 {data: 'id', name: 'id'},
                 {data: 'photo', name: 'photo', orderable: false, searchable: false, class:'text-center width-1'},
                 {data: 'name', name: 'name'},
                 {data: 'family', name: 'family', orderable: false, searchable: false},
                 {data: 'brand', name: 'brand', orderable: false, searchable: false},
                 {data: 'base_price', name: 'base_price'},
                 {data: 'new', name: 'new'},
                 {data: 'top_sales', name: 'top_sales'},
                 {data: 'visible', name: 'visible'},
                 {data: 'status', name: 'status', orderable: false, searchable: false},
                 {data: 'actions', name: 'actions', orderable: false, searchable: false},
                 {data: 'reference', name: 'reference', visible: false},
             ],
            fnInitComplete: function () {
                $('#filters').appendTo('#datatable_length').removeClass('hide');
            },
        });

        $(document).on('change','.column-filter', function(e) {
            oTable.draw();
            e.preventDefault();
        });
    });



    $(document).on('change', 'select[name=family_filter].column-filter', function(){
        var groupId = $(this).val();

        $('#subfamily-filter, #subfamily-filter .loading').show();
        $('#subfamily-filter .select').hide();

        $.post("<?php echo route('admin.products.subfamilies', ''); ?>/" + groupId, function(data){
            $('#subfamily-filter .loading').hide();
            $('#subfamily-filter .select').html('Subfamilia: ' + data).show();
            $('select[name=family_filter]').addClass('input-sm');

            $('.form-family:visible').append(data);

        }).fail(function(){
            $('#subfamily-filter, #subfamily-filter .loading').hide();
        })
    })


    /**
     * Edit price
     */
    $(document).on('click','.edit-price',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('.old-price').addClass('hide')
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-price-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-price, .old-price').removeClass('hide');
    });

    $(document).on('ajax:success','form.form-price', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            $form.closest('td').find('.edit-price').text($form.find('input[name=base_price]').val());
            $form.closest('td').find('.old-price').html('<br/>' + $form.find('input[name=promo_price]').val());
            $form.children('.edit-price-cancel').trigger('click');
        }
    });


    /**
     * Edit brand
     */
    $(document).on('click','.edit-brand',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-brand-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-brand').removeClass('hide');
    });

    $(document).on('ajax:success','form.form-brand', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            $form.closest('td').find('.edit-brand').text($form.find('select[name=brand_id] option:selected').text());
            $form.children('.edit-brand-cancel').trigger('click');
        }
    });

    /**
     * Edit name
     */
    $(document).on('click','.edit-name',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-name-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-name').removeClass('hide');
    });

    $(document).on('ajax:success','form.form-name', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            $form.closest('td').find('.edit-name').text($form.find('input[name=name]').val());
            $form.children('.edit-name-cancel').trigger('click');
        }
    });

    /**
     * Edit family
     */
    $(document).on('click','.edit-family',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-family-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-family').removeClass('hide');
    });

    $(document).on('change', '.form-family select[name=family_id]', function(){
        $('.subfamily select[name=subfamily_id]').remove();

        $.post("<?php echo route('admin.products.subfamilies', ''); ?>/" + $(this).val(), function(data){
            $('.subfamily').html(data);
            $('.subfamily select[name=subfamily_id]').addClass('input-sm').removeClass('column-filter');
        }).fail(function(){
            $('#subfamily-filter, #subfamily-filter .loading').hide();
        })
    })

    $(document).on('ajax:success','form.form-family', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            $form.closest('td').find('.group-name').html($form.find('select[name=family_id] option:selected').closest('optgroup').prop('label'))
            $form.closest('td').find('.edit-family').html(
                    $form.find('select[name=family_id] option:selected').text()
                    +'<br/>' + $form.find('select[name=subfamily_id] option:selected').text());
            $form.children('.edit-family-cancel').trigger('click');
        }
    });

    /**
     * Edit stock
     */
    $(document).on('click','.edit-stock',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-stock-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-stock').removeClass('hide');
    });

    $(document).on('ajax:success','form.form-stock', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            var selected = $form.find('select[name=status] option:selected').val();

            if(selected == 'available') {
                $form.closest('td').find('.edit-stock').html('<i class="fa fa-check-circle text-green bigger-120"></i>');
            } else if(selected == 'order') {
                $form.closest('td').find('.edit-stock').html('<i class="fa fa-exclamation-circle bigger-120 text-yellow"></i>');
            } else {
                $form.closest('td').find('.edit-stock').html('<i class="fa fa-times-circle bigger-120 text-red"></i>');
            }

            $form.children('.edit-stock-cancel').trigger('click');
        }
    });

    /**
     * Edit visible
     */
    $(document).on('click','.edit-visible',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-visible-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-visible').removeClass('hide');
    });

    $(document).on('ajax:success','form.form-visible', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            var visible = $form.find('select[name=visible]').val();

            if(visible == 1) {
                $form.closest('td').find('.edit-visible').html('<i class="fa fa-check-circle text-green bigger-120"></i>');
            } else {
                $form.closest('td').find('.edit-visible').html('<i class="fa fa-times-circle bigger-120 text-muted"></i>');
            }

            $form.children('.edit-visible-cancel').trigger('click');
        }
    });

    /**
     * Edit top sales
     */
    $(document).on('click','.edit-top_sales',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-top_sales-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-top_sales').removeClass('hide');
    });

    $(document).on('ajax:success','form.form-top_sales', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            var visible = $form.find('select[name=top_sales]').val();

            if(visible == 1) {
                $form.closest('td').find('.edit-top_sales').html('<i class="fa fa-check-circle text-green bigger-120"></i>');
            } else {
                $form.closest('td').find('.edit-top_sales').html('<i class="fa fa-times-circle bigger-120 text-muted"></i>');
            }

            $form.children('.edit-top_sales-cancel').trigger('click');
        }
    });

    /**
     * Edit new
     */
    $(document).on('click','.edit-new',function(e){
        e.preventDefault();
        $(this).addClass('hide');
        $(this).closest('td').find('form').removeClass('hide');
    });

    $(document).on('click','.edit-new-cancel',function(e){
        e.preventDefault();
        $form = $(this).closest('form');
        $form.addClass('hide');
        $form.closest('td').find('.edit-new').removeClass('hide');
    });

    $(document).on('ajax:success','form.form-new', function(event, data){
        //only hide input on success
        if(data.type == 'success') {
            $form = $(event.target);
            var visible = $form.find('select[name=new]').val();

            if(visible == 1) {
                $form.closest('td').find('.edit-new').html('<i class="fa fa-check-circle text-green bigger-120"></i>');
            } else {
                $form.closest('td').find('.edit-new').html('<i class="fa fa-times-circle bigger-120 text-muted"></i>');
            }

            $form.children('.edit-new-cancel').trigger('click');
        }
    });


    /**
     * select multiple rows
     */
     $(document).on('ifChanged', '[name=select-all]', function(){

        if($(this).is(':checked')) {
            $('.row-select').iCheck('check')
        } else {
            $('.row-select').iCheck('uncheck')
        }
     })

    $(document).on('ifChanged', '.row-select',function(){
        if($('.row-select:checked').length) {
            $('.selected-rows-action').prop('disabled', false);
        } else {
            $('.selected-rows-action').prop('disabled', true);
        }

        var ids = [];
        $('input[name=row-select]:checked').each(function(i, selected){
            ids[i] = $(selected).val();
        });
        $('[name=ids]').val(ids)
    });

    $(document).on('click', '.selected-rows-action', function(e){
        e.preventDefault();
        var $form = $(this).closest('form');

        bootbox.dialog({
            title: "Eliminar selecionados",
            message: "Confirma a remoção dos items selecionados?",
            buttons: {
                cancel: {
                    label: "Cancelar"
                },
                main: {
                    label: "Eliminar",
                    className: "btn-danger",
                    callback: function(result) {
                        $form.submit();
                    }
                }
            },

        });

    })
</script>
<?php $__env->stopSection(); ?>