239 lines
7.6 KiB
JavaScript
239 lines
7.6 KiB
JavaScript
$("#edit-subcontract-modal input[name=edit_project_start_map]").on(
|
|
"keyup",
|
|
function () {
|
|
checkStartMarkerValidationEdit();
|
|
}
|
|
);
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").on(
|
|
"keyup",
|
|
function () {
|
|
checkEndMarkerValidationEdit();
|
|
}
|
|
);
|
|
|
|
function checkStartMarkerValidationEdit(
|
|
forSaveData = false,
|
|
pageOnLoad = false
|
|
) {
|
|
let reg = /^([0-9]){2}\.([0-9])+$/;
|
|
let startLatLngVal = $(
|
|
"#edit-subcontract-modal input[name=edit_project_start_map]"
|
|
)
|
|
.val()
|
|
.split(" - ");
|
|
let startLatLng = startLatLngVal.map(function (e) {
|
|
e = e.replace(/_/g, "");
|
|
return parseFloat(e.slice(1, -1));
|
|
});
|
|
if (isNaN(startLatLng[0])) {
|
|
if (!forSaveData) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
$(
|
|
"#edit-subcontract-modal input[name=edit_project_start_map]"
|
|
).removeClass("is-invalid-input");
|
|
} else {
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
}
|
|
$("#edit-pin-marker-start").removeClass("pin-move pin-set");
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").val("");
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").attr(
|
|
"placeholder",
|
|
"(شروع) => (عرض جغرافیایی) - (طول جغرافیایی)"
|
|
);
|
|
return false;
|
|
} else if (
|
|
!startLatLng == 2 ||
|
|
!reg.test(startLatLng[0]) ||
|
|
!reg.test(startLatLng[1])
|
|
) {
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
$("#edit-pin-marker-start").removeClass("pin-move pin-set");
|
|
return false;
|
|
} else {
|
|
if (!forSaveData) {
|
|
$(
|
|
"#edit-subcontract-modal input[name=edit_project_start_map]"
|
|
).removeClass("is-invalid-input");
|
|
|
|
startMarkerEdit.setLatLng(startLatLng);
|
|
|
|
if (pageOnLoad) {
|
|
setTimeout(() => {
|
|
$("#edit-pin-marker-start")
|
|
.removeClass("pin-move")
|
|
.addClass("pin-set");
|
|
startMarkerEdit.setLatLng(startLatLng);
|
|
}, 10);
|
|
} else {
|
|
$("#edit-pin-marker-start").removeClass("pin-move").addClass("pin-set");
|
|
}
|
|
if (!isSetEndMarkerEdit) {
|
|
let markerLatLng = [
|
|
startMarkerEdit.getLatLng().lat,
|
|
startMarkerEdit.getLatLng().lng + 0.0008,
|
|
];
|
|
|
|
editMap.setView(markerLatLng);
|
|
endMarkerEdit.setLatLng(markerLatLng);
|
|
|
|
if (!isSetStartMarkerEdit) {
|
|
endMarkerAdd.addTo(addMap);
|
|
}
|
|
}
|
|
|
|
isSetStartMarkerEdit = true;
|
|
}
|
|
drawPathEdit();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function checkEndMarkerValidationEdit(forSaveData = false, pageOnLoad = false) {
|
|
let reg = /^([0-9]){2}\.([0-9])+$/;
|
|
if (isNaN(endLatLng[0])) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
if (!forSaveData) {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
}
|
|
$("#edit-pin-marker-end").removeClass("pin-move pin-set");
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").val("");
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").attr(
|
|
"placeholder",
|
|
"(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)"
|
|
);
|
|
return false;
|
|
} else if (
|
|
!endLatLng == 2 ||
|
|
!reg.test(endLatLng[0]) ||
|
|
!reg.test(endLatLng[1])
|
|
) {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
$("#edit-pin-marker-end").removeClass("pin-move pin-set");
|
|
return false;
|
|
} else {
|
|
if (!forSaveData) {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
|
|
endMarkerEdit.setLatLng(endLatLng);
|
|
isSetEndMarkerEdit = true;
|
|
|
|
if (pageOnLoad) {
|
|
setTimeout(() => {
|
|
$("#edit-pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
endMarkerEdit.setLatLng(endLatLng);
|
|
}, 10);
|
|
} else {
|
|
$("#edit-pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
}
|
|
}
|
|
|
|
drawPathEdit();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
function checkStartMarkerValidation(forSaveData = false, pageOnLoad = false) {
|
|
let reg = /^([0-9]){2}\.([0-9])+$/;
|
|
let startLatLngVal = $(
|
|
"#add-subcontract-modal input[name=add_project_start_map]"
|
|
)
|
|
.val()
|
|
.split(" - ");
|
|
let startLatLng = startLatLngVal.map(function (e) {
|
|
e = e.replace(/_/g, "");
|
|
return parseFloat(e.slice(1, -1));
|
|
});
|
|
if (isNaN(startLatLng[0])) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
if (!forSaveData) {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
} else {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
}
|
|
$("#pin-marker-start").removeClass("pin-move pin-set");
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").val("");
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").attr(
|
|
"placeholder",
|
|
"(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)"
|
|
);
|
|
return false;
|
|
} else if (
|
|
!startLatLng == 2 ||
|
|
!reg.test(startLatLng[0]) ||
|
|
!reg.test(startLatLng[1])
|
|
) {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
$("#pin-marker-start").removeClass("pin-move pin-set");
|
|
return false;
|
|
} else {
|
|
if (!forSaveData) {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
|
|
startMarkerAdd.setLatLng(startLatLng);
|
|
|
|
if (pageOnLoad) {
|
|
setTimeout(() => {
|
|
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
|
|
startMarkerAdd.setLatLng(startLatLng);
|
|
}, 10);
|
|
} else {
|
|
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
|
|
}
|
|
if (!isSetEndMarkerAdd) {
|
|
let markerLatLng = [
|
|
startMarkerAdd.getLatLng().lat,
|
|
startMarkerAdd.getLatLng().lng + 0.0008,
|
|
];
|
|
|
|
addMap.setView(markerLatLng);
|
|
endMarkerAdd.setLatLng(markerLatLng);
|
|
|
|
if (!isSetStartMarkerAdd) {
|
|
endMarkerAdd.addTo(addMap);
|
|
}
|
|
}
|
|
isSetStartMarkerAdd = true;
|
|
}
|
|
checkMarkersAndDrawPath();
|
|
|
|
return true;
|
|
}
|
|
} |