option.js 11.1 KB
function readURL(input) {
	$(input).parents('.tab-pane').find('.image_inputs_prev').remove();
	var urls = [];
	if (input.files) {
		$.each(input.files, function(key, value) {
			var reader = new FileReader();
			reader.onload = function(e) {
				$(input).parent().append('<img src="'+ e.target.result +'" width="100" class="image_inputs_prev" />');
			}
			reader.readAsDataURL(value);
		});
	}
	return urls;
}
function checkboxerInit() {
    $.each($('.checkboxer input[type=radio]:checked'), function(index, value) {
        $(value).trigger('change');
    });
}

function accountRedraw() {
    var type = $('input[name="User[type]"]:checked').val();
    if(type == 2) {
        $('#form_definition').removeClass('form_for_company');
    } else {
        $('#form_definition').addClass('form_for_company');
    }
}

$(function() {
    var counter = 0;
    $(document).on('click', '.add_row', function() {
        counter++;
        var clone = $('#main_row').clone().html().replace(new RegExp("Option\\[0\\]", 'g'), "Option["+counter+"]");
        console.log(form);
        $(clone).appendTo('#'+form);
        $('#'+form+' button[type=submit]').parent().appendTo('#'+form);
    });
    $(document).on('click', '.add_lang', function() {
        var field_block = $(this).parent().parent();
        if($(this).hasClass('active')) {
            $(field_block).find('.main_input').attr('required', '').show();
            $(field_block).find('.lang_inputs').hide();
            $(this).removeClass('active');
        } else {
            $(field_block).find('.main_input').removeAttr('required').hide();
            $(field_block).find('.lang_inputs').show();
            $(this).addClass('active');
        }
    });
    $(document).on('click', '.remove_lang', function() {
        $(this).parents('.form-wrapper').remove();
    });
    $(document).on('change', '.image_inputs_field', function() {
        readURL(this);
    });
    $('a.remove_image').on('click', function(e) {
        var el = $(this);
        e.preventDefault();
        if(confirm(confirm_message)) {
            $.ajax({
                type: 'post',
                url: $(this).attr('href'),
                data: $(this).data('params')
            }).done(function() {
                $(el).parents('.additional_image_container').remove();
            });
        }
        return false;
    });
    $.each($('.nav-tabs.f32'), function(key, value) {
        if($(value).find('li').length > 1) {
            $(value).find('li').append('<span class="glyphicon glyphicon-remove-circle remove-lang"></span>');
        }
    });
    $(document).on('click', '.dropdown-menu.f32:not(.old) li a[data-lang]', function() {
        var lang = $(this).data('lang');
        var flag = $(this).find('span').first().clone();
        var el = $(this);
        var id = $(this).attr('href').substr(1);
        var path = form[id].handler;
        var view = form[id].view;
        var model = form[id].model;
        $.get(path, { language_id: lang, widget_id: id, ajaxView: view, model: model }, function(data) {
            $('#'+id+'-tabs li').removeClass('active');
            $('#'+id+'-tabs').append('<li role="lang_inputs" class="active" data-lang="'+lang+'"><a href="#'+id+'-'+lang+'" aria-controls="'+id+'-'+lang+'" role="tab" data-toggle="tab">'+$('<p>').append($(flag)).html()+'</a></li>');
            $('#tab-content-'+id+' .tab-pane.active').removeClass('active');
            $('#tab-content-'+id).append($(data).find('.ajax-loaded').first());
            $('body').append($(data).filter('script'));
            $(el).parent().remove();
            if(!$('#lang-'+id+' li').length) {
                $('#'+id+'Lang').addClass('disabled');
            }
            if($('#'+id+'-tabs li').length > 1) {
                $('#'+id+'-tabs li').append('<span class="glyphicon glyphicon-remove-circle remove-lang"></span>')
            }
        });
    });
    $(document).on('click', '.dropdown-menu.f32.old li a[data-lang]', function(e) {
        e.preventDefault();
        var lang = $(this).data('lang');
        var flag = $(this).find('span').first().clone();
        var el = $(this);
        var id = $(this).attr('href').substr(1);
        $.get(form[id], { language_id: lang, widget_id: id }, function(data) {
            $('#'+id+'-tabs li').removeClass('active');
            $('#'+id+'-tabs').append('<li role="lang_inputs" class="active" data-lang="'+lang+'"><a href="#'+id+'-'+lang+'" aria-controls="'+id+'-'+lang+'" role="tab" data-toggle="tab">'+$('<p>').append($(flag)).html()+'</a></li>');
            $('#tab-content-'+id+' .tab-pane.active').removeClass('active');
            $('#tab-content-'+id).append($(data).find('.ajax-loaded').first());
            $('body').append($(data).filter('script'));
            $(el).parent().remove();
            if(!$('#lang-'+id+' li').length) {
                $('#'+id+'Lang').addClass('disabled');
            }
            if($('#'+id+'-tabs li').length > 1) {
                $('#'+id+'-tabs li').append('<span class="glyphicon glyphicon-remove-circle remove-lang"></span>')
            }
        });
    });
    $(document).on('click', '.remove-lang', function() {
        var lang = $(this).parent().data('lang');
        var flag = $(this).parent().find('span.flag').first().clone();
        var id = $(this).parent().find('a[aria-controls]').first().attr('aria-controls').substr(0,8);
        $('#'+id+'-'+lang).remove();
        $('#lang-'+id).append('<li><a href="#'+id+'" data-lang="'+lang+'">'+$('<p>').append($(flag)).html()+'</a></li>');
        $('#'+id+'Lang').removeClass('disabled');
        $(this).parent().remove();
        if($('#'+id+'-tabs li').length <= 1) {
            $('#'+id+'-tabs li').find('.remove-lang').remove();
        }
        if(!$('#'+id+'-tabs>li.active').length) {
            $('#'+id+'-tabs>li').first().find('a').tab('show');
        }
    });
    $(document).on('change', '.checkboxer .checkboxer_label input[type=radio]', function() {
        $(this).parents('.checkboxer').find('.checkboxer_container').removeClass('active');
        $(this).parents('.checkboxer_container').addClass('active');
    });
    $(document).on('click', '.add_column a', function() {
        var container = $(this).parent().parent();
        var clone = $(container).clone();
        clone.find('.add_column').remove();
        $(clone).insertAfter(container);
        return false;
    });
    $.each($('.f32'), function(i, val) {
        $(val).find('a[role=tab]').first().trigger('click');
    });
    checkboxerInit();
    accountRedraw();
    $(document).on('change', 'input[name="User[type]"]', function() {
        accountRedraw();
    });
});
$(document).ready(function(){
    specializationTags()
    function specializationTags(){
        addSpecializationTagsLoad()
        removeSpecializationTags()
        newAddSpecializationTags()
        checkSpecialization()
        selectAllInBox()
        loadList()

        function addSpecializationTagsLoad(){
            var specTags = $('.admin-page .third-ul-menu input:checked')
            for (var spI=0;spI<specTags.length;spI++) {
                var newSpecTagsId = $(specTags[spI]).attr('id')
                var newSpecTagsTxt = $(specTags[spI]).parents('a').text()
                $('.admin-page .admin-specialization-selected ul').append('<li data-spec-id="'+newSpecTagsId+'">'+newSpecTagsTxt+'</li>')
            }
        }

        function loadList(){
            $( '.new-spec-block .content-menu-first :checkbox:checked' ).each(function(){
                var ThisTxt = $(this).parents('a').text();
                    Thisid = $(this).attr('id');

                $(".admin-specialization-selected ul").append('<li data-spec-id="'+Thisid+'">'+ThisTxt+'</li>');
            });
            $(".admin-specialization-selected ul li").click(function(){
                var specIdThis = ($(this).data('spec-id'));
                $('.new-spec-block .content-menu-first').find("#"+specIdThis).prop('checked', false);
                $(this).remove();
            });
        }

        function selectAllInBox(){

            $(".new-spec-block .content-menu-first li a").click(function(){
                $(this).parent().find("ul input[type=checkbox]").prop('checked', true);
                $(".admin-specialization-selected").find("li").remove();
                loadList();
            });
        }

        function removeSpecializationTags(){
            $('body').on('click', '.admin-page .admin-specialization-selected ul li', function(){
                var removeSpecTagsId = $(this).attr('data-spec-id')
                $('.admin-page .third-ul-menu #'+removeSpecTagsId).attr('checked', false)
                $(this).remove()

                if(($('.admin-page .admin-specialization-selected ul li').size())<1){
                    $('.input-blocks-wrapper.admin-menu-list .admn-menu-err').addClass('has-error')
                } else {
                    $('.input-blocks-wrapper.admin-menu-list .admn-menu-err').addClass('has-error').removeClass('has-error')
                }
            })
        }

        function newAddSpecializationTags(){
            $('.admin-page .third-ul-menu input').change(function(){
                var thisSpecTagsId = $(this).attr('id')
                var thisSpecTagsTxt = $(this).parents('a').text()
                if($(this).prop("checked")){
                    $('.admin-page .admin-specialization-selected ul').append('<li data-spec-id="'+thisSpecTagsId+'">'+thisSpecTagsTxt+'</li>')
                } else {
                    $('.admin-page .admin-specialization-selected ul li[data-spec-id="'+thisSpecTagsId+'"]').remove()

                }

                if( ($('.admin-page .admin-specialization-selected ul li, .new-spec-block .admin-specialization-selected ul li').length)>0 ){
                    $('.input-blocks-wrapper.admin-menu-list .admn-menu-err').addClass('has-error').removeClass('has-error')
                } else {
                    $('.input-blocks-wrapper.admin-menu-list .admn-menu-err').addClass('has-error')
                }
            })
        }

        function checkSpecialization(){
            if($('.input-blocks-wrapper').hasClass('admin-menu-list')){
                $('body').on('click', '.admin-page .admin-save-btn button', function(e){
                    if( ($('.admin-page .admin-specialization-selected ul li').length)>0 ){
                        $('.input-blocks-wrapper.admin-menu-list .admn-menu-err').removeClass('has-error')
                    } else {
                        var errorOffsetSpecial = $('.input-blocks-wrapper.admin-menu-list').offset().top
                        e.preventDefault()
                        $('body,html').animate({scrollTop:errorOffsetSpecial-50}, 400)
                        $('.input-blocks-wrapper.admin-menu-list .admn-menu-err').addClass('has-error')
                    }
                })
            }
        }
    }
    $('.admin-page .admin-menu-list .content-menu-first a').addClass('no-click')
    $('.admin-page .admin-menu-list .content-menu-first a.remove-link, .third-ul-menu a').removeClass('no-click')
    $('.admin-page .admin-menu-list .content-menu-first a.no-click').click(function(e){e.preventDefault()})

})