Merge branch 'fronkdev' into 'master'

ConstructionConsent: Plan from Mapbox with Rimo coords

See merge request fronk/thetool!923
This commit is contained in:
Frank Schubert
2025-01-20 13:00:19 +00:00
5 changed files with 553 additions and 12 deletions
+101 -5
View File
@@ -153,10 +153,48 @@
<hr />
<h4>Planskizze / Bilddatei</h4>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="name">Planskizze / Bilddatei</label>
<label class="col-lg-2 col-form-label"></label>
<div class="col-lg-10">
<input type="file" class="form-control" name="consent_plan_image" id="consent_plan_image" />
<div class="card">
<h5 class="card-header">Plan aus Rimo laden</h5>
<div class="card-body">
<select class="form-control" name="plan_adb_hausnummer_id" id="plan_adb_hausnummer_id">
<?php if(isset($item) && $item->plan_adb_hausnummer_id): ?>
<option value="<?=$item->plan_adb_hausnummer_id?>" selected="selected"><?=$item->plan_adb_hausnummer->street->name?> <?=$item->plan_adb_hausnummer->hausnummer?>, <?=$item->plan_adb_hausnummer->street->gemeinde->name?></option>
<?php endif; ?>
</select>
</div>
</div>
<div class="card">
<h5 class="card-header">Oder Plan hochladen</h5>
<div class="card-body">
<input type="file" class="form-control" name="consent_plan_image" id="consent_plan_image" />
</div>
</div>
<div class="card">
<h5 class="card-header">Plan Vorschau</h5>
<div class="card-body" id="rimo-plan-container">
<input type="hidden" name="submit_plan_file_id" id="submit_plan_file_id" value="" />
<img id="plan_preview" style="max-width: 1200px;" <?=($item->file) ? "src=".$item->file->file->asDataUrl()."" : "" ?> />
<div class="row mt-2">
<div class="col">
<button type="button" class="btn btn-outline-danger hidden" id="delete-rimo-plan" onclick="deleteRimoPlan()">
<i class="far fa-fw fa-trash-alt"></i> Plan löschen
</button>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -222,16 +260,74 @@
placeholder: "Suche nach Straße",
allowClear: true
});
$('#adb_strasse_id').on('select2:close', function(e) {
if(!$('#adb_strasse_id').val()) {
$('#new-address-toggle').show();
$('#plan_adb_hausnummer_id').select2({
ajax: {
url: '<?=self::getUrl("ConstructionConsent", "api")?>',
data: (params) => {
return {
q: params.term,
do: "findAddress",
project_id: $("#constructionconsentproject_id :selected").val()
}
},
delay: 250,
dataType: 'json'
},
minimumInputLength: 2,
placeholder: "Suche nach Adresse",
allowClear: true
});
$('#plan_adb_hausnummer_id').change( async () => {
if(!$("#plan_adb_hausnummer_id").val()) return;
var building_id = $('#plan_adb_hausnummer_id').val();
// get plan image preview
try {
var response = await fetch('<?=self::getUrl("ConstructionConsent", "Api", ["do" => "getRimoPlanPreview"])?>&building_id=' + building_id);
if (!response.ok) {
return false;
}
var resp_json = await response.json();
var plan_data = resp_json.result;
var img_mimetype = plan_data.image_mimetype;
var img_base64 = plan_data.image_base64;
var file_id = plan_data.file_id;
$("#plan_preview").attr("src" ,"data:" + img_mimetype + ";base64," + img_base64);
$("#submit_plan_file_id").val(file_id);
$("#delete-rimo-plan").show();
} catch (error) {
console.log("Exception fetching plan preview:");
console.log(error);
return false;
}
});
$("#consent_plan_image").change(() => {
var [file] = $("#consent_plan_image").prop("files");
if(file) {
$("#plan_preview").attr("src", URL.createObjectURL(file));
}
});
$("#constructionconsentproject_id").change(() => {
$("#adb_strasse_id").val("").change();
});
function deleteRimoPlan() {
$('#plan_adb_hausnummer_id').val("");
$("#submit_plan_file_id").val();
$("#plan_preview").attr("src", "");
$("#delete-rimo-plan").hide();
}
</script>
<?php include(realpath(dirname(__FILE__) . "/../../$mfLayoutPackage") . "/footer.php"); ?>