()
| 1169 | }; |
| 1170 | |
| 1171 | function triggerAnimationStart() { |
| 1172 | // just incase a stagger animation kicks in when the animation |
| 1173 | // itself was cancelled entirely |
| 1174 | if (animationClosed) return; |
| 1175 | |
| 1176 | applyBlocking(false); |
| 1177 | |
| 1178 | forEach(temporaryStyles, function(entry) { |
| 1179 | var key = entry[0]; |
| 1180 | var value = entry[1]; |
| 1181 | node.style[key] = value; |
| 1182 | }); |
| 1183 | |
| 1184 | applyAnimationClasses(element, options); |
| 1185 | $$jqLite.addClass(element, activeClasses); |
| 1186 | |
| 1187 | if (flags.recalculateTimingStyles) { |
| 1188 | fullClassName = node.className + ' ' + setupClasses; |
| 1189 | cacheKey = gcsHashFn(node, fullClassName); |
| 1190 | |
| 1191 | timings = computeTimings(node, fullClassName, cacheKey); |
| 1192 | relativeDelay = timings.maxDelay; |
| 1193 | maxDelay = Math.max(relativeDelay, 0); |
| 1194 | maxDuration = timings.maxDuration; |
| 1195 | |
| 1196 | if (maxDuration === 0) { |
| 1197 | close(); |
| 1198 | return; |
| 1199 | } |
| 1200 | |
| 1201 | flags.hasTransitions = timings.transitionDuration > 0; |
| 1202 | flags.hasAnimations = timings.animationDuration > 0; |
| 1203 | } |
| 1204 | |
| 1205 | if (flags.applyTransitionDelay || flags.applyAnimationDelay) { |
| 1206 | relativeDelay = typeof options.delay !== "boolean" && truthyTimingValue(options.delay) |
| 1207 | ? parseFloat(options.delay) |
| 1208 | : relativeDelay; |
| 1209 | |
| 1210 | maxDelay = Math.max(relativeDelay, 0); |
| 1211 | |
| 1212 | var delayStyle; |
| 1213 | if (flags.applyTransitionDelay) { |
| 1214 | timings.transitionDelay = relativeDelay; |
| 1215 | delayStyle = getCssDelayStyle(relativeDelay); |
| 1216 | temporaryStyles.push(delayStyle); |
| 1217 | node.style[delayStyle[0]] = delayStyle[1]; |
| 1218 | } |
| 1219 | |
| 1220 | if (flags.applyAnimationDelay) { |
| 1221 | timings.animationDelay = relativeDelay; |
| 1222 | delayStyle = getCssDelayStyle(relativeDelay, true); |
| 1223 | temporaryStyles.push(delayStyle); |
| 1224 | node.style[delayStyle[0]] = delayStyle[1]; |
| 1225 | } |
| 1226 | } |
| 1227 | |
| 1228 | maxDelayTime = maxDelay * ONE_SECOND; |
no test coverage detected