$("#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; } }