source: OpenWorkouts-current/ow/templates/workout.pt @ 978575d

currentfeature/docs
Last change on this file since 978575d was 978575d, checked in by Segundo Fdez <segun.2@…>, 5 years ago

update map on workout detail

  • Property mode set to 100644
File size: 6.2 KB
Line 
1<html xmlns="http://www.w3.org/1999/xhtml"
2      xml:lang="en"
3      xmlns:tal="http://xml.zope.org/namespaces/tal"
4      xmlns:metal="http://xml.zope.org/namespaces/metal"
5      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
6      i18n:domain="OpenWorkouts"
7      metal:use-macro="load: base.pt"
8      tal:attributes="lang request.locale_name">
9
10  <metal:head-title metal:fill-slot="head-title">
11    <tal:t i18n:translate="">Workout details</tal:t>:
12    <tal:c tal:content="context.title"></tal:c>
13  </metal:head-title>
14
15  <metal:css metal:fill-slot="css">
16    <link rel="stylesheet" tal:condition="context.has_gpx"
17          href="${request.static_url('ow:static/components/Leaflet/leaflet.css')}" />
18    <link rel="stylesheet" tal:condition="context.has_gpx"
19          href="${request.static_url('ow:static/components/leaflet-elevation/leaflet-elevation.css')}" />
20  </metal:css>
21
22  <metal:title metal:fill-slot="title">
23    <tal:t i18n:translate="">Workout details</tal:t>
24  </metal:title>
25
26  <metal:content metal:fill-slot="content">
27
28
29    <div class="workout-detail" id="workout">
30      <div class="workout-detail-resume">
31        <h3 tal:content="context.title"></h3>
32        <div id="" tal:attributes="id 'workout-' + context.workout_id + '-notes'">
33          <p tal:repeat="paragraph context.notes.split('\n')"
34             tal:content="paragraph"></p>
35        </div>
36        <ul class="workout-options">
37          <li>
38            <a href="" i18n:translate=""
39               tal:attributes="href request.resource_url(context, 'edit')">
40              edit workout
41            </a>
42          </li>
43          <li>
44            <a href="" i18n:translate=""
45               tal:attributes="href request.resource_url(context, 'update-from-file')">
46              update with tracking file
47            </a>
48          </li>
49          <li class="owo-del"><a href="" i18n:translate=""
50                                 tal:attributes="href request.resource_url(context, 'delete')">
51            delete
52          </a>
53          </li>
54        </ul>
55      </div>
56      <div class="workout-detail-info">
57        <ul id="" tal:attributes="id 'workout-' + context.workout_id + '-details'"
58            tal:define="hr context.hr; cad context.cad; atemp context.atemp; timezone context.owner.timezone">
59          <li class="important" tal:condition="context.distance">
60            <span><tal:t i18n:translate="">Distance</tal:t></span>
61            <tal:c tal:content="context.rounded_distance"></tal:c> km
62          </li>
63          <li class="important">
64            <span><tal:t i18n:translate="">Duration</tal:t></span>
65            <!--! use the properly formatted duration instead of the timedelta object -->
66            <tal:c tal:content="context._duration"></tal:c>
67          </li>
68          <li class="important">
69            <span><tal:t i18n:translate="">Start</tal:t></span>
70            <tal:c tal:content="context.start_in_timezone(timezone)"></tal:c>
71          </li>
72          <li tal:condition="context.speed">
73            <span><tal:t i18n:translate="">Speed</tal:t></span>
74            <span class="avg"><tal:t i18n:translate="">Avg.</tal:t>
75              <tal:c tal:content="round(context.speed['avg'], 1)"></tal:c>km/h</span>
76            <span class="max"><tal:t i18n:translate="">Max.</tal:t>
77              <tal:c tal:content="round(context.speed['max'], 1)"></tal:c>km/h</span>
78          </li>
79          <li tal:condition="hr">
80            <span><tal:t i18n:translate="">Heart Rate</tal:t></span>
81            <span class="avg"><tal:t i18n:translate="">Avg.</tal:t>
82              <tal:c tal:content="hr['avg']"></tal:c>bpm</span>
83            <span class="max"><tal:t i18n:translate="">Max.</tal:t>
84              <tal:c tal:content="hr['max']"></tal:c> bpm</span>
85          </li>
86          <li tal:condition="cad">
87            <span><tal:t i18n:translate="">Cadence</tal:t></span>
88            <span class="avg"><tal:t i18n:translate="">Avg.</tal:t>
89              <tal:c tal:content="cad['avg']"></tal:c></span>
90            <span class="max"><tal:t i18n:translate="">Max.</tal:t>
91              <tal:c tal:content="cad['max']"></tal:c></span>
92          </li>
93          <li tal:condition="atemp">
94            <span><tal:t i18n:translate="">Temperature</tal:t></span>
95            <span class="min"><tal:t i18n:translate="">Min.</tal:t>
96              <tal:c tal:content="atemp['min']"></tal:c>℃</span>
97            <span class="avg"><tal:t i18n:translate="">Avg.</tal:t>
98              <tal:c tal:content="atemp['avg']"></tal:c>℃</span>
99            <span class="max"><tal:t i18n:translate="">Max.</tal:t>
100              <tal:c tal:content="atemp['max']"></tal:c>℃</span>
101          </li>
102        </ul>
103        <div id="elevation"></div>
104      </div>
105    </div>
106
107    <!--! Track map -->
108    <div id="map" tal:condition="context.has_gpx"></div>
109  </metal:content>
110
111  <metal:body-js metal:fill-slot="body-js">
112
113    <script src="${request.static_url('ow:static/components/d3/d3.min.js')}"
114            tal:condition="context.has_gpx"></script>
115
116    <script src="${request.static_url('ow:static/components/Leaflet/leaflet.js')}"
117            tal:condition="context.has_gpx"></script>
118
119    <script src="${request.static_url('ow:static/components/leaflet-gpx/gpx.js')}"
120            tal:condition="context.has_gpx"></script>
121
122    <script src="${request.static_url('ow:static/components/leaflet-elevation/leaflet-elevation.js')}"
123            tal:condition="context.has_gpx"></script>
124
125    <script src="${request.static_url('ow:static/js/ow.js')}"
126            tal:condition="context.has_gpx"></script>
127
128    <script type="text/javascript" tal:condition="context.has_gpx">
129     var workout_map = owjs.map({
130         map_id: 'map',
131         latitude: ${start_point['latitude']},
132         longitude: ${start_point['longitude']},
133         zoom: 11,
134         gpx_url: '${request.resource_url(context, 'gpx')}',
135         start_icon: '${request.static_url('ow:static/components/leaflet-gpx/pin-icon-start.png')}',
136         end_icon: '${request.static_url('ow:static/components/leaflet-gpx/pin-icon-end.png')}',
137         shadow: '${request.static_url('ow:static/components/leaflet-gpx/pin-shadow.png')}',
138         elevation: true,
139         zoom_control: true
140     });
141     workout_map.render();
142    </script>
143  </metal:body-js>
144
145</html>
Note: See TracBrowser for help on using the repository browser.