@itcase/storybook-config 1.2.62 → 1.2.63

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.
@@ -3,6 +3,7 @@
3
3
  var _rollupPluginBabelHelpers = require('../../_rollupPluginBabelHelpers-Wvf9ehn_.js');
4
4
  var React = require('react');
5
5
 
6
+ var STABLE_TICKS = 2;
6
7
  function FormSubmitWrapper(props) {
7
8
  var formRef = React.useRef();
8
9
  var initialArgs = props.initialArgs,
@@ -18,25 +19,34 @@ function FormSubmitWrapper(props) {
18
19
  }
19
20
  var cancelled = false;
20
21
  var timeoutId;
22
+ var lastFieldCount = -1;
23
+ var stableTicks = 0;
21
24
  var _pollSubmit = function pollSubmit() {
22
- var _document$getElementB, _formRef$current$getR, _formRef$current, _formRef$current$getR2;
25
+ var _document$getElementB, _form$getRegisteredFi, _form$getRegisteredFi2;
23
26
  if (cancelled) {
24
27
  return;
25
28
  }
26
29
  var submitButton = (_document$getElementB = document.getElementById('storybook-root')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.querySelector('button[type="submit"]');
27
- var fieldCount = (_formRef$current$getR = (_formRef$current = formRef.current) === null || _formRef$current === void 0 || (_formRef$current$getR2 = _formRef$current.getRegisteredFields) === null || _formRef$current$getR2 === void 0 || (_formRef$current$getR2 = _formRef$current$getR2.call(_formRef$current)) === null || _formRef$current$getR2 === void 0 ? void 0 : _formRef$current$getR2.length) !== null && _formRef$current$getR !== void 0 ? _formRef$current$getR : 0;
28
- var isReady = submitButton && (!formRef.current || fieldCount > 0);
29
- if (!isReady) {
30
+ var form = formRef.current;
31
+ var fieldCount = (_form$getRegisteredFi = form === null || form === void 0 || (_form$getRegisteredFi2 = form.getRegisteredFields) === null || _form$getRegisteredFi2 === void 0 || (_form$getRegisteredFi2 = _form$getRegisteredFi2.call(form)) === null || _form$getRegisteredFi2 === void 0 ? void 0 : _form$getRegisteredFi2.length) !== null && _form$getRegisteredFi !== void 0 ? _form$getRegisteredFi : 0;
32
+ if (!submitButton || !form || fieldCount === 0) {
33
+ lastFieldCount = -1;
34
+ stableTicks = 0;
30
35
  timeoutId = setTimeout(_pollSubmit, 0);
31
36
  return;
32
37
  }
33
- timeoutId = setTimeout(function () {
34
- var _formRef$current$subm, _formRef$current2, _formRef$current2$sub;
35
- if (cancelled) {
36
- return;
37
- }
38
- (_formRef$current$subm = (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 || (_formRef$current2$sub = _formRef$current2.submit) === null || _formRef$current2$sub === void 0 ? void 0 : _formRef$current2$sub.call(_formRef$current2)) !== null && _formRef$current$subm !== void 0 ? _formRef$current$subm : submitButton.click();
39
- }, 100);
38
+ if (fieldCount !== lastFieldCount) {
39
+ lastFieldCount = fieldCount;
40
+ stableTicks = 0;
41
+ timeoutId = setTimeout(_pollSubmit, 0);
42
+ return;
43
+ }
44
+ stableTicks += 1;
45
+ if (stableTicks < STABLE_TICKS) {
46
+ timeoutId = setTimeout(_pollSubmit, 0);
47
+ return;
48
+ }
49
+ submitButton.click();
40
50
  };
41
51
  timeoutId = setTimeout(_pollSubmit, 0);
42
52
  return function () {
@@ -1,6 +1,7 @@
1
1
  import { _ as _objectSpread2 } from '../_rollupPluginBabelHelpers-BsYN8Oir.js';
2
2
  import React__default, { useRef, useEffect } from 'react';
3
3
 
4
+ var STABLE_TICKS = 2;
4
5
  function FormSubmitWrapper(props) {
5
6
  var formRef = useRef();
6
7
  var initialArgs = props.initialArgs,
@@ -16,25 +17,34 @@ function FormSubmitWrapper(props) {
16
17
  }
17
18
  var cancelled = false;
18
19
  var timeoutId;
20
+ var lastFieldCount = -1;
21
+ var stableTicks = 0;
19
22
  var _pollSubmit = function pollSubmit() {
20
- var _document$getElementB, _formRef$current$getR, _formRef$current, _formRef$current$getR2;
23
+ var _document$getElementB, _form$getRegisteredFi, _form$getRegisteredFi2;
21
24
  if (cancelled) {
22
25
  return;
23
26
  }
24
27
  var submitButton = (_document$getElementB = document.getElementById('storybook-root')) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.querySelector('button[type="submit"]');
25
- var fieldCount = (_formRef$current$getR = (_formRef$current = formRef.current) === null || _formRef$current === void 0 || (_formRef$current$getR2 = _formRef$current.getRegisteredFields) === null || _formRef$current$getR2 === void 0 || (_formRef$current$getR2 = _formRef$current$getR2.call(_formRef$current)) === null || _formRef$current$getR2 === void 0 ? void 0 : _formRef$current$getR2.length) !== null && _formRef$current$getR !== void 0 ? _formRef$current$getR : 0;
26
- var isReady = submitButton && (!formRef.current || fieldCount > 0);
27
- if (!isReady) {
28
+ var form = formRef.current;
29
+ var fieldCount = (_form$getRegisteredFi = form === null || form === void 0 || (_form$getRegisteredFi2 = form.getRegisteredFields) === null || _form$getRegisteredFi2 === void 0 || (_form$getRegisteredFi2 = _form$getRegisteredFi2.call(form)) === null || _form$getRegisteredFi2 === void 0 ? void 0 : _form$getRegisteredFi2.length) !== null && _form$getRegisteredFi !== void 0 ? _form$getRegisteredFi : 0;
30
+ if (!submitButton || !form || fieldCount === 0) {
31
+ lastFieldCount = -1;
32
+ stableTicks = 0;
28
33
  timeoutId = setTimeout(_pollSubmit, 0);
29
34
  return;
30
35
  }
31
- timeoutId = setTimeout(function () {
32
- var _formRef$current$subm, _formRef$current2, _formRef$current2$sub;
33
- if (cancelled) {
34
- return;
35
- }
36
- (_formRef$current$subm = (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 || (_formRef$current2$sub = _formRef$current2.submit) === null || _formRef$current2$sub === void 0 ? void 0 : _formRef$current2$sub.call(_formRef$current2)) !== null && _formRef$current$subm !== void 0 ? _formRef$current$subm : submitButton.click();
37
- }, 100);
36
+ if (fieldCount !== lastFieldCount) {
37
+ lastFieldCount = fieldCount;
38
+ stableTicks = 0;
39
+ timeoutId = setTimeout(_pollSubmit, 0);
40
+ return;
41
+ }
42
+ stableTicks += 1;
43
+ if (stableTicks < STABLE_TICKS) {
44
+ timeoutId = setTimeout(_pollSubmit, 0);
45
+ return;
46
+ }
47
+ submitButton.click();
38
48
  };
39
49
  timeoutId = setTimeout(_pollSubmit, 0);
40
50
  return function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/storybook-config",
3
- "version": "1.2.62",
3
+ "version": "1.2.63",
4
4
  "author": "ITCase",
5
5
  "description": "Storybook configuration package",
6
6
  "engines": {