import SelectedContainer from './SelectedContainer'; import NoTreeSelect from './NoTreeSelect'; import TreeSelect from './TreeSelect'; // ` $(function () { function createFilterSpecs(_data) { // SPECIALIZATIONS FILTER let data = _data.results; let sb_main = new TreeSelect({$container: $('#select-box-1'), data: data, hasEditableContainer: true}); sb_main.setHeader("Специализации"); let select_container = new SelectedContainer($('#selected-spec'), data); sb_main.connectSelectedContainer(select_container); let sb_1 = new TreeSelect({$container: $('#select-box-2'), data: data}); let sb_2 = new TreeSelect({$container: $('#select-box-3'), data: data}); let sb_3 = new TreeSelect({$container: $('#select-box-4'), data: data}); let sb_4 = new TreeSelect({$container: $('#select-box-5'), data: data}); sb_main.setNearbySelectBox(sb_1); sb_1.setNearbySelectBox(sb_2, sb_main); sb_2.setNearbySelectBox(sb_3, sb_1); sb_3.setNearbySelectBox(sb_4, sb_2); sb_4.setNearbySelectBox("", sb_3); } function createFilterBuildingClass(_data) { // BUILDING-CLASSIFICATION FILTER let data = _data.results; let sb_build_main = new TreeSelect({$container: $('#sb-building-classification'), data: data}); sb_build_main.setHeader("Классификация здания"); let sb_build_1 = new TreeSelect({$container: $('#sb-building-sub-classification'), data: data}); let select_build_container = new SelectedContainer($('#selected-building-classification'), data); sb_build_main.connectSelectedContainer(select_build_container); sb_build_main.setNearbySelectBox(sb_build_1); sb_build_1.setNearbySelectBox("", sb_build_main); } function createFilterConstructionType(_data) { let data = _data.results; let sb_constr_main = new NoTreeSelect({$container: $('#sb-construction-type'), data: data}); sb_constr_main.setHeader("Вид строительства"); let select_constr_type = new SelectedContainer($('#selected-construction-type'), data, true); sb_constr_main.connectSelectedContainer(select_constr_type); } function createFilerLocations(data) { let sb_loc_main = new TreeSelect({$container: $('#sb-location-1'), data: data}); sb_loc_main.setHeader("Местоположение"); let select_loc = new SelectedContainer($('#selected-location'), data); sb_loc_main.connectSelectedContainer(select_loc); let sb_loc_1 = new TreeSelect({$container: $('#sb-location-2'), data: data}); let sb_loc_2 = new TreeSelect({$container: $('#sb-location-3'), data: data}); sb_loc_main.setNearbySelectBox(sb_loc_1); sb_loc_1.setNearbySelectBox(sb_loc_2, sb_loc_main); sb_loc_2.setNearbySelectBox("", sb_loc_1); //TODO: Временно прелоадер на самом тяжелом объекте // hidePreloader() } $.ajax({ url: '/api/specializations_flat', dataType: 'json', data: {}, success: createFilterSpecs }); $.ajax({ url: '/api/building_classifications', dataType: 'json', data: {}, success: createFilterBuildingClass }); $.ajax({ url: '/api/construction_type', dataType: 'json', data: {}, success: createFilterConstructionType }); let data = []; function fullData(_data) { data = data.concat(_data.results.length ? _data.results : []); let url = _data.next; if (url) { $.ajax({ url: url, dataType: 'json', data: {}, success: fullData }); } else { createFilerLocations(data); } return data; } fullData({next: '/api/locations_flat', results: []}); function tuneCheckBoxes($boxes) { let currentState = $boxes.find("input").prop("checked") ? 'checked' : 'not-checked'; $boxes.find("div").hide(); $boxes.find("div." + currentState).show(); } let $boxes = $('.custom-check'); tuneCheckBoxes($boxes); $boxes.on("click", function (e) { let inside_checkBox = $(e.target).parent().find("input"); inside_checkBox.prop("checked", !inside_checkBox.prop("checked")); tuneCheckBoxes($boxes); e.preventDefault(); return false; }); // $(window).on('load', // function hidePreloader() { // var $preloader = $('#page-preloader'), // $spinner = $preloader.find('.spinner'); // $spinner.fadeOut(); // $preloader.delay(350).fadeOut('slow'); // } // $("#myBtn").click(function () { // $('
' + // '' + // 'modal info...' + // '
').appendTo("#alerts"); // }); });