@@ -151,7 +151,7 @@ <h1>Time Series</h1>
151151
152152 < div class ="actions ">
153153 < a class ="btn btn--medium " href ="{% url 'not_implemented' %} "> Upload time series</ a >
154- < a class ="btn btn--medium " href =" {% url 'not_implemented' %} " > Create manually</ a >
154+ < button class ="btn btn--medium " data-bs-toggle =" modal " data-bs-target =" #createTimeseriesModal " > Create manually</ button >
155155 </ div >
156156 </ div >
157157
@@ -292,5 +292,67 @@ <h2>No time series yet</h2>
292292 </ div >
293293 {% endif %}
294294</ div >
295+
296+ < div class ="modal fade " id ="createTimeseriesModal " tabindex ="-1 " role ="dialog ">
297+ < div class ="modal-dialog modal-lg ">
298+ < div class ="modal-content ">
299+ < div class ="modal-header ">
300+ < h5 class ="modal-title "> Create time series</ h5 >
301+ < button type ="button " class ="btn-close " data-bs-dismiss ="modal " aria-label ="Close "> </ button >
302+ </ div >
303+ < div class ="modal-body ">
304+ < div class ="form-group mb-3 ">
305+ < label for ="ts-type-select "> Type</ label >
306+ < select id ="ts-type-select " class ="form-select " onchange ="toggleTsFields() ">
307+ < option value ="pv " selected > PV output</ option >
308+ < option value ="electricity_demand "> Electricity demand</ option >
309+ < option value ="heat_demand "> Heat demand</ option >
310+ </ select >
311+ </ div >
312+
313+ < div class ="form-group mb-3 ">
314+ < label for ="ts-name "> Name</ label >
315+ < input type ="text " id ="ts-name " class ="form-control " placeholder ="e.g. My PV series ">
316+ </ div >
317+
318+ < div id ="pv-fields ">
319+ < div class ="form-group mb-3 ">
320+ < label for ="ts-azimuth "> Azimuth (°)</ label >
321+ < input type ="number " id ="ts-azimuth " class ="form-control " placeholder ="180 = south ">
322+ </ div >
323+ < div class ="form-group mb-3 ">
324+ < label for ="ts-tilt "> Tilt (°)</ label >
325+ < input type ="number " id ="ts-tilt " class ="form-control " placeholder ="0 = horizontal, 90 = vertical ">
326+ </ div >
327+ < div class ="form-group mb-3 ">
328+ < label for ="ts-efficiency "> System efficiency (%)</ label >
329+ < input type ="number " id ="ts-efficiency " class ="form-control " min ="0 " max ="100 " placeholder ="e.g. 80 ">
330+ </ div >
331+
332+ < div class ="form-group mb-2 ">
333+ < label for ="ts-weather-file "> Weather data</ label >
334+ < input type ="file " id ="ts-weather-file " class ="form-control ">
335+ < div class ="muted small mt-1 "> Data may be in TRY or ERA5 format.</ div >
336+ </ div >
337+ < div class ="mb-3 ">
338+ < button type ="button " class ="btn btn--medium "> Use default weather data based on location</ button >
339+ </ div >
340+ </ div >
341+ </ div >
342+ < div class ="modal-footer ">
343+ < button type ="button " class ="btn btn-secondary " data-bs-dismiss ="modal "> Cancel</ button >
344+ < button type ="button " class ="btn btn--medium "> Create</ button >
345+ </ div >
346+ </ div >
347+ </ div >
348+ </ div >
349+
350+ < script >
351+ function toggleTsFields ( ) {
352+ const val = document . getElementById ( 'ts-type-select' ) . value ;
353+ document . getElementById ( 'pv-fields' ) . style . display = val === 'pv' ? '' : 'none' ;
354+ }
355+ </ script >
356+
295357</ body >
296358{% endblock content %}
0 commit comments