pace-rails 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -10
  3. data/app/assets/javascripts/pace/pace.js +167 -53
  4. data/app/assets/stylesheets/pace/pace-theme-barber-shop.css +2 -1
  5. data/app/assets/stylesheets/pace/pace-theme-big-counter.css +1 -1
  6. data/app/assets/stylesheets/pace/pace-theme-bounce.css +1 -0
  7. data/app/assets/stylesheets/pace/pace-theme-center-atom.css +170 -0
  8. data/app/assets/stylesheets/pace/pace-theme-center-circle.css +2 -1
  9. data/app/assets/stylesheets/pace/pace-theme-center-radar.css +2 -1
  10. data/app/assets/stylesheets/pace/pace-theme-center-simple.css +54 -0
  11. data/app/assets/stylesheets/pace/pace-theme-corner-indicator.css +2 -1
  12. data/app/assets/stylesheets/pace/pace-theme-fill-left.css +2 -1
  13. data/app/assets/stylesheets/pace/pace-theme-flash.css +2 -1
  14. data/app/assets/stylesheets/pace/pace-theme-flat-top.css +1 -0
  15. data/app/assets/stylesheets/pace/pace-theme-loading-bar.css +1 -0
  16. data/app/assets/stylesheets/pace/pace-theme-mac-osx.css +2 -1
  17. data/app/assets/stylesheets/pace/pace-theme-minimal.css +2 -1
  18. data/lib/pace/rails/version.rb +1 -1
  19. data/pace-rails.gemspec +1 -1
  20. data/vendor/assets/javascripts/pace/pace.js +167 -53
  21. data/vendor/assets/stylesheets/pace/pace-theme-barber-shop.css +2 -1
  22. data/vendor/assets/stylesheets/pace/pace-theme-big-counter.css +1 -1
  23. data/vendor/assets/stylesheets/pace/pace-theme-bounce.css +1 -0
  24. data/vendor/assets/stylesheets/pace/pace-theme-center-atom.css +170 -0
  25. data/vendor/assets/stylesheets/pace/pace-theme-center-circle.css +2 -1
  26. data/vendor/assets/stylesheets/pace/pace-theme-center-radar.css +2 -1
  27. data/vendor/assets/stylesheets/pace/pace-theme-center-simple.css +54 -0
  28. data/vendor/assets/stylesheets/pace/pace-theme-corner-indicator.css +2 -1
  29. data/vendor/assets/stylesheets/pace/pace-theme-fill-left.css +2 -1
  30. data/vendor/assets/stylesheets/pace/pace-theme-flash.css +2 -1
  31. data/vendor/assets/stylesheets/pace/pace-theme-flat-top.css +1 -0
  32. data/vendor/assets/stylesheets/pace/pace-theme-loading-bar.css +1 -0
  33. data/vendor/assets/stylesheets/pace/pace-theme-mac-osx.css +2 -1
  34. data/vendor/assets/stylesheets/pace/pace-theme-minimal.css +2 -1
  35. metadata +8 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb08650aa3410a0876b64430f14badaba95eaa44
4
- data.tar.gz: 3443fc86c8a6e31a9adc062a4b497cbe11e08e4e
3
+ metadata.gz: f8bd2b7c4688e2be06055c6461bd0a4d68b99802
4
+ data.tar.gz: e106f958b260e65850b54cc8eb58c96cd5135e4c
5
5
  SHA512:
6
- metadata.gz: 24bb06fd4a47c369e32e1d8493f836d23e2226a962253f5934ba6c147f4c45604d730109c49759d6c1105d4bc5c08a4162bbacd43b9fe542e54f0e6b80c4f2d4
7
- data.tar.gz: 517da5d976d78459f39459f777bf1406dc4af2697b79bb542ea60c162d70166831f4fc5ca4a39de1067c0e433702ae21be5a580c3ad0a8956f26508cfb42e979
6
+ metadata.gz: ff0b8f9621b0a639aba19afcc4727ee67be8bcecf82d7f715b69bb71008b67ed8866eedfb52b1ee30e2aad53d21e62907c33ec4745f465747882ff6d7c9689d5
7
+ data.tar.gz: f3ca9752efe4d6fcc568fd7d3dabb8e6884acf65075ce325bbbb7b19f9a8a5da18f298b3122f26e5ce65b02af76917dd6be1c3a265ab921dc4028b3cc30894dc
data/README.md CHANGED
@@ -26,26 +26,32 @@ Pace supports a few themes, selec one of the following and have fun and create y
26
26
  app/assets/stylesheets/application.css
27
27
 
28
28
  *= require pace/pace-theme-minimal
29
-
30
- *= require pace/pace-theme-flash
31
29
 
32
- *= require pace/pace-theme-barber-shop
30
+ *= require pace/pace-theme-mac-osx
31
+
32
+ *= require pace/pace-theme-loading-bar
33
+
34
+ *= require pace/pace-theme-flat-top
33
35
 
34
- *= require pace/pace-theme-mac-osx
36
+ *= require pace/pace-theme-flash
35
37
 
36
38
  *= require pace/pace-theme-fill-left
37
39
 
38
- *= require pace/pace-theme-flat-top
40
+ *= require pace/pace-theme-corner-indicator
39
41
 
40
- *= require pace/pace-theme-big-counter
42
+ *= require pace/pace-theme-center-simple
41
43
 
42
- *= require pace/pace-theme-corner-indicator
44
+ *= require pace/pace-theme-center-radar
43
45
 
44
- *= require pace/pace-theme-bounce
46
+ *= require pace/pace-theme-center-circle
45
47
 
46
- *= require pace/pace-theme-center-radar
48
+ *= require pace/pace-theme-center-atom
47
49
 
48
- *= require pace/pace-theme-loading-bar
50
+ *= require pace/pace-theme-bounce
51
+
52
+ *= require pace/pace-theme-big-counter
53
+
54
+ *= require pace/pace-theme-barber-shop
49
55
 
50
56
  You may need to restart your rails server.
51
57
 
@@ -1,5 +1,5 @@
1
1
  (function() {
2
- var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Events, NoTargetError, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldTrack, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _intercept, _pushState, _ref, _replaceState,
2
+ var AjaxMonitor, Bar, DocumentMonitor, ElementMonitor, ElementTracker, EventLagMonitor, Evented, Events, NoTargetError, RequestIntercept, SOURCE_KEYS, Scaler, SocketRequestTracker, XHRRequestTracker, animation, avgAmplitude, bar, cancelAnimation, cancelAnimationFrame, defaultOptions, extend, extendNative, getFromDOM, getIntercept, handlePushState, ignoreStack, init, now, options, requestAnimationFrame, result, runAnimation, scalers, shouldIgnoreURL, shouldTrack, source, sources, uniScaler, _WebSocket, _XDomainRequest, _XMLHttpRequest, _i, _intercept, _len, _pushState, _ref, _ref1, _replaceState,
3
3
  __slice = [].slice,
4
4
  __hasProp = {}.hasOwnProperty,
5
5
  __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
@@ -27,7 +27,8 @@
27
27
  },
28
28
  ajax: {
29
29
  trackMethods: ['GET'],
30
- trackWebSockets: false
30
+ trackWebSockets: true,
31
+ ignoreURLs: []
31
32
  }
32
33
  };
33
34
 
@@ -132,18 +133,97 @@
132
133
  }
133
134
  };
134
135
 
136
+ Evented = (function() {
137
+ function Evented() {}
138
+
139
+ Evented.prototype.on = function(event, handler, ctx, once) {
140
+ var _base;
141
+ if (once == null) {
142
+ once = false;
143
+ }
144
+ if (this.bindings == null) {
145
+ this.bindings = {};
146
+ }
147
+ if ((_base = this.bindings)[event] == null) {
148
+ _base[event] = [];
149
+ }
150
+ return this.bindings[event].push({
151
+ handler: handler,
152
+ ctx: ctx,
153
+ once: once
154
+ });
155
+ };
156
+
157
+ Evented.prototype.once = function(event, handler, ctx) {
158
+ return this.on(event, handler, ctx, true);
159
+ };
160
+
161
+ Evented.prototype.off = function(event, handler) {
162
+ var i, _ref, _results;
163
+ if (((_ref = this.bindings) != null ? _ref[event] : void 0) == null) {
164
+ return;
165
+ }
166
+ if (handler == null) {
167
+ return delete this.bindings[event];
168
+ } else {
169
+ i = 0;
170
+ _results = [];
171
+ while (i < this.bindings[event].length) {
172
+ if (this.bindings[event][i].handler === handler) {
173
+ _results.push(this.bindings[event].splice(i, 1));
174
+ } else {
175
+ _results.push(i++);
176
+ }
177
+ }
178
+ return _results;
179
+ }
180
+ };
181
+
182
+ Evented.prototype.trigger = function() {
183
+ var args, ctx, event, handler, i, once, _ref, _ref1, _results;
184
+ event = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
185
+ if ((_ref = this.bindings) != null ? _ref[event] : void 0) {
186
+ i = 0;
187
+ _results = [];
188
+ while (i < this.bindings[event].length) {
189
+ _ref1 = this.bindings[event][i], handler = _ref1.handler, ctx = _ref1.ctx, once = _ref1.once;
190
+ handler.apply(ctx != null ? ctx : this, args);
191
+ if (once) {
192
+ _results.push(this.bindings[event].splice(i, 1));
193
+ } else {
194
+ _results.push(i++);
195
+ }
196
+ }
197
+ return _results;
198
+ }
199
+ };
200
+
201
+ return Evented;
202
+
203
+ })();
204
+
135
205
  if (window.Pace == null) {
136
206
  window.Pace = {};
137
207
  }
138
208
 
139
- options = Pace.options = extend(defaultOptions, window.paceOptions, getFromDOM());
209
+ extend(Pace, Evented.prototype);
210
+
211
+ options = Pace.options = extend({}, defaultOptions, window.paceOptions, getFromDOM());
212
+
213
+ _ref = ['ajax', 'document', 'eventLag', 'elements'];
214
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
215
+ source = _ref[_i];
216
+ if (options[source] === true) {
217
+ options[source] = defaultOptions[source];
218
+ }
219
+ }
140
220
 
141
221
  NoTargetError = (function(_super) {
142
222
  __extends(NoTargetError, _super);
143
223
 
144
224
  function NoTargetError() {
145
- _ref = NoTargetError.__super__.constructor.apply(this, arguments);
146
- return _ref;
225
+ _ref1 = NoTargetError.__super__.constructor.apply(this, arguments);
226
+ return _ref1;
147
227
  }
148
228
 
149
229
  return NoTargetError;
@@ -164,7 +244,7 @@
164
244
  }
165
245
  this.el = document.createElement('div');
166
246
  this.el.className = "pace pace-active";
167
- document.body.className = document.body.className.replace('pace-done', '');
247
+ document.body.className = document.body.className.replace(/pace-done/g, '');
168
248
  document.body.className += ' pace-running';
169
249
  this.el.innerHTML = '<div class="pace-progress">\n <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>';
170
250
  if (targetElement.firstChild != null) {
@@ -233,12 +313,12 @@
233
313
  }
234
314
 
235
315
  Events.prototype.trigger = function(name, val) {
236
- var binding, _i, _len, _ref1, _results;
316
+ var binding, _j, _len1, _ref2, _results;
237
317
  if (this.bindings[name] != null) {
238
- _ref1 = this.bindings[name];
318
+ _ref2 = this.bindings[name];
239
319
  _results = [];
240
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
241
- binding = _ref1[_i];
320
+ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
321
+ binding = _ref2[_j];
242
322
  _results.push(binding.call(this, val));
243
323
  }
244
324
  return _results;
@@ -302,7 +382,7 @@
302
382
  };
303
383
 
304
384
  shouldTrack = function(method) {
305
- var _ref1;
385
+ var _ref2;
306
386
  if (method == null) {
307
387
  method = 'GET';
308
388
  }
@@ -312,7 +392,7 @@
312
392
  if (!ignoreStack.length && options.ajax) {
313
393
  if (method === 'socket' && options.ajax.trackWebSockets) {
314
394
  return true;
315
- } else if (_ref1 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref1) >= 0) {
395
+ } else if (_ref2 = method.toUpperCase(), __indexOf.call(options.ajax.trackMethods, _ref2) >= 0) {
316
396
  return true;
317
397
  }
318
398
  }
@@ -359,7 +439,11 @@
359
439
  if ((_WebSocket != null) && options.ajax.trackWebSockets) {
360
440
  window.WebSocket = function(url, protocols) {
361
441
  var req;
362
- req = new _WebSocket(url, protocols);
442
+ if (protocols != null) {
443
+ req = new _WebSocket(url, protocols);
444
+ } else {
445
+ req = new _WebSocket(url);
446
+ }
363
447
  if (shouldTrack('socket')) {
364
448
  _this.trigger('request', {
365
449
  type: 'socket',
@@ -387,9 +471,30 @@
387
471
  return _intercept;
388
472
  };
389
473
 
474
+ shouldIgnoreURL = function(url) {
475
+ var pattern, _j, _len1, _ref2;
476
+ _ref2 = options.ajax.ignoreURLs;
477
+ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
478
+ pattern = _ref2[_j];
479
+ if (typeof pattern === 'string') {
480
+ if (url.indexOf(pattern) !== -1) {
481
+ return true;
482
+ }
483
+ } else {
484
+ if (pattern.test(url)) {
485
+ return true;
486
+ }
487
+ }
488
+ }
489
+ return false;
490
+ };
491
+
390
492
  getIntercept().on('request', function(_arg) {
391
- var after, args, request, type;
392
- type = _arg.type, request = _arg.request;
493
+ var after, args, request, type, url;
494
+ type = _arg.type, request = _arg.request, url = _arg.url;
495
+ if (shouldIgnoreURL(url)) {
496
+ return;
497
+ }
393
498
  if (!Pace.running && (options.restartOnRequestAfter !== false || shouldTrack(type) === 'force')) {
394
499
  args = arguments;
395
500
  after = options.restartOnRequestAfter || 0;
@@ -397,18 +502,18 @@
397
502
  after = 0;
398
503
  }
399
504
  return setTimeout(function() {
400
- var source, stillActive, _i, _len, _ref1, _ref2, _results;
505
+ var stillActive, _j, _len1, _ref2, _ref3, _results;
401
506
  if (type === 'socket') {
402
507
  stillActive = request.readyState < 2;
403
508
  } else {
404
- stillActive = (0 < (_ref1 = request.readyState) && _ref1 < 4);
509
+ stillActive = (0 < (_ref2 = request.readyState) && _ref2 < 4);
405
510
  }
406
511
  if (stillActive) {
407
512
  Pace.restart();
408
- _ref2 = Pace.sources;
513
+ _ref3 = Pace.sources;
409
514
  _results = [];
410
- for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
411
- source = _ref2[_i];
515
+ for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) {
516
+ source = _ref3[_j];
412
517
  if (source instanceof AjaxMonitor) {
413
518
  source.watch.apply(source, args);
414
519
  break;
@@ -432,8 +537,11 @@
432
537
  }
433
538
 
434
539
  AjaxMonitor.prototype.watch = function(_arg) {
435
- var request, tracker, type;
436
- type = _arg.type, request = _arg.request;
540
+ var request, tracker, type, url;
541
+ type = _arg.type, request = _arg.request, url = _arg.url;
542
+ if (shouldIgnoreURL(url)) {
543
+ return;
544
+ }
437
545
  if (type === 'socket') {
438
546
  tracker = new SocketRequestTracker(request);
439
547
  } else {
@@ -448,7 +556,7 @@
448
556
 
449
557
  XHRRequestTracker = (function() {
450
558
  function XHRRequestTracker(request) {
451
- var event, size, _i, _len, _onreadystatechange, _ref1,
559
+ var event, size, _j, _len1, _onreadystatechange, _ref2,
452
560
  _this = this;
453
561
  this.progress = 0;
454
562
  if (window.ProgressEvent != null) {
@@ -460,9 +568,9 @@
460
568
  return _this.progress = _this.progress + (100 - _this.progress) / 2;
461
569
  }
462
570
  });
463
- _ref1 = ['load', 'abort', 'timeout', 'error'];
464
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
465
- event = _ref1[_i];
571
+ _ref2 = ['load', 'abort', 'timeout', 'error'];
572
+ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
573
+ event = _ref2[_j];
466
574
  request.addEventListener(event, function() {
467
575
  return _this.progress = 100;
468
576
  });
@@ -470,8 +578,8 @@
470
578
  } else {
471
579
  _onreadystatechange = request.onreadystatechange;
472
580
  request.onreadystatechange = function() {
473
- var _ref2;
474
- if ((_ref2 = request.readyState) === 0 || _ref2 === 4) {
581
+ var _ref3;
582
+ if ((_ref3 = request.readyState) === 0 || _ref3 === 4) {
475
583
  _this.progress = 100;
476
584
  } else if (request.readyState === 3) {
477
585
  _this.progress = 50;
@@ -487,12 +595,12 @@
487
595
 
488
596
  SocketRequestTracker = (function() {
489
597
  function SocketRequestTracker(request) {
490
- var event, _i, _len, _ref1,
598
+ var event, _j, _len1, _ref2,
491
599
  _this = this;
492
600
  this.progress = 0;
493
- _ref1 = ['error', 'open'];
494
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
495
- event = _ref1[_i];
601
+ _ref2 = ['error', 'open'];
602
+ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
603
+ event = _ref2[_j];
496
604
  request.addEventListener(event, function() {
497
605
  return _this.progress = 100;
498
606
  });
@@ -505,7 +613,7 @@
505
613
 
506
614
  ElementMonitor = (function() {
507
615
  function ElementMonitor(options) {
508
- var selector, _i, _len, _ref1;
616
+ var selector, _j, _len1, _ref2;
509
617
  if (options == null) {
510
618
  options = {};
511
619
  }
@@ -513,9 +621,9 @@
513
621
  if (options.selectors == null) {
514
622
  options.selectors = [];
515
623
  }
516
- _ref1 = options.selectors;
517
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
518
- selector = _ref1[_i];
624
+ _ref2 = options.selectors;
625
+ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
626
+ selector = _ref2[_j];
519
627
  this.elements.push(new ElementTracker(selector));
520
628
  }
521
629
  }
@@ -558,9 +666,9 @@
558
666
  };
559
667
 
560
668
  function DocumentMonitor() {
561
- var _onreadystatechange, _ref1,
669
+ var _onreadystatechange, _ref2,
562
670
  _this = this;
563
- this.progress = (_ref1 = this.states[document.readyState]) != null ? _ref1 : 100;
671
+ this.progress = (_ref2 = this.states[document.readyState]) != null ? _ref2 : 100;
564
672
  _onreadystatechange = document.onreadystatechange;
565
673
  document.onreadystatechange = function() {
566
674
  if (_this.states[document.readyState] != null) {
@@ -695,18 +803,18 @@
695
803
  };
696
804
 
697
805
  (init = function() {
698
- var source, type, _i, _j, _len, _len1, _ref1, _ref2, _ref3;
806
+ var type, _j, _k, _len1, _len2, _ref2, _ref3, _ref4;
699
807
  Pace.sources = sources = [];
700
- _ref1 = ['ajax', 'elements', 'document', 'eventLag'];
701
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
702
- type = _ref1[_i];
808
+ _ref2 = ['ajax', 'elements', 'document', 'eventLag'];
809
+ for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
810
+ type = _ref2[_j];
703
811
  if (options[type] !== false) {
704
812
  sources.push(new SOURCE_KEYS[type](options[type]));
705
813
  }
706
814
  }
707
- _ref3 = (_ref2 = options.extraSources) != null ? _ref2 : [];
708
- for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) {
709
- source = _ref3[_j];
815
+ _ref4 = (_ref3 = options.extraSources) != null ? _ref3 : [];
816
+ for (_k = 0, _len2 = _ref4.length; _k < _len2; _k++) {
817
+ source = _ref4[_k];
710
818
  sources.push(new source(options));
711
819
  }
712
820
  Pace.bar = bar = new Bar;
@@ -715,6 +823,7 @@
715
823
  })();
716
824
 
717
825
  Pace.stop = function() {
826
+ Pace.trigger('stop');
718
827
  Pace.running = false;
719
828
  bar.destroy();
720
829
  cancelAnimation = true;
@@ -728,24 +837,27 @@
728
837
  };
729
838
 
730
839
  Pace.restart = function() {
840
+ Pace.trigger('restart');
731
841
  Pace.stop();
732
842
  return Pace.start();
733
843
  };
734
844
 
735
845
  Pace.go = function() {
846
+ var start;
736
847
  Pace.running = true;
737
848
  bar.render();
849
+ start = now();
738
850
  cancelAnimation = false;
739
851
  return animation = runAnimation(function(frameTime, enqueueNextFrame) {
740
- var avg, count, done, element, elements, i, j, remaining, scaler, scalerList, source, start, sum, _i, _j, _len, _len1, _ref1;
852
+ var avg, count, done, element, elements, i, j, remaining, scaler, scalerList, sum, _j, _k, _len1, _len2, _ref2;
741
853
  remaining = 100 - bar.progress;
742
854
  count = sum = 0;
743
855
  done = true;
744
- for (i = _i = 0, _len = sources.length; _i < _len; i = ++_i) {
856
+ for (i = _j = 0, _len1 = sources.length; _j < _len1; i = ++_j) {
745
857
  source = sources[i];
746
858
  scalerList = scalers[i] != null ? scalers[i] : scalers[i] = [];
747
- elements = (_ref1 = source.elements) != null ? _ref1 : [source];
748
- for (j = _j = 0, _len1 = elements.length; _j < _len1; j = ++_j) {
859
+ elements = (_ref2 = source.elements) != null ? _ref2 : [source];
860
+ for (j = _k = 0, _len2 = elements.length; _k < _len2; j = ++_k) {
749
861
  element = elements[j];
750
862
  scaler = scalerList[j] != null ? scalerList[j] : scalerList[j] = new Scaler(element);
751
863
  done &= scaler.done;
@@ -758,13 +870,14 @@
758
870
  }
759
871
  avg = sum / count;
760
872
  bar.update(uniScaler.tick(frameTime, avg));
761
- start = now();
762
873
  if (bar.done() || done || cancelAnimation) {
763
874
  bar.update(100);
875
+ Pace.trigger('done');
764
876
  return setTimeout(function() {
765
877
  bar.finish();
766
- return Pace.running = false;
767
- }, Math.max(options.ghostTime, Math.min(options.minTime, now() - start)));
878
+ Pace.running = false;
879
+ return Pace.trigger('hide');
880
+ }, Math.max(options.ghostTime, Math.max(options.minTime - (now() - start), 0)));
768
881
  } else {
769
882
  return enqueueNextFrame();
770
883
  }
@@ -782,6 +895,7 @@
782
895
  if (!document.querySelector('.pace')) {
783
896
  return setTimeout(Pace.start, 50);
784
897
  } else {
898
+ Pace.trigger('start');
785
899
  return Pace.go();
786
900
  }
787
901
  };
@@ -798,4 +912,4 @@
798
912
  }
799
913
  }
800
914
 
801
- }).call(this);
915
+ }).call(this);