(context, { from, to, using, over })
| 8862 | return new _TransitionCommand(propExprs, from, to, usingExpr, over); |
| 8863 | } |
| 8864 | resolve(context, { from, to, using, over }) { |
| 8865 | var cmd = this; |
| 8866 | var runtime2 = context.meta.runtime; |
| 8867 | var target; |
| 8868 | if (this.propExprs[0].root) { |
| 8869 | target = this.propExprs[0].root.evaluate(context); |
| 8870 | runtime2.nullCheck(target, this.propExprs[0].root); |
| 8871 | } else { |
| 8872 | target = context.me; |
| 8873 | } |
| 8874 | var promises = []; |
| 8875 | runtime2.implicitLoop(target, function(target2) { |
| 8876 | promises.push(new Promise(function(resolve) { |
| 8877 | var initialTransition = target2.style.transition; |
| 8878 | if (over) { |
| 8879 | target2.style.transition = "all " + over + "ms ease-in"; |
| 8880 | } else if (using) { |
| 8881 | target2.style.transition = using; |
| 8882 | } else { |
| 8883 | target2.style.transition = config.defaultTransition; |
| 8884 | } |
| 8885 | var internalData = runtime2.getInternalData(target2); |
| 8886 | if (!internalData.transitionInitials) internalData.transitionInitials = {}; |
| 8887 | var initialValues = internalData.transitionInitials; |
| 8888 | for (var j = 0; j < cmd.propExprs.length; j++) { |
| 8889 | if (!(j in initialValues)) { |
| 8890 | initialValues[j] = cmd.propExprs[j].evaluate(context); |
| 8891 | } |
| 8892 | } |
| 8893 | for (var j = 0; j < cmd.propExprs.length; j++) { |
| 8894 | if (from[j] != null) { |
| 8895 | var lhs = {}; |
| 8896 | for (var key in cmd.propExprs[j].lhs) { |
| 8897 | var e = cmd.propExprs[j].lhs[key]; |
| 8898 | lhs[key] = e && e.evaluate ? e.evaluate(context) : e; |
| 8899 | } |
| 8900 | cmd.propExprs[j].set(context, lhs, from[j]); |
| 8901 | } |
| 8902 | } |
| 8903 | var transitionStarted = false; |
| 8904 | var resolved = false; |
| 8905 | target2.addEventListener("transitionend", function() { |
| 8906 | if (!resolved) { |
| 8907 | target2.style.transition = initialTransition; |
| 8908 | resolved = true; |
| 8909 | resolve(); |
| 8910 | } |
| 8911 | }, { once: true }); |
| 8912 | target2.addEventListener("transitionstart", function() { |
| 8913 | transitionStarted = true; |
| 8914 | }, { once: true }); |
| 8915 | setTimeout(function() { |
| 8916 | if (!resolved && !transitionStarted) { |
| 8917 | target2.style.transition = initialTransition; |
| 8918 | resolved = true; |
| 8919 | resolve(); |
| 8920 | } |
| 8921 | }, 100); |
nothing calls this directly
no test coverage detected