@glitchr/transparent 1.0.51 → 1.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glitchr/transparent",
3
- "version": "1.0.51",
3
+ "version": "1.0.53",
4
4
  "description": "Transparent SPA Application",
5
5
  "main": "src/index.js",
6
6
  "access": "public",
@@ -425,6 +425,8 @@
425
425
  else console.debug("Transparent is running..");
426
426
  }
427
427
 
428
+ if(!isReady) dispatchEvent(new Event('transparent:'+Transparent.state.FIRST));
429
+
428
430
  isReady = true;
429
431
 
430
432
  dispatchEvent(new Event('transparent:'+Transparent.state.READY));
@@ -832,29 +834,30 @@
832
834
  Transparent.callback(function() {
833
835
 
834
836
  Transparent.html.removeClass(Transparent.state.ACTIVEOUT);
835
- if(!Transparent.html.hasClass(Transparent.state.POSTACTIVE)){
836
-
837
- Transparent.html.removeClass(Transparent.state.POSTACTIVE);
838
- dispatchEvent(new Event('transparent:'+Transparent.state.POSTACTIVE));
839
- }
840
-
841
837
  if(Transparent.html.hasClass(Transparent.state.LOADING)) {
842
838
 
843
- dispatchEvent(new Event('transparent:load'));
839
+ dispatchEvent(new Event('transparent:'+Transparent.state.LOAD));
844
840
 
845
841
  Object.values(Transparent.state).forEach(e => Transparent.html.removeClass(e));
846
842
  Transparent.html.addClass(Transparent.state.ROOT + " " + Transparent.state.READY);
847
-
848
- } else {
849
-
850
- Transparent.html.removeClass(Transparent.state.POSTACTIVE);
851
843
  }
844
+
845
+ Transparent.html.addClass(Transparent.state.POSTACTIVE);
846
+
847
+ var active = Transparent.activeTime();
848
+ Transparent.callback(function() {
849
+
850
+ Transparent.html.removeClass(Transparent.state.POSTACTIVE);
851
+ dispatchEvent(new Event('transparent:'+Transparent.state.POSTACTIVE));
852
852
 
853
+ }, active.duration+active.delay);
854
+
853
855
  }, active.duration);
854
856
 
855
857
  }.bind(this), active.delay);
856
858
  }
857
859
 
860
+
858
861
  Transparent.replaceCanvases = function(dom) {
859
862
 
860
863
  // Extract existing canvas to avoid redrawing them.. (time consuming)
@@ -1454,6 +1457,7 @@
1454
1457
  e.type != Transparent.state.HASHCHANGE && !$(this).find(Settings.identifier).length) return;
1455
1458
 
1456
1459
  var form = target != undefined && target.tagName == "FORM" ? target : undefined;
1460
+ var formTrigger = undefined;
1457
1461
  formSubmission = false;
1458
1462
 
1459
1463
  if (form) {
@@ -1464,7 +1468,7 @@
1464
1468
  var formInput = undefined; // In case of form ambiguity (two form with same name, restrict the data to the target form, if not extends it to each element with standard name)
1465
1469
  if(formAmbiguity) formInput = $(form).find(":input, [name^='"+form.name+"\[']");
1466
1470
  else formInput = $("form[name='"+form.name+"'] :input, [name^='"+form.name+"\[']");
1467
-
1471
+
1468
1472
  formInput.each(function() {
1469
1473
 
1470
1474
  if(this.tagName == "BUTTON") {
@@ -1481,7 +1485,7 @@
1481
1485
 
1482
1486
  // Force page reload
1483
1487
  formSubmission = true; // mark as form submission
1484
-
1488
+ formTrigger = e.target;
1485
1489
  if ($(e.target).hasClass(Transparent.state.RELOAD)) return;
1486
1490
  if ($(form).hasClass(Transparent.state.RELOAD)) return;
1487
1491
 
@@ -1691,8 +1695,7 @@
1691
1695
  $(Transparent.html).prop("user-scroll", false); // make sure to avoid page jump during transition (cancelled in activeIn callback)
1692
1696
 
1693
1697
  // Submit ajax request..
1694
- if(form) form.dispatchEvent(new Event("submit"));
1695
-
1698
+ if(form) form.dispatchEvent(new SubmitEvent("submit", { submitter: formTrigger }));
1696
1699
  var xhr = new XMLHttpRequest();
1697
1700
  return jQuery.ajax({
1698
1701
  url: url.href,