@@ -100,40 +100,26 @@ const TimeUI = {
100100 "</div>" ,
101101 "</div>" ,
102102 `<div id="mmgisTimeUITopBar">` ,
103- `<div id="mmgisTimeUIActionsLeft">` ,
104- `<div id='mmgisTimeUIMode'>` ,
105- `<div id='mmgisTimeUIModeDropdown' class='ui dropdown short'></div>` ,
106- `</div>` ,
107- `<div id="mmgisTimeUIQuickSelectTrigger" class="mmgisTimeUIButton">` ,
108- `<i class='mdi mdi-calendar-cursor mdi-24px'></i>` ,
109- `</div>` ,
110- `<div id="mmgisTimeUIPlayTrigger" class="mmgisTimeUIButton">` ,
111- `<i class='mdi mdi-movie mdi-24px'></i>` ,
112- `</div>` ,
113- `<div class="vertDiv"></div>` ,
114103 ] . join ( '\n' )
115104
116- // Add the right buttons to the left if mobile to consolidate them
117- if ( L_ . UserInterface_ ?. isMobile === true ) {
105+ if ( L_ . UserInterface_ ?. isMobile !== true ) {
118106 markup += [
119- `<div id="mmgisTimeUIFitTime" class="mmgisTimeUIButton">` ,
120- `<i class='mdi mdi-calendar-expand-horizontal mdi-24px'></i>` ,
121- `</div>` ,
122- `<div id="mmgisTimeUIFitWindow" class="mmgisTimeUIButton">` ,
123- `<i class='mdi mdi-calendar-clock mdi-24px'></i>` ,
124- `</div>` ,
125- `<div id="mmgisTimeUIFollowFeature" class="mmgisTimeUIButton">` ,
126- `<i class='mdi mdi-crosshairs-gps mdi-24px'></i>` ,
127- `</div>` ,
128- `<div id="mmgisTimeUIPresent" class="mmgisTimeUIButton">` ,
129- `<i class='mdi mdi-clock-end mdi-24px'></i>` ,
130- `<div id="mmgisTimeUIPresentProgress"></div>` ,
107+ `<div id="mmgisTimeUIActionsLeft">` ,
108+ `<div id='mmgisTimeUIMode'>` ,
109+ `<div id='mmgisTimeUIModeDropdown' class='ui dropdown short'></div>` ,
110+ `</div>` ,
111+ `<div id="mmgisTimeUIQuickSelectTrigger" class="mmgisTimeUIButton">` ,
112+ `<i class='mdi mdi-calendar-cursor mdi-24px'></i>` ,
113+ `</div>` ,
114+ `<div id="mmgisTimeUIPlayTrigger" class="mmgisTimeUIButton">` ,
115+ `<i class='mdi mdi-movie mdi-24px'></i>` ,
116+ `</div>` ,
117+ `<div class="vertDiv"></div>` ,
131118 `</div>` ,
132119 ] . join ( '\n' )
133120 }
134121
135122 markup += [
136- `</div>` ,
137123 `<div id="mmgisTimeUIMain">` ,
138124 `<div class="mmgisTimeUIInput" id="mmgisTimeUIStartWrapper">` ,
139125 `<span>Start Time</span>` ,
@@ -214,26 +200,26 @@ const TimeUI = {
214200 ] . join ( '\n' )
215201 }
216202
217- // Put the timeline separately if mobile
203+ // Put the expanded content separately if mobile
218204 if ( L_ . UserInterface_ ?. isMobile === true ) {
219205 markup += [
220- `<div id="mmgisTimeUITimeline">` ,
221- `<div id="mmgisTimeUITimelineExtent"></div>` ,
222- `<div id="mmgisTimeUITimelinePlayExtent"></div>` ,
223- `<div id="mmgisTimeUITimelineHisto"></div>` ,
224- `<div id="mmgisTimeUITimelineInner"></div>` ,
225- `<div id='mmgisTimeUITimelineSlider' class='svelteSlider'></div>` ,
206+ `<div id="mmgisTimeUIExpandedContent" class="show">` ,
207+ `<div id="mmgisTimeUIYearsRow" class="mmgisTimeUIExpandedRow">` ,
208+ `<div id="mmgisTimeUIYearsRange" class="mmgisTimeUIExpandedRowRange"></div>` ,
209+ `<div id="mmgisTimeUIYearsContainer" class="mmgisTimeUIExpandedRowContainer"></div>` ,
210+ `</div>` ,
211+ `<div id="mmgisTimeUIMonthsRow" class="mmgisTimeUIExpandedRow">` ,
212+ `<div id="mmgisTimeUIMonthsRange" class="mmgisTimeUIExpandedRowRange"></div>` ,
213+ `<div id="mmgisTimeUIMonthsContainer" class="mmgisTimeUIExpandedRowContainer"></div>` ,
214+ `</div>` ,
215+ `<div id="mmgisTimeUIDaysRow" class="mmgisTimeUIExpandedRow">` ,
216+ `<div id="mmgisTimeUIDaysRange" class="mmgisTimeUIExpandedRowRange"></div>` ,
217+ `<div id="mmgisTimeUIDaysContainer" class="mmgisTimeUIExpandedRowContainer"></div>` ,
226218 `</div>` ,
227219 ] . join ( '\n' )
228220 }
229221
230222 markup += [
231- /*
232- `<div id="mmgisTimeUICurrentWrapper">`,
233- `<div>Active Time</div>`,
234- `<div id="mmgisTimeUICurrentTime"></div>`,
235- `</div>`,
236- */
237223 `</div>`
238224 ] . join ( '\n' )
239225
@@ -344,6 +330,10 @@ const TimeUI = {
344330 return { dateString, additionalSeconds }
345331 } ,
346332 alignPopovers ( e ) {
333+ if ( L_ . UserInterface_ ?. isMobile === true ) {
334+ return
335+ }
336+
347337 if ( e == null ) {
348338 let bcr = $ ( `#mmgisTimeUIQuickSelectTrigger` )
349339 . get ( 0 )
@@ -1208,6 +1198,26 @@ const TimeUI = {
12081198 TimeUI . _restoreFollowFromDeeplink ( )
12091199 } , 2000 )
12101200 }
1201+
1202+ if ( L_ . UserInterface_ ?. isMobile === true ) {
1203+ d3 . select ( '#mmgisTimeUIExpandedContent' )
1204+ . style ( 'position' , 'absolute' )
1205+ . style ( 'top' , '100px' )
1206+
1207+ // Shift to view the selected elements in the expanded timeline
1208+ const containers = [ 'mmgisTimeUIYearsContainer' , 'mmgisTimeUIMonthsContainer' , 'mmgisTimeUIDaysContainer' ]
1209+ for ( let container in containers ) {
1210+ let found = document . querySelectorAll ( `#${ containers [ container ] } > .selected` )
1211+ if ( found . length > 0 ) {
1212+ found [ 0 ] . scrollIntoView ( )
1213+ }
1214+ }
1215+
1216+ // FIXME Improve time pickers for mobile mode?
1217+ // Do not allow users to edit using the start/time pickers
1218+ d3 . select ( '#mmgisTimeUIMain' )
1219+ . style ( 'pointer-events' , 'none' )
1220+ }
12111221 } ,
12121222 changeMode ( idx ) {
12131223 TimeUI . modeIndex = idx
@@ -1778,6 +1788,10 @@ const TimeUI = {
17781788 toggleExpanded ( ) {
17791789 TimeUI . expanded = ! TimeUI . expanded
17801790
1791+ if ( L_ . UserInterface_ ?. isMobile === true ) {
1792+ TimeUI . expanded = true
1793+ }
1794+
17811795 if ( TimeUI . expanded ) {
17821796 // Expand the TimeUI
17831797 $ ( '#timeUI' ) . addClass ( 'expanded' )
@@ -2283,6 +2297,10 @@ const TimeUI = {
22832297 waitForActiveFeature ( )
22842298 } ,
22852299 _remakeTimeSlider ( ignoreHistogram ) {
2300+ if ( L_ . UserInterface_ ?. isMobile === true ) {
2301+ return
2302+ }
2303+
22862304 const rangeMode =
22872305 TimeUI . modes [ TimeUI . modeIndex ] === 'Range' ? true : false
22882306
@@ -3025,6 +3043,10 @@ const TimeUI = {
30253043 TimeUI . _remakeTimeSlider ( true )
30263044 } ,
30273045 _updateBottomUIHeight ( ) {
3046+ if ( L_ . UserInterface_ ?. isMobile === true ) {
3047+ return
3048+ }
3049+
30283050 const active = ! $ ( '#toggleTimeUI' ) . hasClass ( 'active' )
30293051
30303052 const defaultExpanded = $ ( '#timeUI' ) . hasClass ( 'expanded' )
@@ -3074,7 +3096,7 @@ function interfaceWithMMWebGIS() {
30743096 //Add the markup to tools or do it manually
30753097 //tools.html(markup)
30763098
3077- TimeUI . init ( null , true )
3099+ TimeUI . init ( TimeUI . timeChange , true )
30783100
30793101 function separateFromMMWebGIS ( ) {
30803102 let tools = d3 . select ( '#tools' )
0 commit comments