@@ -42,25 +42,32 @@ class UI {
4242 document . getElementById ( 'byDays' ) . innerHTML = null ;
4343 }
4444
45- setUIForDonutChart ( ) {
45+ setUIForDonutChart ( ) {
4646 document . getElementById ( 'donutChartBtn' ) . classList . add ( 'active' ) ;
4747 document . getElementById ( 'heatMapChartBtn' ) . classList . remove ( 'active' ) ;
4848 document . getElementById ( 'timeChart' ) . innerHTML = null ;
4949 }
5050
51- setUIForTimeChart ( ) {
51+ setUIForTimeChart ( ) {
5252 document . getElementById ( 'donutChartBtn' ) . classList . remove ( 'active' ) ;
5353 document . getElementById ( 'heatMapChartBtn' ) . classList . add ( 'active' ) ;
5454 document . getElementById ( 'chart' ) . innerHTML = null ;
5555 }
5656
57- createTotalBlock ( totalTime ) {
57+ createTotalBlock ( totalTime , currentTypeOfList , counter ) {
5858 var totalElement = document . getElementById ( 'total' ) ;
5959
60- var spanTitle = this . createElement ( 'span' , [ 'title' ] , 'Total: ' ) ;
61- var spanTime = this . createElement ( 'span' , [ 'span-time' ] , convertSummaryTimeToString ( totalTime ) ) ;
60+ var spanVisits = this . createElement ( 'span' , [ 'span-visits' , 'tooltip' , 'visits' ] , counter !== undefined ? counter : 0 ) ;
61+ var visitsTooltip = this . createElement ( 'span' , [ 'tooltiptext' ] , 'Count of visits' ) ;
62+ spanVisits . appendChild ( visitsTooltip ) ;
6263
63- totalElement = this . appendChild ( totalElement , [ spanTitle , spanTime ] ) ;
64+ var spanPercentage = this . createElement ( 'span' , [ 'span-percentage' ] , '100 %' ) ;
65+
66+ var div = this . createElement ( 'div' , [ 'margin-left-5' , 'total-block' ] , 'Total' ) ;
67+ var span = this . createElement ( 'span' , [ 'span-time' ] ) ;
68+ this . createElementsForTotalTime ( totalTime , currentTypeOfList , span ) ;
69+
70+ this . appendChild ( totalElement , [ div , spanVisits , spanPercentage , span ] ) ;
6471 }
6572
6673 fillEmptyBlock ( elementName ) {
@@ -196,7 +203,8 @@ class UI {
196203 spanVisits . appendChild ( visitsTooltip ) ;
197204
198205 var spanPercentage = this . createElement ( 'span' , [ 'span-percentage' ] , getPercentage ( summaryTime ) ) ;
199- var spanTime = this . createElement ( 'span' , [ 'span-time' ] , convertSummaryTimeToString ( summaryTime ) ) ;
206+ var spanTime = this . createElement ( 'span' , [ 'span-time' ] ) ;
207+ this . createElementsForTotalTime ( summaryTime , typeOfList , spanTime ) ;
200208
201209 div = this . appendChild ( div , [ divForImg , spanUrl , spanVisits , spanPercentage , spanTime ] ) ;
202210 if ( blockName !== undefined )
@@ -205,6 +213,30 @@ class UI {
205213 this . getTableOfSite ( ) . appendChild ( div ) ;
206214 }
207215
216+ createElementsForTotalTime ( summaryTime , typeOfList , parentElement ) {
217+ var arr = getArrayTime ( summaryTime ) ;
218+ var isNextPartActiv = false ;
219+ var getCssClass = function ( item ) {
220+ if ( item > 0 ) {
221+ isNextPartActiv = true ;
222+ return [ 'span-active-time' ] ;
223+ }
224+ else {
225+ if ( isNextPartActiv )
226+ return [ 'span-active-time' ] ;
227+ return null ;
228+ }
229+ } ;
230+ if ( typeOfList === TypeListEnum . All ) {
231+ var spanForDays = this . createElement ( 'span' , getCssClass ( arr . days ) , arr . days + 'd ' ) ;
232+ this . appendChild ( parentElement , [ spanForDays ] ) ;
233+ }
234+ var spanForHour = this . createElement ( 'span' , getCssClass ( arr . hours ) , arr . hours + 'h ' ) ;
235+ var spanForMin = this . createElement ( 'span' , getCssClass ( arr . mins ) , arr . mins + 'm ' ) ;
236+ var spanForSec = this . createElement ( 'span' , getCssClass ( arr . seconds ) , arr . seconds + 's ' ) ;
237+ this . appendChild ( parentElement , [ spanForHour , spanForMin , spanForSec ] ) ;
238+ }
239+
208240 addExpander ( ) {
209241 if ( document . getElementById ( 'expander' ) === null ) {
210242 var div = this . createElement ( 'div' , [ 'expander' ] , 'Show all' ) ;
@@ -227,7 +259,7 @@ class UI {
227259 barChart . id = 'barChart' ;
228260
229261 var from = this . createElement ( 'span' , null , 'From' ) ;
230- var to = this . createElement ( 'span' , null , 'To' ) ;
262+ var to = this . createElement ( 'span' , null , 'To' ) ;
231263
232264 var calendarFirst = document . createElement ( 'input' ) ;
233265 calendarFirst . id = 'dateFrom' ;
@@ -328,10 +360,10 @@ class UI {
328360 return resultList ;
329361 }
330362
331- createElement ( type , css , innerText ) {
363+ createElement ( type , css , innerText ) {
332364 var element = document . createElement ( type ) ;
333- if ( css !== undefined && css !== null ) {
334- for ( let i = 0 ; i < css . length ; i ++ )
365+ if ( css !== undefined && css !== null ) {
366+ for ( let i = 0 ; i < css . length ; i ++ )
335367 element . classList . add ( css [ i ] ) ;
336368 }
337369 if ( innerText !== undefined )
@@ -340,8 +372,8 @@ class UI {
340372 return element ;
341373 }
342374
343- appendChild ( element , children ) {
344- for ( let i = 0 ; i < children . length ; i ++ )
375+ appendChild ( element , children ) {
376+ for ( let i = 0 ; i < children . length ; i ++ )
345377 element . appendChild ( children [ i ] ) ;
346378
347379 return element ;
0 commit comments