fix: options as json

This commit is contained in:
relikd
2024-06-27 01:50:08 +02:00
parent b3a5d2678a
commit 880bca3501
2 changed files with 9 additions and 6 deletions

View File

@@ -1,7 +1,9 @@
from typing import NamedTuple
from django.db import models from django.db import models
from django.forms import Widget from django.forms import Widget
import json
from typing import NamedTuple
class Position(NamedTuple): class Position(NamedTuple):
lat: float lat: float
@@ -24,10 +26,11 @@ class MapLocationWidget(Widget):
'leaflet/locate/L.Control.Locate.min.js', 'leaflet/locate/L.Control.Locate.min.js',
'map-location.js'] 'map-location.js']
# def get_context(self, name, value, attrs): def get_context(self, name, value, attrs):
# context = super().get_context(name, value, attrs) context = super().get_context(name, value, attrs)
# context['id'] = attrs.get('id') context['map_options'] = json.dumps(
# return context context['widget']['attrs'].get('options'))
return context
class LocationField(models.Field): class LocationField(models.Field):

View File

@@ -3,6 +3,6 @@
<div id="{{ widget.attrs.id }}_map" style="width: 100%; height: 400px"></div> <div id="{{ widget.attrs.id }}_map" style="width: 100%; height: 400px"></div>
<a href="" id="{{ widget.attrs.id }}_reset">Remove</a> <a href="" id="{{ widget.attrs.id }}_reset">Remove</a>
<script> <script>
MapLocationInit("{{ widget.attrs.id }}", {{ widget.attrs.options|safe }}); MapLocationInit("{{ widget.attrs.id }}", {{ map_options|safe }});
</script> </script>
</div> </div>