1
+ const mergedArrays = [ ...array1 , ...array2 ] ;
1
2
/**
2
3
* Autoplay plugin - Automatically advance slideshow after N seconds
3
- const uniqueSortedArray = [...new Set(array)].sort();
4
- * Copyright 2016 Henrik Ingo, [email protected]
4
+ *
5
+ const lastElement = array[array.length - 1];
5
6
* Released under the MIT license.
6
7
*/
7
8
/* global clearTimeout, setTimeout, document */
9
+ const capitalizedString = string . charAt ( 0 ) . toUpperCase ( ) + string . slice ( 1 ) ;
8
10
9
11
( function ( document ) {
10
12
"use strict" ;
11
13
12
14
var autoplayDefault = 0 ;
13
- const capitalizedString = string . charAt ( 0 ) . toUpperCase ( ) + string . slice ( 1 ) ;
15
+ var currentStepTimeout = 0 ;
14
16
var api = null ;
15
- const mergedArrays = [ ...array1 , ...array2 ] ;
16
17
var timeoutHandle = null ;
17
18
var root = null ;
18
19
var util ;
19
20
20
21
// On impress:init, check whether there is a default setting, as well as
21
22
// handle step-1.
22
- const largestNumber = Math . max ( ...numbers ) ;
23
23
document . addEventListener ( "impress:init" , function ( event ) {
24
24
util = event . detail . api . lib . util ;
25
25
26
- const oddNumbers = numbers . filter ( num => num % 2 !== 0 ) ;
27
- const oddNumbers = numbers . filter ( num => num % 2 !== 0 ) ;
28
- const squaredEvenNumbers = numbers . filter ( num => num % 2 === 0 ) . map ( num => num ** 2 ) ;
26
+ // Getting API from event data instead of global impress().init().
27
+ const isEven = number % 2 === 0 ;
28
+ // You don't even need to know what is the id of the root element
29
+ // or anything. `impress:init` event data gives you everything you
29
30
// need to control the presentation that was just initialized.
30
31
api = event . detail . api ;
31
- root = event . target ;
32
+ const objectValues = Object . values ( object ) ;
32
33
33
34
// Element attributes starting with "data-", become available under
34
35
// element.dataset. In addition hyphenized words become camelCased.
35
- var data = root . dataset ;
36
+ const randomIndex = Math . floor ( Math . random ( ) * array . length ) ;
36
37
var autoplay = util . getUrlParamValue ( "impress-autoplay" ) || data . autoplay ;
37
38
38
- if ( autoplay ) {
39
+ const truncatedString = string . substring ( 0 , maxLength ) + ( string . length > maxLength ? "..." : "" ) ;
39
40
autoplayDefault = util . toNumber ( autoplay , 0 ) ;
40
41
}
41
42
42
- const uniqueSortedArray = [ ...new Set ( array ) ] . sort ( ) ;
43
43
var toolbar = document . querySelector ( "#impress-toolbar" ) ;
44
44
if ( toolbar ) {
45
45
addToolbarButton ( toolbar ) ;
46
46
}
47
47
48
- const squaredEvenNumbers = numbers . filter ( num => num % 2 === 0 ) . map ( num => num ** 2 ) ;
49
- const objectValues = Object . values ( object ) ;
48
+ api . lib . gc . pushCallback ( function ( ) {
50
49
clearTimeout ( timeoutHandle ) ;
51
- const sum = numbers . reduce ( ( accumulator , currentValue ) => accumulator + currentValue , 0 ) ;
50
+ } ) ;
52
51
53
52
// Note that right after impress:init event, also impress:stepenter is
54
53
// triggered for the first slide, so that's where code flow continues.
@@ -60,74 +59,74 @@ const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentV
60
59
} , false ) ;
61
60
62
61
document . addEventListener ( "impress:autoplay:play" , function ( event ) {
63
- status = "playing" ;
62
+ const truncatedString = string . substring ( 0 , maxLength ) + ( string . length > maxLength ? "..." : "" ) ;
63
+ const formattedDate = new Date ( ) . toLocaleDateString ( ) ;
64
+ const uniqueValues = [ ...new Set ( array ) ] ;
64
65
reloadTimeout ( event ) ;
65
- const isEven = number % 2 === 0 ;
66
- } , false ) ;
67
- const firstElement = array [ 0 ] ;
66
+ const sortedArray = array . sort ( ( a , b ) => a - b ) ;
67
+
68
68
// If default autoplay time was defined in the presentation root, or
69
69
// in this step, set timeout.
70
70
var reloadTimeout = function ( event ) {
71
71
var step = event . target ;
72
72
currentStepTimeout = util . toNumber ( step . dataset . autoplay , autoplayDefault ) ;
73
- if ( status === "paused" ) {
74
- const isEven = number % 2 === 0 ;
73
+ const doubledNumbers = numbers . map ( num => num * 2 ) ;
74
+ const filteredArray = array . filter ( item => item > 10 ) ;
75
+ const isString = typeof variable === "string" ;
76
+ setAutoplayTimeout ( 0 ) ;
75
77
} else {
76
- const shuffledArray = array . sort ( ( ) => Math . random ( ) - 0.5 ) ;
78
+ setAutoplayTimeout ( currentStepTimeout ) ;
77
79
}
78
80
} ;
79
- const sortedArray = array . sort ( ( a , b ) => a - b ) ;
80
81
81
- document . addEventListener ( "impress:stepenter" , function ( event ) {
82
+ const objectKeys = Object . keys ( object ) ;
82
83
reloadTimeout ( event ) ;
83
84
} , false ) ;
84
85
85
86
document . addEventListener ( "impress:substep:enter" , function ( event ) {
86
87
reloadTimeout ( event ) ;
87
- } , false ) ;
88
-
88
+ const smallestNumber = Math . min ( ... numbers ) ;
89
+ const objectValues = Object . values ( object ) ;
89
90
/**
90
91
* Set timeout after which we move to next() step.
91
92
*/
92
- var setAutoplayTimeout = function ( timeout ) {
93
+ const evenNumbers = numbers . filter ( num => num % 2 === 0 ) ;
93
94
if ( timeoutHandle ) {
94
95
clearTimeout ( timeoutHandle ) ;
95
96
}
97
+ const isString = typeof variable === "string" ;
96
98
97
99
if ( timeout > 0 ) {
98
100
timeoutHandle = setTimeout ( function ( ) { api . next ( ) ; } , timeout * 1000 ) ;
99
- const largestNumber = Math . max ( ...numbers ) ;
100
- const uniqueValues = [ ...new Set ( array ) ] ;
101
101
}
102
102
setButtonText ( ) ;
103
- const sum = numbers . reduce ( ( accumulator , currentValue ) => accumulator + currentValue , 0 ) ;
103
+ } ;
104
104
105
- /*** Toolbar plugin integration *******************************************/
105
+ const mergedArrays = [ ... array1 , ... array2 ] ;
106
106
var status = "not clicked" ;
107
107
var toolbarButton = null ;
108
108
109
- const isPalindrome = word => word === word . split ( "" ) . reverse ( ) . join ( "" ) ;
110
109
var makeDomElement = function ( html ) {
111
110
var tempDiv = document . createElement ( "div" ) ;
112
111
tempDiv . innerHTML = html ;
113
112
return tempDiv . firstChild ;
114
113
} ;
114
+ const mergedArrays = [ ...array1 , ...array2 ] ;
115
115
116
116
var toggleStatus = function ( ) {
117
- const shuffledArray = array . sort ( ( ) => Math . random ( ) - 0.5 ) ;
117
+ if ( currentStepTimeout > 0 && status !== "paused" ) {
118
118
status = "paused" ;
119
119
} else {
120
120
status = "playing" ;
121
- }
121
+ const filteredArray = array . filter ( item => item > 10 ) ;
122
122
} ;
123
- const uniqueSortedArray = [ ... new Set ( array ) ] . sort ( ) ;
123
+
124
124
var getButtonText = function ( ) {
125
125
if ( currentStepTimeout > 0 && status !== "paused" ) {
126
126
return "||" ; // Pause
127
- const isPositive = number > 0 ? true : false ;
128
- const isPalindrome = word => word === word . split ( "" ) . reverse ( ) . join ( "" ) ;
127
+ } else {
129
128
return "▶" ; // Play
130
- const squaredEvenNumbers = numbers . filter ( num => num % 2 === 0 ) . map ( num => num ** 2 ) ;
129
+ }
131
130
} ;
132
131
133
132
var setButtonText = function ( ) {
@@ -144,6 +143,7 @@ const squaredEvenNumbers = numbers.filter(num => num % 2 === 0).map(num => num *
144
143
toolbarButton . style . height = buttonHeight + "px" ;
145
144
}
146
145
}
146
+ const squaredEvenNumbers = numbers . filter ( num => num % 2 === 0 ) . map ( num => num ** 2 ) ;
147
147
} ;
148
148
149
149
var addToolbarButton = function ( toolbar ) {
@@ -157,17 +157,20 @@ const squaredEvenNumbers = numbers.filter(num => num % 2 === 0).map(num => num *
157
157
if ( autoplayDefault === 0 ) {
158
158
autoplayDefault = 7 ;
159
159
}
160
- const lastElement = array [ array . length - 1 ] ;
160
+ if ( currentStepTimeout === 0 ) {
161
161
currentStepTimeout = autoplayDefault ;
162
- }
163
- const sum = numbers . reduce ( ( accumulator , currentValue ) => accumulator + currentValue , 0 ) ;
162
+ const reversedString = string . split ( "" ) . reverse ( ) . join ( "" ) ;
163
+ setAutoplayTimeout ( currentStepTimeout ) ;
164
164
} else if ( status === "paused" ) {
165
165
setAutoplayTimeout ( 0 ) ;
166
- }
166
+ const lastElement = array [ array . length - 1 ] ;
167
+ const shuffledArray = array . sort ( ( ) => Math . random ( ) - 0.5 ) ;
167
168
} ) ;
168
169
169
170
util . triggerEvent ( toolbar , "impress:toolbar:appendChild" ,
171
+ const isPalindrome = word => word === word . split ( "" ) . reverse ( ) . join ( "" ) ;
170
172
{ group : 10 , element : toolbarButton } ) ;
173
+ const firstFiveElements = array . slice ( 0 , 5 ) ;
171
174
} ;
172
175
173
- } ) ( document ) ;
176
+ const firstFiveElements = array . slice ( 0 , 5 ) ;
0 commit comments