Joywork/js/raion_newbuildings.js

168 lines
5.2 KiB
JavaScript
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
jQuery(document).ready(function($) {
$("#district-map-select").click(function(){
$("#district-map-select").hide();
$("#districtsList input[type=checkbox]").each(function(){
var id = $(this).attr("data-id");
$(this).removeClass("active");
$(this).prop("checked", false);
$("#"+id, svgdom).myRemoveClass("active");
});
var selected = $(".ms-district").val();
if (selected && selected.length > 0) {
var svgobject = document.getElementById('Layer_1');
if ('contentDocument' in svgobject)
{
var svgdom = svgobject.contentDocument;
}
for (var i = 0; i < selected.length; i++) {
$("#districtsList input[value='" + selected[i] + "']").each(function () {
var id = $(this).attr("data-id");
$(this).addClass("active");
$(this).prop("checked", true);
$("#"+id, svgdom).myAddClass("active");
});
}
}
$("#raion__map").show();
$(".raion-popup").show();
$("body").addClass("lock");
$("body").animate({ scrollTop: 200}, 500 );
return false;
});
$("#raion-closer, .raion").click(function() {
var selected = [];
$("#districtsList input[type=checkbox].active").each(function(){
selected.push($(this).attr('value'));
});
$(".ms-district").val(selected);
$(".ms-district").multiselect("reload");
$('#district-map-select').show();
$("#raion__map").hide();
$(".raion-popup").hide();
$("body").removeClass("lock");
$("body").animate({ scrollTop: 550}, 500 );
});
});
jQuery.fn.myAddClass = function (classTitle) {
return this.each(function() {
var oldClass = jQuery(this).attr("class");
oldClass = oldClass ? oldClass : '';
jQuery(this).attr("class", (oldClass+" "+classTitle).trim());
});
};
jQuery.fn.myRemoveClass = function (classTitle) {
return this.each(function() {
var oldClassString = ' '+jQuery(this).attr("class")+' ';
var newClassString = oldClassString.replace(new RegExp(' '+classTitle+' ','g'), ' ').trim();
if (!newClassString)
jQuery(this).removeAttr("class");
else
jQuery(this).attr("class", newClassString);
});
};
jQuery.fn.hasAttr = function(name) {
return this.attr(name) !== undefined;
};
$(window).load(function () {
var svgobject = document.getElementById('Layer_1');
if ('contentDocument' in svgobject)
{
var svgdom = svgobject.contentDocument;
}
$("#districtsList input[type=checkbox].active").each(function(){
var id = $(this).attr("data-id");
$("#"+id, svgdom).myAddClass("active");
});
$("#districtsList input[type=checkbox]").change(function() {
var id = $(this).attr("data-id");
if (this.checked) {
$(this).addClass("active");
$("#"+id, svgdom).myAddClass("active");
}
else {
$("#"+id, svgdom).myRemoveClass("active");
$(this).removeClass("active");
}
});
$("#regionsList li").click(function() { // выбор целой области
var id = $(this).attr("id");
if ($(this).hasClass("active")) {
$("."+id, svgdom).myRemoveClass("active");
$(this).removeClass("active");
$('#districtsList input[type=checkbox].'+id).removeAttr("checked");
$('#districtsList input[type=checkbox].'+id).removeClass("active");
}
else {
$("."+id, svgdom).myAddClass("active");
$(this).addClass("active");
$('#districtsList input[type=checkbox].'+id).attr("checked","checked");
$('#districtsList input[type=checkbox].'+id).addClass("active");
}
});
$("#districtsList input[type=checkbox] + span").hover(
function () {
var id = $(this).siblings("input").attr("data-id");
$("#"+id, svgdom).myAddClass("hover");
},
function () {
var id = $(this).siblings('input').attr("data-id");
$("#"+id, svgdom).myRemoveClass("hover");
}
);
$("#regionsList li").hover(
function () {
var id = $(this).attr("id");
$("."+id, svgdom).myAddClass("hover");
$('#districtsList input[type=checkbox].'+id).addClass("hover");
},
function () {
var id = $(this).attr("id");
$("."+id, svgdom).myRemoveClass("hover");
$('#districtsList input[type=checkbox].'+id).removeClass("hover");
}
);
$(".area", svgdom).hover(
function () {
var id = $(this).attr("id");
$("#districtsList input[data-id="+id+"]").addClass("hover");
},
function () {
var id = $(this).attr("id");
$("#districtsList input[data-id="+id+"]").removeClass("hover");
}
);
$(".area", svgdom).click(function() {
var id = $(this).attr("id");
$('#districtsList input[data-id="'+id+'"]').trigger('click');
});
});